NAV Navigation
Shell HTTP JavaScript Node.JS Ruby Python Java Go

Contacts v0.7.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:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
profiles/read Read access to user and contact related resources.
profiles/write Write (update) access to user and contact related resources.
profiles/delete Delete access to user and contact related resources.
profiles/readPii Read access to perssonally identifiable information such as tax ID numbers, phone numbers, email and postal addresses. This must be granted in addition to the profiles/read scope in order to read such data, but is included in the profiles/full scope.
profiles/full Full access to user and contact related resources.

API

Endpoints which describe this API.

getApi

Code samples

# You can also use wget
curl -X GET /contacts/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET /contacts/ HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.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',
  'API-Key':'API_KEY'

};

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',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/contacts/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY'
}

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"},
        "API-Key": []string{"API_KEY"},
        
    }

    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:

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

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET /contacts/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET /contacts/apiDoc HTTP/1.1

Accept: application/json

var headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

$.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',
  'API-Key':'API_KEY'

};

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',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/contacts/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'API-Key': 'API_KEY'
}

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"},
        "API-Key": []string{"API_KEY"},
        
    }

    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.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

getLabels

Code samples

# You can also use wget
curl -X GET /contacts/labels \
  -H 'Accept: application/hal+json' \
  -H 'Accept-Language: string' \
  -H 'API-Key: API_KEY'

GET /contacts/labels HTTP/1.1

Accept: application/hal+json
Accept-Language: string

var headers = {
  'Accept':'application/hal+json',
  'Accept-Language':'string',
  'API-Key':'API_KEY'

};

