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

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:

Terms of service

Email: Apiture Web: Apiture

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:

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

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

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

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{}

Responses

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

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

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

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'

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.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* body

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

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'

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.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* contactId

If-None-Match

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

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'

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.

ParameterValue
MethodPUT
* URL
* API Key
* Access Token

* contactId

If-Match

* body

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

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

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'

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.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token

* contactId

If-Match

* body

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

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

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'

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* contact

contactUri

If-Match

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

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

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'

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* contact

contactUri

If-Match

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

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

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'

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* contact

contactUri

If-Match

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

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

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

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 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)
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 NameDescription
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 NameDescription
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 NameDescription
anonymous contactFields
Common fields of the contact resource used to build other model schemas.

and

Schema NameDescription
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 NameDescription
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 NameDescription
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 NameDescription
anonymous contactFields
Common fields of the contact resource used to build other model schemas.

and

Schema NameDescription
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 NameDescription
Update Contact any
Representation used to update or patch a contact.

allOf

Schema NameDescription
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 NameDescription
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 NameDescription
Contact any
Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual.

allOf

Schema NameDescription
anonymous updateContact
Representation used to update or patch a contact.

and

Schema NameDescription
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 NameDescription
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 NameDescription
anonymous collection
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

and

Schema NameDescription
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 NameDescription
_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 NameDescription
API Root any
A HAL response, with hypermedia _links for the top-level resources and operations in API.

allOf

Schema NameDescription
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 NameDescription
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-02-20T12:18:18.840Z",
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response

Properties

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

Properties

No properties

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

Link

Properties

Schema 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

{
  "_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 NameDescription
Collection any
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

allOf

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