Contacts v0.2.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Contacts manages contact information for people within the Apiture Banking APIs.
Download OpenAPI Definition (YAML)
Base URLs:
API
Endpoints which describe this API.
getApi
Code samples
# You can also use wget
curl -X GET /contacts/ \
-H 'Accept: application/hal+json'
GET /contacts/ HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/contacts/',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/contacts/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.get '/contacts/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.get('/contacts/', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/contacts/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Top-level resources and operations in this API
GET /
Return links to the top-level resources and operations in this API. This API provides the following links in the _links
object:
apiture:contacts
-- links to thecontacts
collectionapiture:createContact
-- links to a POST operation to create a new contact
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
"_links": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: root |
getApiDoc
Code samples
# You can also use wget
curl -X GET /contacts/apiDoc \
-H 'Accept: application/json'
GET /contacts/apiDoc HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: '/contacts/apiDoc',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('/contacts/apiDoc',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/contacts/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/contacts/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/apiDoc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/contacts/apiDoc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return API definition document
GET /apiDoc
Return the OpenAPI document that describes this API.
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: Inline |
Response Schema
Contact
Contact data for individuals.
getContacts
Code samples
# You can also use wget
curl -X GET /contacts/contacts \
-H 'Accept: application/hal+json'
GET /contacts/contacts HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/contacts/contacts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/contacts/contacts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.get '/contacts/contacts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.get('/contacts/contacts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/contacts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/contacts/contacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of contacts
GET /contacts
Return a paginated sortable filterable searchable collection of contacts. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first contact item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of contact representations to return in this page. |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "http://api.apiture.com/schemas/contacts/contacts/v0.1.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "contacts",
"_links": {
"self": {
"href": "/contacts/contacts?start=10&limit=10"
},
"first": {
"href": "/contacts/contacts?start=0&limit=10"
},
"next": {
"href": "/contacts/contacts?start=20&limit=10"
},
"collection": {
"href": "/contacts/contacts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "111-11-1111",
"type": "taxId"
}
],
"emailAddresses": [
"api@apiture.com",
"support@apiture.com"
],
"phones": [
{
"type": "home",
"number": "(555) 555-5555"
},
{
"type": "mobile",
"number": "(999) 555-5555"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"status": "citizen"
}
],
"occupation": "Software Engineer",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": 3,
"mailingDifferentAddress": false,
"kycAnswers": {
"citizen": true,
"permanentResident": true,
"w9Withholdings": false,
"employmentStatus": "employed",
"occupation": "Software Engineer",
"foreignPoliticalFigure": false,
"countryPoliticalFigure": "N/A",
"familyOfPoliticalFigure": false
},
"state": "active"
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contacts | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createContact
Code samples
# You can also use wget
curl -X POST /contacts/contacts \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json'
POST /contacts/contacts HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
$.ajax({
url: '/contacts/contacts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "http://api.apiture.com/schemas/basePath/contact/v1.0.0/profile.json"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
fetch('/contacts/contacts',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json'
}
result = RestClient.post '/contacts/contacts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json'
}
r = requests.post('/contacts/contacts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/contacts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/contacts/contacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new contact
POST /contacts
Create a new contact in the contacts collection.
Body parameter
{
"_profile": "http://api.apiture.com/schemas/basePath/contact/v1.0.0/profile.json"
}
Parameters
Parameter | Description |
---|---|
body (body) |
createContact (required) The data necessary to create a new contact. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
201 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: contact | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
getContact
Code samples
# You can also use wget
curl -X GET /contacts/contacts/{contactId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string'
GET /contacts/contacts/{contactId} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
$.ajax({
url: '/contacts/contacts/{contactId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
fetch('/contacts/contacts/{contactId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-None-Match' => 'string'
}
result = RestClient.get '/contacts/contacts/{contactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string'
}
r = requests.get('/contacts/contacts/{contactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/contacts/{contactId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"If-None-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/contacts/contacts/{contactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this contact
GET /contacts/{contactId}
Return a HAL representation of this contact resource.
Parameters
Parameter | Description |
---|---|
contactId (path) |
string (required) The unique identifier of this contact. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. | |
404 | Not Found |
Not Found. There is no such contact resource at the specified {contactId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
updateContact
Code samples
# You can also use wget
curl -X PUT /contacts/contacts/{contactId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
PUT /contacts/contacts/{contactId} HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/contacts/contacts/{contactId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/contacts/contacts/{contactId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.put '/contacts/contacts/{contactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.put('/contacts/contacts/{contactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/contacts/{contactId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/contacts/contacts/{contactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this contact
PUT /contacts/{contactId}
Perform a complete replacement of this contact.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}
Parameters
Parameter | Description |
---|---|
contactId (path) |
string (required) The unique identifier of this contact. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
updateContact (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
404 | Not Found |
Not Found. There is no such contact resource at the specified {contactId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
patchContact
Code samples
# You can also use wget
curl -X PATCH /contacts/contacts/{contactId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
PATCH /contacts/contacts/{contactId} HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/contacts/contacts/{contactId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/contacts/contacts/{contactId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.patch '/contacts/contacts/{contactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.patch('/contacts/contacts/{contactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/contacts/{contactId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/contacts/contacts/{contactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this contact
PATCH /contacts/{contactId}
Perform a partial update of this contact. Fields which are omitted are not updated. Nested _embedded
and _links
are ignored if included.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}
Parameters
Parameter | Description |
---|---|
contactId (path) |
string (required) The unique identifier of this contact. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
updateContact (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
404 | Not Found |
Not Found. There is no such contact resource at the specified {contactId} . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
activateContact
Code samples
# You can also use wget
curl -X POST /contacts/activeContacts?contact=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /contacts/activeContacts?contact=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/contacts/activeContacts',
method: 'post',
data: '?contact=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/contacts/activeContacts?contact=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/contacts/activeContacts',
params: {
'contact' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/contacts/activeContacts', params={
'contact': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/activeContacts?contact=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/contacts/activeContacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Activate a contact.
POST /activeContacts
Activate a contact from an inactive state.
This operation is invoked from the apiture:activate
link on a contact resource when that contact is eligible to be activated. This operation is only allowed if the state is inactive
.
This changes the state
to active
.
Parameters
Parameter | Description |
---|---|
contact (query) |
string (required) A string which identifies an existing contact to activate, deactivate, or remove by POST ing it to the corresponding resource set. The server supplies this value in a link within the representation of a contact. The value may be a {contactId} or a contact URI. |
contactUri (query) |
string The URI of an existing contact which is eligible to be activated. This parameter is deprecated. Use the ?contact= query parameter instead. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
400 | Bad Request |
Bad Request. The contact or contactUri was malformed or does not refer to a contact. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. There is no such contact resource at the specified
| |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
deactivateContact
Code samples
# You can also use wget
curl -X POST /contacts/inactiveContacts?contact=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /contacts/inactiveContacts?contact=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/contacts/inactiveContacts',
method: 'post',
data: '?contact=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/contacts/inactiveContacts?contact=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/contacts/inactiveContacts',
params: {
'contact' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/contacts/inactiveContacts', params={
'contact': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/inactiveContacts?contact=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/contacts/inactiveContacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Deactivate a contact.
POST /inactiveContacts
Deactivate a contact from an active state.
This operation is invoked from the apiture:deactivate
link on a contact resource when that contact is eligible to be deactivated. This operation is only allowed if the state is active
.
This changes the state
to inactive
.
Parameters
Parameter | Description |
---|---|
contact (query) |
string (required) A string which identifies an existing contact to activate, deactivate, or remove by POST ing it to the corresponding resource set. The server supplies this value in a link within the representation of a contact. The value may be a {contactId} or a contact URI. |
contactUri (query) |
string The URI of an existing contact which is eligible to be activated. This parameter is deprecated. Use the ?contact= query parameter instead. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
400 | Bad Request |
Bad Request. The contact or contactUri was malformed or does not refer to a contact. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. There is no such contact resource at the specified
| |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
removeContact
Code samples
# You can also use wget
curl -X POST /contacts/removedContacts?contact=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /contacts/removedContacts?contact=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/contacts/removedContacts',
method: 'post',
data: '?contact=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/contacts/removedContacts?contact=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/contacts/removedContacts',
params: {
'contact' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/contacts/removedContacts', params={
'contact': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/contacts/removedContacts?contact=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/contacts/removedContacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Remove a contact.
POST /removedContacts
Remove a contact by setting its state to removed
.
This operation is invoked from the apiture:remove
link on a contact resource when that contact is eligible to be removed. The contact must not be in use (there may not be any active associations to the contact.) This operation is only allowed if the state is inactive
.
This changes the state
to removed
.
Parameters
Parameter | Description |
---|---|
contact (query) |
string (required) A string which identifies an existing contact to activate, deactivate, or remove by POST ing it to the corresponding resource set. The server supplies this value in a link within the representation of a contact. The value may be a {contactId} or a contact URI. |
contactUri (query) |
string The URI of an existing contact which is eligible to be activated. This parameter is deprecated. Use the ?contact= query parameter instead. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: contact | |
400 | Bad Request |
Bad Request. The contact or contactUri was malformed or does not refer to a contact. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. There is no such contact resource at the specified
| |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this contact resource. |
Schemas
contactFields
{
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "111-11-1111",
"type": "taxId"
}
],
"emailAddresses": [
"api@apiture.com",
"support@apiture.com"
],
"phones": [
{
"type": "home",
"number": "(555) 555-5555"
},
{
"type": "mobile",
"number": "(999) 555-5555"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"status": "citizen"
}
],
"occupation": "Software Engineer",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": 3,
"mailingDifferentAddress": false,
"kycAnswers": {
"citizen": true,
"permanentResident": true,
"w9Withholdings": false,
"employmentStatus": "employed",
"occupation": "Software Engineer",
"foreignPoliticalFigure": false,
"countryPoliticalFigure": "N/A",
"familyOfPoliticalFigure": false
},
"state": "active"
}
Contact Fields
Properties
Schema Name | Description |
---|---|
firstName | string The contact's first name (or given name) |
middleName | string The contact's middle name |
lastName | string The contact's last name (or surname) |
preferredName | string The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's firstName . |
identification | [object] A collection of official identifying information associated with the contact. This currently only supports government tax ID. |
value | string (required) The value of this form of identification (the tax ID as a string, for example) |
type | string (required) The type of this form of identification. Supported types include taxId and passportNumber. |
expiration | string(date) The date when the form of identification expires. |
addresses | [address] An array of postal mailing addresses for this contact. |
yearsAtAddress | string The contact's years at current home address |
mailingDifferentAddress | boolean The contact is handling a different address for mailing |
phones | [object] A collection of phone numbers associated with the contact. |
type | string The type of phone number this represents. |
number | string The phone number, as a string. |
emailAddresses | [string] An array of email addresses associated with the contact. The first item, if present, is the default (preferred) contact email. |
kycAnswers | object An object that contains the answers to kyc questions. These will be toggle-able and configurable in the future. |
birthdate | string(date) The contact's birth date in YYYY-MM-DD format. |
citizenship | [object] The contact's citizenship or nationality status. |
countryCode | string (required) The ISO 3166-1 country code for the contact's citizenship. minLength: 2 maxLength: 2 |
state | string (required) The contact's citizenship status (values TBD). |
occupation | string undefined |
state | string The state of this contact. |
Enumerated Values
Property | Value |
---|---|
type | taxId |
type | passportNumber |
type | home |
type | work |
type | mobile |
type | other |
state | citizen |
state | other |
state | inactive |
state | active |
state | merged |
state | removed |
address
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
}
Address
Properties
Schema Name | Description |
---|---|
type | string undefined |
label | string A text label, suitable for presentation to the end user. This is also used if type is other . |
addressLine1 | string The first street address line of the address, normally a house number and street name. |
addressLine2 | string The optional second street address line of the address. |
city | string The name of the city or municipality. |
regionCode | string The mailing address region code, such as state in the US, or a province in Canada. |
postalCode | string The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code. |
countryCode | string The ISO 3166-1 country code. minLength: 2 maxLength: 2 |
addressId | any Identifier for address in finxact |
Enumerated Values
Property | Value |
---|---|
type | home |
type | work |
type | school |
type | other |
createContact
{
"_profile": "http://api.apiture.com/schemas/basePath/contact/v1.0.0/profile.json"
}
Create Contact
Properties
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | contactFields Common fields of the contact resource used to build other model schemas. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
attributes | object An optional map of name/value pairs which provide additional metadata about the contact. |
summaryContact
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
}
}
Contact Summary
Properties
Schema Name | Description |
---|---|
Contact Summary | any Summary representation of a contact resource in contacts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | contactFields Common fields of the contact resource used to build other model schemas. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_id | string The unique identifier for this contact resource. This is an immutable opaque string. |
updateContact
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}
Update Contact
Properties
Schema Name | Description |
---|---|
Update Contact | any Representation used to update or patch a contact. |
allOf
Schema Name | Description |
---|---|
anonymous | summaryContact Summary representation of a contact resource in contacts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
attributes | object An optional map of name/value pairs which provide additional metadata about the contact. |
contact
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"createdAt": "2018-04-17T10:04:46.375Z",
"updatedAt": "2018-04-17T10:12:58.375Z",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:deactivate": {
"href": "/contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {}
}
Contact
Properties
Schema Name | Description |
---|---|
Contact | any Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual. |
allOf
Schema Name | Description |
---|---|
anonymous | updateContact Representation used to update or patch a contact. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
createdAt | string(date-time) The date-time when the contact was created. |
updatedAt | string(date-time) The date-time when the contact was updated |
contacts
{
"_profile": "http://api.apiture.com/schemas/contacts/contacts/v0.1.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "contacts",
"_links": {
"self": {
"href": "/contacts/contacts?start=10&limit=10"
},
"first": {
"href": "/contacts/contacts?start=0&limit=10"
},
"next": {
"href": "/contacts/contacts?start=20&limit=10"
},
"collection": {
"href": "/contacts/contacts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "http://api.apiture.com/schemas/contacts/contact/v0.1.0/profile.json",
"_links": {
"self": {
"href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"firstName": "John",
"middleName": "Daniel",
"lastName": "Smith",
"preferredName": "John",
"identification": [
{
"value": "111-11-1111",
"type": "taxId"
}
],
"emailAddresses": [
"api@apiture.com",
"support@apiture.com"
],
"phones": [
{
"type": "home",
"number": "(555) 555-5555"
},
{
"type": "mobile",
"number": "(999) 555-5555"
}
],
"birthdate": "1974-10-27",
"citizenship": [
{
"countryCode": "US",
"status": "citizen"
}
],
"occupation": "Software Engineer",
"addresses": [
{
"type": "home",
"addressLine1": "555 N Front Street",
"addressLine2": "Suite 5555",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28401-5405",
"countryCode": "US"
},
{
"type": "work",
"addressLine1": "123 S 3rd Street",
"addressLine2": "Apt 42",
"city": "Wilmington",
"regionCode": "NC",
"postalCode": "28411-5405",
"countryCode": "US"
}
],
"yearsAtAddress": 3,
"mailingDifferentAddress": false,
"kycAnswers": {
"citizen": true,
"permanentResident": true,
"w9Withholdings": false,
"employmentStatus": "employed",
"occupation": "Software Engineer",
"foreignPoliticalFigure": false,
"countryPoliticalFigure": "N/A",
"familyOfPoliticalFigure": false
},
"state": "active"
}
]
}
}
Contact Collection
Properties
Schema Name | Description |
---|---|
Contact Collection | any Collection of contacts. The items in the collection are ordered in the _embedded.items array; the name is contacts . The top-level _links object may contain pagination links (self , next , prev , first , last , collection .) |
allOf
Schema Name | Description |
---|---|
anonymous | collection A collection of resources. This is an abstract model schema which is extended to define specific resource collections. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_embedded | object undefined |
items | [summaryContact] An array containing a page of contact items. |
abstractResource
{
"_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Resource
Properties
Schema Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. |
additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
"_links": {}
}
API Root
Properties
Schema Name | Description |
---|---|
API Root | any A HAL response, with hypermedia _links for the top-level resources and operations in API. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_id | string This API's unique ID. |
name | string This API's name. |
apiVersion | string This API's version. |
errorResponse
{
"_profile": "http://api.apiture.com/schemas/error/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/profile.json",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2019-01-31T13:31:40.604Z",
"_links": {
"describedby": {
"href": "http://doc.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response
Properties
Schema Name | Description |
---|---|
Error Response | abstractResource Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details. |
error
{
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/profile.json",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "http://doc.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
Error
Properties
Schema Name | Description |
---|---|
message | string (required) A localized message string describing the error condition. |
_id | string A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. |
statusCode | integer The HTTP status code associate with this error. minimum: 100 maximum: 599 |
type | string An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet . |
occurredAt | string(date-time) An ISO 8601 UTC time stamp indicating when the error occurred. |
attributes | attributes Data attribute associated with the error, such as values or constraints. |
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
_embedded | object Optional embedded array of errors. This field may not exist if the error does not have nested errors. |
items | [errorResponse] An array of error objects. |
attributes
{}
Attributes
Properties
No properties
link
{
"href": "http://example.com",
"type": "string",
"templated": true,
"title": "string",
"deprecation": "http://example.com",
"profile": "http://example.com"
}
Link
Properties
Schema Name | Description |
---|---|
href | string(uri) (required) The URI or URI template for the resource/operation this link refers to. |
type | string The media type for the resource. |
templated | boolean If true, the link's href is a URI template. |
title | string An optional human-readable localized title for the link. |
deprecation | string(uri) If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. |
profile | string(uri) The URI of a profile document, a JSON document which describes the target resource/operation. |
collection
{
"_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
"_links": {
"self": {
"href": "{uri of current resource}"
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Collection
Properties
Schema Name | Description |
---|---|
Collection | any A collection of resources. This is an abstract model schema which is extended to define specific resource collections. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
count | integer The number of items in the full collection. |
start | integer The start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string The name of the collection. |