$.ajax({
  url: '/contacts/labels',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Accept-Language':'string',
  'API-Key':'API_KEY'

};

fetch('/contacts/labels',
{
  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',
  'Accept-Language' => 'string',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/contacts/labels',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Accept-Language': 'string',
  'API-Key': 'API_KEY'
}

r = requests.get('/contacts/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("/contacts/labels");
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"},
        "Accept-Language": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/contacts/labels", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Localized Labels

GET /labels

Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API.

The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

Parameter Description
Accept-Language
(header)
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Example responses

200 Response

{
  "property1": {
    "label": "Limited Liability Corporation",
    "description": "string",
    "language": "en-us",
    "code": "31"
  },
  "property2": {
    "label": "Limited Liability Corporation",
    "description": "string",
    "language": "en-us",
    "code": "31"
  }
}

Responses

StatusDescription
200 OK
OK
Schema: localizedLabels

Contact

Contact data for individuals.

getContacts

Code samples

# You can also use wget
curl -X GET /contacts/contacts \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /contacts/contacts HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/contacts/contacts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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.

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/contacts/contacts/v1.0.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": "https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "preferredName": "John",
        "suffix": "MD",
        "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

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/contacts/contacts',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://api.apiture.com/schemas/basePath/contact/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/contacts/contacts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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": "https://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.

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/contacts/contacts/{contactId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

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',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

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)
contact (required)

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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

Response Headers

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

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',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

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.
state
(query)
string
Subset the accounts or external accounts collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=pending will match only items whose state is pending; ?state=removed|inactive will match items whose state is removed or inactive. This is combined with an implicit and with other filters if they are used. See filtering.
Enumerated values:
pending
active
inactive
removed
occupation
(query)
string
Subset the accounts or external accounts collection to those with this name value. Use
body
(body)
contact (required)

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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

Response Headers

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /contacts/activeContacts?contact=string HTTP/1.1

Accept: application/hal+json
If-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/contacts/activeContacts',
  params: {
  'contact' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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 POSTing 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.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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 {contactId}. The _error field in the response will contain details about the request error. Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • A contact with the associated taxId already exists
  • The state of a removed contact may not be changed.
  • The state of an active contact may not be changed to removed.
  • The state cannot be updated via a PUT or POST request. Please use the appropriate endpoint to change the state.
  • Some key fields of the contact record may not be changed or removed, such as their taxId
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

Response Headers

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /contacts/inactiveContacts?contact=string HTTP/1.1

Accept: application/hal+json
If-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/contacts/inactiveContacts',
  params: {
  'contact' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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 POSTing 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.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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 {contactId}. The _error field in the response will contain details about the request error. Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • A contact with the associated taxId already exists
  • The state of a removed contact may not be changed.
  • The state of an active contact may not be changed to removed.
  • The state cannot be updated via a PUT or POST request. Please use the appropriate endpoint to change the state.
  • Some key fields of the contact record may not be changed or removed, such as their taxId
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

Response Headers

StatusDescription
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' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /contacts/removedContacts?contact=string HTTP/1.1

Accept: application/hal+json
If-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.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',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/contacts/removedContacts',
  params: {
  'contact' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    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 POSTing 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.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Responses

StatusDescription
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 {contactId}. The _error field in the response will contain details about the request error. Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • A contact with the associated taxId already exists
  • The state of a removed contact may not be changed.
  • The state of an active contact may not be changed to removed.
  • The state cannot be updated via a PUT or POST request. Please use the appropriate endpoint to change the state.
  • Some key fields of the contact record may not be changed or removed, such as their taxId
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

Response Headers

StatusDescription
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

kycAnswers

{
  "foreignPoliticalFigure": false,
  "foreignPoliticalFigureCountry": "st",
  "foreignPoliticalFigureAssociation": "unknown"
}

Know Your Customer Answers

Answers to 'Know Your Customer' questions which allow financial institutions to conform to a customer identification program.

Properties

NameDescription
foreignPoliticalFigure boolean
true if the person is a foreign senior political figure.
foreignPoliticalFigureCountry string
If the person is a foreign senior political figure, this is the foreign country ISO 3166-1 country code. This field is omitted if foreignPoliticalFigure is false.
maxLength: 2
foreignPoliticalFigureAssociation string
The type of association to a foreign political figure.


Enumerated values:
unknown
closeAssociate
familyMember
none
other
notApplicable

contactFields

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "preferredName": "John",
  "suffix": "MD",
  "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"
    }
  ],
  "identityVerificationStatus": "verified",
  "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

Common fields of the contact resource used to build other model schemas.

Properties

NameDescription
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)
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as Dr. or Fr.
maxLength: 20
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.


Enumerated values:
taxId
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 (required)
The type of phone number this represents.


Enumerated values:
unknown
home
work
mobile
other

» number string (required)
The phone number, as a string.
» label string
A text label, suitable for presentation to the end user. This is also used if type is other.
emailAddresses [typedEmailAddress]
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.


Enumerated values:
citizen
other

identityVerificationStatus string
The identity verification status for this contact. This field is readonly and is derived from the results of any identity verification processes executed against the PII contained in this record.
read-only


Enumerated values:
verified
unverified

occupation string
The occupation of this contact.


Enumerated values:
unknown
academia
architecture
artsDesign
buildingServices
businessAndFinancialOperations
childCare
communityAndSocialServices
computer
construction
education
energy
engineering
entertainment
farming
fishing
foodService
forestry
healthcare
hospitality
installationMaintenanceRepair
legal
localGovernment
management
media
military
nationalGovernment
nonProfit
officeAndAdministrationSupport
personalCare
production
protectiveServices
research
sales
sciences
sports
stateGovernment
technology
tourism
trade
transportation
notApplicable
unemployed
other

otherOccupation string
The actual occupation of this contact if their occupation is other. This is ignored if occupation is not other.
minLength: 4
maxLength: 32
state string
The state of this contact.


Enumerated values:
inactive
active
merged
removed

employmentStatus

"unknown"

Employment Status

The employment status of a contact, located in kycAnswers.

Properties

No properties

typedEmailAddress

{
  "value": "JohnBankCustomer@example.com",
  "type": "unknown"
}

Email Address

An email address and the email address type.

Properties

NameDescription
value string(email)
The email address, such as JohnBankCustomer@example.com
minLength: 8
maxLength: 120
type string
The kind of email address this is.


Enumerated values:
unknown
personal
work
school
other
notApplicable

address

{
  "type": "home",
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US"
}

Address

A postal address.

Properties

NameDescription
type string (required)
The type of this address.


Enumerated values:
unknown
home
work
school
postOffice
vacation
shipping
billing
headquarters
commercial
property
other
notApplicable

label string
A text label, suitable for presentation to the end user. This is derived from type or from otherType if type is other
read-only
otherType string
The actual address type if type is other.
minLength: 4
maxLength: 32
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

createContact

{
  "_profile": "https://api.apiture.com/schemas/basePath/contact/v1.0.0/profile.json"
}

Create Contact

Representation used to create a new contact.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
firstName string
The contact's first name (or given name)
middleName string
The contact's middle name
lastName string (required)
The contact's last name (or surname)
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as Dr. or Fr.
maxLength: 20
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.


Enumerated values:
taxId
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 (required)
The type of phone number this represents.


Enumerated values:
unknown
home
work
mobile
other

» number string (required)
The phone number, as a string.
» label string
A text label, suitable for presentation to the end user. This is also used if type is other.
emailAddresses [typedEmailAddress]
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.


Enumerated values:
citizen
other

identityVerificationStatus string
The identity verification status for this contact. This field is readonly and is derived from the results of any identity verification processes executed against the PII contained in this record.
read-only


Enumerated values:
verified
unverified

occupation string
The occupation of this contact.


Enumerated values:
unknown
academia
architecture
artsDesign
buildingServices
businessAndFinancialOperations
childCare
communityAndSocialServices
computer
construction
education
energy
engineering
entertainment
farming
fishing
foodService
forestry
healthcare
hospitality
installationMaintenanceRepair
legal
localGovernment
management
media
military
nationalGovernment
nonProfit
officeAndAdministrationSupport
personalCare
production
protectiveServices
research
sales
sciences
sports
stateGovernment
technology
tourism
trade
transportation
notApplicable
unemployed
other

otherOccupation string
The actual occupation of this contact if their occupation is other. This is ignored if occupation is not other.
minLength: 4
maxLength: 32
state string
The state of this contact.


Enumerated values:
inactive
active
merged
removed

attributes object
An optional map of name/value pairs which provide additional metadata about the contact.

summaryContact

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Contact Summary

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.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
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)
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as Dr. or Fr.
maxLength: 20
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.


Enumerated values:
taxId
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 (required)
The type of phone number this represents.


Enumerated values:
unknown
home
work
mobile
other

» number string (required)
The phone number, as a string.
» label string
A text label, suitable for presentation to the end user. This is also used if type is other.
emailAddresses [typedEmailAddress]
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.


Enumerated values:
citizen
other

identityVerificationStatus string
The identity verification status for this contact. This field is readonly and is derived from the results of any identity verification processes executed against the PII contained in this record.
read-only


Enumerated values:
verified
unverified

occupation string
The occupation of this contact.


Enumerated values:
unknown
academia
architecture
artsDesign
buildingServices
businessAndFinancialOperations
childCare
communityAndSocialServices
computer
construction
education
energy
engineering
entertainment
farming
fishing
foodService
forestry
healthcare
hospitality
installationMaintenanceRepair
legal
localGovernment
management
media
military
nationalGovernment
nonProfit
officeAndAdministrationSupport
personalCare
production
protectiveServices
research
sales
sciences
sports
stateGovernment
technology
tourism
trade
transportation
notApplicable
unemployed
other

otherOccupation string
The actual occupation of this contact if their occupation is other. This is ignored if occupation is not other.
minLength: 4
maxLength: 32
state string
The state of this contact.


Enumerated values:
inactive
active
merged
removed

_id string
The unique identifier for this contact resource. This is an immutable opaque string.

updateContact

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json"
}

Update Contact

Representation used to update or patch a contact.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
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)
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as Dr. or Fr.
maxLength: 20
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.


Enumerated values:
taxId
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 (required)
The type of phone number this represents.


Enumerated values:
unknown
home
work
mobile
other

» number string (required)
The phone number, as a string.
» label string
A text label, suitable for presentation to the end user. This is also used if type is other.
emailAddresses [typedEmailAddress]
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.


Enumerated values:
citizen
other

identityVerificationStatus string
The identity verification status for this contact. This field is readonly and is derived from the results of any identity verification processes executed against the PII contained in this record.
read-only


Enumerated values:
verified
unverified

occupation string
The occupation of this contact.


Enumerated values:
unknown
academia
architecture
artsDesign
buildingServices
businessAndFinancialOperations
childCare
communityAndSocialServices
computer
construction
education
energy
engineering
entertainment
farming
fishing
foodService
forestry
healthcare
hospitality
installationMaintenanceRepair
legal
localGovernment
management
media
military
nationalGovernment
nonProfit
officeAndAdministrationSupport
personalCare
production
protectiveServices
research
sales
sciences
sports
stateGovernment
technology
tourism
trade
transportation
notApplicable
unemployed
other

otherOccupation string
The actual occupation of this contact if their occupation is other. This is ignored if occupation is not other.
minLength: 4
maxLength: 32
state string
The state of this contact.


Enumerated values:
inactive
active
merged
removed

_id string
The unique identifier for this contact resource. This is an immutable opaque string.
attributes object
An optional map of name/value pairs which provide additional metadata about the contact.
createdAt string(date-time)
The date-time when the contact was created.
updatedAt string(date-time)
The date-time when the contact was updated

contact

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/contacts/contact/v1.0.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"
    }
  }
}

Contact

Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
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)
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as Dr. or Fr.
maxLength: 20
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.


Enumerated values:
taxId
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 (required)
The type of phone number this represents.


Enumerated values:
unknown
home
work
mobile
other

» number string (required)
The phone number, as a string.
» label string
A text label, suitable for presentation to the end user. This is also used if type is other.
emailAddresses [typedEmailAddress]
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.


Enumerated values:
citizen
other

identityVerificationStatus string
The identity verification status for this contact. This field is readonly and is derived from the results of any identity verification processes executed against the PII contained in this record.
read-only


Enumerated values:
verified
unverified

occupation string
The occupation of this contact.


Enumerated values:
unknown
academia
architecture
artsDesign
buildingServices
businessAndFinancialOperations
childCare
communityAndSocialServices
computer
construction
education
energy
engineering
entertainment
farming
fishing
foodService
forestry
healthcare
hospitality
installationMaintenanceRepair
legal
localGovernment
management
media
military
nationalGovernment
nonProfit
officeAndAdministrationSupport
personalCare
production
protectiveServices
research
sales
sciences
sports
stateGovernment
technology
tourism
trade
transportation
notApplicable
unemployed
other

otherOccupation string
The actual occupation of this contact if their occupation is other. This is ignored if occupation is not other.
minLength: 4
maxLength: 32
state string
The state of this contact.


Enumerated values:
inactive
active
merged
removed

_id string
The unique identifier for this contact resource. This is an immutable opaque string.
attributes object
An optional map of name/value pairs which provide additional metadata about the contact.
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": "https://api.apiture.com/schemas/contacts/contacts/v1.0.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": "https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "preferredName": "John",
        "suffix": "MD",
        "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

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 such as self, next, prev, first, last, collection.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
» items [summaryContact]
An array containing a page of contact items.
_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.
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.

abstractResource

{
  "_profile": "https://api.apiture.com/schema/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource

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.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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

A HAL response, with hypermedia _links for the top-level resources and operations in API.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
_id string
This API's unique ID.
name string
This API's name.
apiVersion string
This API's version.

errorResponse

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schemas/common/errorResponse/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": {},
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response

Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.

error

{
  "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/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

An error description. Nested source errors are contained in the _embedded object with the key "errors"; this is an array of nested error objects. For example, an API which validates its request body may find multiple errors in the request, which may be detailed here. The _links may contain a describedby link which refers to a web page with details about the error. The attributes field An optional map of name/value pairs which provide structured data about the error. For example, if the error is a value out of range, the attributes may specify the range values min and max. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier).

Properties

NameDescription
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

An optional map of name/value pairs which contains additional dynamic data about the resource.

Properties

No properties

{
  "property1": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  },
  "property2": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  }
}

Links

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

Properties

NameDescription
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.

{
  "href": "http://example.com",
  "type": "string",
  "templated": true,
  "title": "string",
  "deprecation": "http://example.com",
  "profile": "http://example.com"
}

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.

Properties

NameDescription
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

{
  "_links": {
    "property1": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    },
    "property2": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schemas/common/errorResponse/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": []
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection

A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_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.
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.

localizedLabels

{
  "property1": {
    "label": "Limited Liability Corporation",
    "description": "string",
    "language": "en-us",
    "code": "31"
  },
  "property2": {
    "label": "Limited Liability Corporation",
    "description": "string",
    "language": "en-us",
    "code": "31"
  }
}

Localized Labels

A map that defines lables for an enumeration in a JSON schema. Each enumeration value in the schema is the key; the value is an enumerationLabel object.

Properties

NameDescription
additionalProperties localizedLabel
A localized label and optional description for localizable content defined in this API.

localizedLabel

{
  "label": "Limited Liability Corporation",
  "description": "string",
  "language": "en-us",
  "code": "31"
}

Localized Label

A localized label and optional description for localizable content defined in this API.

Properties

NameDescription
label string
A localized label or title which may be used labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.
language string
The actual natural language tag to which this localized label is associated, as per RFC 7231
code string
If the localized value is associated with an external standard, this is a lookup code or key or URI for that value.