Shell HTTP JavaScript Node.JS Ruby Python Java Go

Associations v0.5.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

The Associations API associates source resources to target resources using association roles.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
data/read Read access to non-account, non-profile data.
data/write Write (update) access to non-account, non-profile data.
data/delete Delete access to non-account, non-profile data.
data/full Full access to non-account, non-profile data.

API

The Associations API

getApi

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/associations/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/associations/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/associations/',
  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('https://api.devbank.apiture.com/associations/',
{
  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 'https://api.devbank.apiture.com/associations/',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/associations/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/");
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", "https://api.devbank.apiture.com/associations/", 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 returns the following links: apiture:associations : links to the collection of associations held at this financial institution. apiture:roles : links to the collection of roles held at this financial institution.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token
* Accept

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

OK

{
  "id": "associations",
  "name": "Associations",
  "apiVersion": "0.1.0",
  "_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
  "_links": {
    "apiture:associations": {
      "href": "/associations/associations"
    },
    "apiture:roles": {
      "href": "/associations/roles"
    }
  }
}

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "http://localhost:8080/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 https://api.devbank.apiture.com/associations/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/associations/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/associations/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('https://api.devbank.apiture.com/associations/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 'https://api.devbank.apiture.com/associations/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/associations/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/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", "https://api.devbank.apiture.com/associations/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
* Accept

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

Association

Association between Two Resources

getAssociations

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/associations/associations \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/associations/associations HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/associations/associations',
  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('https://api.devbank.apiture.com/associations/associations',
{
  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 'https://api.devbank.apiture.com/associations/associations',
  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('https://api.devbank.apiture.com/associations/associations', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/associations");
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", "https://api.devbank.apiture.com/associations/associations", data)
    req.Header = headers

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

Return a collection of associations.

GET /associations

Return a paginated sortable filterable searchable collection of associations. The links in the response include pagination links.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first association item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of association 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.
name
(query)
string
Subset the accounts or external accounts collection to those with this name value. Use
type
(query)
string
Subset the accounts or external accounts collection to those with this exact type value. Use
label
(query)
string
Subset the accounts or external accounts collection to those with this label value. Use

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token
* Accept

start

limit

sortBy

filter

q

name

type

label

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "associations",
  "_links": {
    "self": {
      "href": "/associations/associations?start=10&limit=10"
    },
    "first": {
      "href": "/associations/associations?start=0&limit=10"
    },
    "next": {
      "href": "/associations/associations?start=20&limit=10"
    },
    "collection": {
      "href": "/associations/associations"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/associations/associations/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "roleName": "primaryUser",
        "_embedded": {
          "role": {
            "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
            "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
            "name": "primaryUser",
            "label": "primaryUser",
            "description": "The account owner has full control across the account. For personal accounts, the orimary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
          },
          "target": {
            "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
            "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
            "type": "user",
            "firstName": "Bobette",
            "middleName": "",
            "lastName": "Wellphunded"
          },
          "source": {
            "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
            "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
            "type": "account",
            "name": "Personal Checking"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: associations
StatusDescription
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
StatusDescription
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

createAssociation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/associations/associations \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/associations/associations HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/associations',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "sourceUri": "string",
  "roleUri": "string",
  "roleName": "string",
  "targetUri": "string",
  "attributes": {},
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/associations/associations',
{
  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 'https://api.devbank.apiture.com/associations/associations',
  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('https://api.devbank.apiture.com/associations/associations', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/associations");
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", "https://api.devbank.apiture.com/associations/associations", data)
    req.Header = headers

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

Create a new association

POST /associations

Create a new association between two resources. The request must include a valid link (apiture:source) to a source resource, (apiture:role) to an association role instance and a link (apiture:target) to a target resource.

Body parameter

{
  "sourceUri": "string",
  "roleUri": "string",
  "roleName": "string",
  "targetUri": "string",
  "attributes": {},
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  }
}

Parameters

Parameter Description
body
(body)
createAssociation (required)
The data necessary to create a new association.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token
* Accept

* body

* Content-Type

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": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "_links": {
    "apiture:role": {
      "href": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:source": {
      "href": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    },
    "apiture:target": {
      "href": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    }
  },
  "sourceUri": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "roleUri": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd",
  "roleName": "primaryUser",
  "targetUri": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "_embedded": {
    "source": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
      "type": "account",
      "name": "Personal Checking",
      "TODO": "Refine this example when Accounts API is defined."
    },
    "role": {
      "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
      "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
      "name": "primaryUser",
      "label": "Primary User",
      "description": "The account owner has full control across the account. For personal accounts, the primary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
    },
    "target": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
      "type": "user",
      "firstName": "Bobette",
      "middleName": "",
      "lastName": "Wellphunded",
      "TODO": "Refine this example when Users API is defined."
    }
  }
}

Responses

StatusDescription
201 Created
Created.

A representation of the new assocuation is returned, including the self link, the role, source and target of the association.

Schema: association
StatusDescription
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.

getAssociation

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/associations/associations/{associationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/associations/associations/{associationId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  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('https://api.devbank.apiture.com/associations/associations/{associationId}',
{
  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 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  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('https://api.devbank.apiture.com/associations/associations/{associationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/associations/{associationId}");
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", "https://api.devbank.apiture.com/associations/associations/{associationId}", data)
    req.Header = headers

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

Fetch a representation of this association

GET /associations/{associationId}

Return a HAL representation of this association resource.

Parameters

Parameter Description
associationId
(path)
string (required)
The unique identifier of this association. 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
* Accept

* associationId

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": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "_links": {
    "apiture:role": {
      "href": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:source": {
      "href": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    },
    "apiture:target": {
      "href": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    }
  },
  "sourceUri": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "roleUri": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd",
  "roleName": "primaryUser",
  "targetUri": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "_embedded": {
    "source": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
      "type": "account",
      "name": "Personal Checking",
      "TODO": "Refine this example when Accounts API is defined."
    },
    "role": {
      "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
      "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
      "name": "primaryUser",
      "label": "Primary User",
      "description": "The account owner has full control across the account. For personal accounts, the primary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
    },
    "target": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
      "type": "user",
      "firstName": "Bobette",
      "middleName": "",
      "lastName": "Wellphunded",
      "TODO": "Refine this example when Users API is defined."
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: association
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such association resource at the specified {associationId} The _error field in the response will contain details about the request error.
Schema: error

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

patchAssociation

Code samples

# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/associations/associations/{associationId} \
  -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 https://api.devbank.apiture.com/associations/associations/{associationId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  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/associations/associations/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/associations/associations/{associationId}',
{
  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 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  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('https://api.devbank.apiture.com/associations/associations/{associationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/associations/{associationId}");
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", "https://api.devbank.apiture.com/associations/associations/{associationId}", data)
    req.Header = headers

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

Update this association

PATCH /associations/{associationId}

Perform a partial update of this association. Fields which are omitted are not updated.

Body parameter

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

Parameters

Parameter Description
associationId
(path)
string (required)
The unique identifier of this association. 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)
updateAssociation (required)

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token
* Accept

* associationId

If-Match

* body

* Content-Type

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": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "_links": {
    "apiture:role": {
      "href": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:source": {
      "href": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    },
    "apiture:target": {
      "href": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    }
  },
  "sourceUri": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "roleUri": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd",
  "roleName": "primaryUser",
  "targetUri": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "_embedded": {
    "source": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
      "type": "account",
      "name": "Personal Checking",
      "TODO": "Refine this example when Accounts API is defined."
    },
    "role": {
      "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
      "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
      "name": "primaryUser",
      "label": "Primary User",
      "description": "The account owner has full control across the account. For personal accounts, the primary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
    },
    "target": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
      "type": "user",
      "firstName": "Bobette",
      "middleName": "",
      "lastName": "Wellphunded",
      "TODO": "Refine this example when Users API is defined."
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: association
StatusDescription
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
StatusDescription
404 Not Found
Not Found. There is no such association resource at the specified {associationId} The _error field in the response will contain details about the request error.
Schema: error
StatusDescription
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
StatusDescription
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 association resource.

deleteAssociation

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/associations/associations/{associationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/associations/associations/{associationId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  method: 'delete',

  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('https://api.devbank.apiture.com/associations/associations/{associationId}',
{
  method: 'DELETE',

  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.delete 'https://api.devbank.apiture.com/associations/associations/{associationId}',
  params: {
  }, 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.delete('https://api.devbank.apiture.com/associations/associations/{associationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/associations/{associationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
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("DELETE", "https://api.devbank.apiture.com/associations/associations/{associationId}", data)
    req.Header = headers

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

Delete this association resource

DELETE /associations/{associationId}

Delete this association resource and any resources that are owned by it. Deleting an association does not delete the source, role, or target resources.

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
associationId
(path)
string (required)
The unique identifier of this association. This is an opaque string.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodDELETE
* URL
* API Key
* Access Token
* Accept

If-Match

* associationId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

412 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
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

Role

The Role of an Association

getRoles

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/associations/roles \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/associations/roles HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/associations/roles',
  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('https://api.devbank.apiture.com/associations/roles',
{
  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 'https://api.devbank.apiture.com/associations/roles',
  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('https://api.devbank.apiture.com/associations/roles', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles");
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", "https://api.devbank.apiture.com/associations/roles", data)
    req.Header = headers

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

Return a collection of roles

GET /roles

Return a paginated sortable filterable searchable collection of roles. The links in the response include pagination links.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first role item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of role 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.
name
(query)
string
Subset the accounts or external accounts collection to those with this name value. Use
label
(query)
string
Subset the accounts or external accounts collection to those with this label value. Use

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token
* Accept

start

limit

sortBy

filter

q

name

label

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/associations/roles/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "roles",
  "_links": {
    "self": {
      "href": "/associations/roles?start=10&limit=10"
    },
    "first": {
      "href": "/associations/roles?start=0&limit=10"
    },
    "next": {
      "href": "/associations/roles?start=20&limit=10"
    },
    "collection": {
      "href": "/associations/roles"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
        "name": "primaryUser",
        "label": "Primary User",
        "description": "The primary user on the account.\nThere may be only one primary user on an account.",
        "_links": {
          "self": {
            "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "1e0c734d-f0e7-4204-942d-222a860eed03",
        "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
        "name": "beneficiary",
        "label": "Beneficiary",
        "description": "An account beneficiary.",
        "_links": {
          "self": {
            "href": "/associations/roles/1e0c734d-f0e7-4204-942d-222a860eed03"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: roles
StatusDescription
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
StatusDescription
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

createRole

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/associations/roles \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/associations/roles HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/roles',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "name": "primaryUser",
  "label": "Primary User",
  "description": "string",
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "_id": "string"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/associations/roles',
{
  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 'https://api.devbank.apiture.com/associations/roles',
  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('https://api.devbank.apiture.com/associations/roles', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles");
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", "https://api.devbank.apiture.com/associations/roles", data)
    req.Header = headers

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

Create a new role

POST /roles

Create a new role which is used to associate two resources.

Body parameter

{
  "name": "primaryUser",
  "label": "Primary User",
  "description": "string",
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "_id": "string"
}

Parameters

Parameter Description
body
(body)
createRole (required)
The data necessary to create a new role.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token
* Accept

* body

* Content-Type

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": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "primaryUser",
  "label": "Primary User",
  "createdAt": "2018-02-01T13:07:01.375Z",
  "description": "The account owner has full control across the account.\n \nThere may be only one primary user. "
}

Responses

StatusDescription
201 Created
Created
Schema: role
StatusDescription
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.

getRole

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/associations/roles/{roleId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/associations/roles/{roleId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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('https://api.devbank.apiture.com/associations/roles/{roleId}',
{
  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 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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('https://api.devbank.apiture.com/associations/roles/{roleId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles/{roleId}");
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", "https://api.devbank.apiture.com/associations/roles/{roleId}", data)
    req.Header = headers

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

Fetch a representation of this role

GET /roles/{roleId}

Return a HAL representation of this role resource.

Parameters

Parameter Description
roleId
(path)
string (required)
The unique identifier of this role. 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
* Accept

* roleId

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": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "primaryUser",
  "label": "Primary User",
  "createdAt": "2018-02-01T13:07:01.375Z",
  "description": "The account owner has full control across the account.\n \nThere may be only one primary user. "
}

Responses

StatusDescription
200 OK
OK
Schema: role
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such role resource at the specified {roleId} The _error field in the response will contain details about the request error.
Schema: error
StatusDescription
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

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

patchRole

Code samples

# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/associations/roles/{roleId} \
  -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 https://api.devbank.apiture.com/associations/roles/{roleId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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/associations/role/v1.0.0/profile.json",
  "label": "primary user",
  "name": "primaryUser",
  "description": "The primary user for this account."
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/associations/roles/{roleId}',
{
  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 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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('https://api.devbank.apiture.com/associations/roles/{roleId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles/{roleId}");
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", "https://api.devbank.apiture.com/associations/roles/{roleId}", data)
    req.Header = headers

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

Update this role

PATCH /roles/{roleId}

Perform a partial update of this role. 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/associations/role/v1.0.0/profile.json",
  "label": "primary user",
  "name": "primaryUser",
  "description": "The primary user for this account."
}

Parameters

Parameter Description
roleId
(path)
string (required)
The unique identifier of this role. 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)
updateRole (required)

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token
* Accept

* roleId

If-Match

* body

* Content-Type

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": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "primaryUser",
  "label": "Primary User",
  "createdAt": "2018-02-01T13:07:01.375Z",
  "description": "The account owner has full control across the account.\n \nThere may be only one primary user. "
}

Responses

StatusDescription
200 OK
OK
Schema: role
StatusDescription
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
StatusDescription
404 Not Found
Not Found. There is no such role resource at the specified {roleId} The _error field in the response will contain details about the request error.
Schema: error
StatusDescription
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
StatusDescription
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 role resource.

updateRole

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/associations/roles/{roleId} \
  -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 https://api.devbank.apiture.com/associations/roles/{roleId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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/associations/role/v1.0.0/profile.json",
  "label": "primary user",
  "name": "primaryUser",
  "description": "The primary user for this account."
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/associations/roles/{roleId}',
{
  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 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  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('https://api.devbank.apiture.com/associations/roles/{roleId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles/{roleId}");
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", "https://api.devbank.apiture.com/associations/roles/{roleId}", data)
    req.Header = headers

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

Update this role

PUT /roles/{roleId}

Perform a complete replacement of this role.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "label": "primary user",
  "name": "primaryUser",
  "description": "The primary user for this account."
}

Parameters

Parameter Description
roleId
(path)
string (required)
The unique identifier of this role. 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)
updateRole (required)

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPUT
* URL
* API Key
* Access Token
* Accept

* roleId

If-Match

* body

* Content-Type

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": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "primaryUser",
  "label": "Primary User",
  "createdAt": "2018-02-01T13:07:01.375Z",
  "description": "The account owner has full control across the account.\n \nThere may be only one primary user. "
}

Responses

StatusDescription
200 OK
OK
Schema: role
StatusDescription
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
StatusDescription
404 Not Found
Not Found. There is no such role resource at the specified {roleId} The _error field in the response will contain details about the request error.
Schema: error
StatusDescription
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
StatusDescription
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 role resource.

deleteRole

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/associations/roles/{roleId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/associations/roles/{roleId} HTTP/1.1
Host: api.devbank.apiture.com
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: 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  method: 'delete',

  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('https://api.devbank.apiture.com/associations/roles/{roleId}',
{
  method: 'DELETE',

  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.delete 'https://api.devbank.apiture.com/associations/roles/{roleId}',
  params: {
  }, 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.delete('https://api.devbank.apiture.com/associations/roles/{roleId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/associations/roles/{roleId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
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("DELETE", "https://api.devbank.apiture.com/associations/roles/{roleId}", data)
    req.Header = headers

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

Delete this role resource

DELETE /roles/{roleId}

Delete this role resource and any resources that are owned by it. A role cannot be deleted if it is in use in an association.

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
roleId
(path)
string (required)
The unique identifier of this role. This is an opaque string.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodDELETE
* URL
* API Key
* Access Token
* Accept

If-Match

* roleId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

412 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
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

Schemas

association

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "_links": {
    "apiture:role": {
      "href": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:source": {
      "href": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    },
    "apiture:target": {
      "href": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed"
    }
  },
  "sourceUri": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "roleUri": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd",
  "roleName": "primaryUser",
  "targetUri": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "_embedded": {
    "source": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
      "type": "account",
      "name": "Personal Checking",
      "TODO": "Refine this example when Accounts API is defined."
    },
    "role": {
      "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
      "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
      "name": "primaryUser",
      "label": "Primary User",
      "description": "The account owner has full control across the account. For personal accounts, the primary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
    },
    "target": {
      "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
      "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
      "type": "user",
      "firstName": "Bobette",
      "middleName": "",
      "lastName": "Wellphunded",
      "TODO": "Refine this example when Users API is defined."
    }
  }
}

Association (Version v1.0.0)

Representation of an association between two resources. When used to create a new association, the request must contain links to the elements of the association: a role (apiture:role) a source resource (apiture:source) and a target resource (apiture:target). In many cases, the target resource is a person or user; a source or target may be any resource.

Properties

NameDescription
sourceUri string
The URI of association source resource.
roleUri string
The URI of association role resource.
roleName string
The name of the role used to associate two resources. This is a derived value and is ignored on updates.
targetUri string
The URI of association target resource.
attributes attributes
Data attribute associated with the error, such as values or constraints.
_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
The objects which participate in this association
» source object
The source resource for this association.
» role role
The role for this association
» target object
The target resource for this association.
_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
The unique identifier for this association resource. This is an immutable opaque string.
createdAt string(date-time)
The date-time when the association was created. This is in ISO 8601 format, UTC. This is derived and immutable.
read-only

updateAssociation

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

Update Association (Version v1.0.0)

Representation used to update or patch an association.

Properties

NameDescription
sourceUri string
The URI of association source resource.
roleUri string
The URI of association role resource.
roleName string
The name of the role used to associate two resources. This is a derived value and is ignored on updates.
targetUri string
The URI of association target resource.
attributes attributes
Data attribute associated with the error, such as values or constraints.
_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.
_id string
The unique identifier for this association resource. This is an immutable opaque string.

summaryAssociation

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

Association Summary (Version v1.0.0)

Summary representation of an association resource in associations collections.

Properties

NameDescription
sourceUri string
The URI of association source resource.
roleUri string
The URI of association role resource.
roleName string
The name of the role used to associate two resources. This is a derived value and is ignored on updates.
targetUri string
The URI of association target resource.
attributes attributes
Data attribute associated with the error, such as values or constraints.
_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.
_id string
The unique identifier for this association resource. This is an immutable opaque string.

createAssociation

{
  "sourceUri": "string",
  "roleUri": "string",
  "roleName": "string",
  "targetUri": "string",
  "attributes": {},
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  }
}

Create Association (Version v1.0.0)

Representation used to create a new association.

Properties

NameDescription
sourceUri string (required)
The URI of association source resource.
roleUri string (required)
The URI of association role resource.
roleName string
The name of the role used to associate two resources. This is a derived value and is ignored on updates.
targetUri string (required)
The URI of association target resource.
attributes attributes
Data attribute associated with the error, such as values or constraints.
_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.

associationFields

{
  "sourceUri": "/accounts/accounts/540f4849-0df4-4fbc-b987-6ad1f29998ed",
  "roleUri": "/associations/roles/e4f09b4d-eba6-46da-86d3-ba28595067cd",
  "roleName": "primaryUser",
  "targetUri": "/users/users/540f4849-0df4-4fbc-b987-6ad1f29998ed"
}

Association Fields (Version v1.0.0)

Core fields of the association resource used to build other model schema.

Properties

NameDescription
sourceUri string
The URI of association source resource.
roleUri string
The URI of association role resource.
roleName string
The name of the role used to associate two resources. This is a derived value and is ignored on updates.
targetUri string
The URI of association target resource.
attributes attributes
Data attribute associated with the error, such as values or constraints.

associations

{
  "_profile": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "associations",
  "_links": {
    "self": {
      "href": "/associations/associations?start=10&limit=10"
    },
    "first": {
      "href": "/associations/associations?start=0&limit=10"
    },
    "next": {
      "href": "/associations/associations?start=20&limit=10"
    },
    "collection": {
      "href": "/associations/associations"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/associations/association/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/associations/associations/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "roleName": "primaryUser",
        "_embedded": {
          "role": {
            "_id": "c83790c9-8bcb-4754-a989-7a45342697cb",
            "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
            "name": "primaryUser",
            "label": "primaryUser",
            "description": "The account owner has full control across the account. For personal accounts, the orimary user is also known as the account owner. For organization accounts, the organization is the \"owner\"; the primary user is the person who is granted administration permissions on the account, which includes managing permissions and roles of other users associated with the account.\nThere may be only one primary user."
          },
          "target": {
            "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
            "_profile": "https://api.apiture.com/schemas/user/v1.0.0/profile.json",
            "type": "user",
            "firstName": "Bobette",
            "middleName": "",
            "lastName": "Wellphunded"
          },
          "source": {
            "_id": "4222e6e8-bd85-487e-8864-ec16a0b0d058",
            "_profile": "https://api.apiture.com/schemas/accounts/v1.0.0/profile.json",
            "type": "account",
            "name": "Personal Checking"
          }
        }
      }
    ]
  }
}

Association Collection (Version v1.0.0)

Collection of associations. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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
» items [summaryAssociation]
An array containing a page of association 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 collection. This value is optional and is omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The 0-based start index of this page of items.
limit integer
The maximum number of items per page.
name string
A name for the items in collection.

roleFields

{
  "name": "primaryUser",
  "label": "Primary User",
  "description": "The primary user on the account.\nThere may be only one primary user on an account."
}

Role Fields (Version v1.0.0)

Core fields of the role resource used to build other model schema.

Properties

NameDescription
name string
The name of this role, for identification purposes, such as primaryOwner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096

summaryRole

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "name": "primaryUser",
  "label": "Primary User",
  "description": "The primary user on the account.\nThere may be only one primary user on an account.",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Role Summary (Version v1.0.0)

Summary representation of a role resource in roles 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
name string
The name of this role, for identification purposes, such as primaryOwner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096
_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.
_id string
The unique identifier for this role resource. This is an immutable opaque string.

createRole

{
  "name": "primaryUser",
  "label": "Primary User",
  "description": "string",
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Descriptive message 1.",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string 2...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "_id": "string"
}

Create Role (Version v1.0.0)

Representation used to create a new role.

Properties

NameDescription
name string (required)
The name of this role, for identification purposes, such as primaryOwner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string (required)
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096
_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.
_id string
The unique identifier for this role resource. This is an immutable opaque string.

updateRole

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "label": "primary user",
  "name": "primaryUser",
  "description": "The primary user for this account."
}

Update Role (Version v1.0.0)

Representation used to update or patch a role.

Properties

NameDescription
name string
The name of this role, for identification purposes, such as primaryOwner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096
_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.
_id string
The unique identifier for this role resource. This is an immutable opaque string.

role

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "primaryUser",
  "label": "Primary User",
  "createdAt": "2018-02-01T13:07:01.375Z",
  "description": "The account owner has full control across the account.\n \nThere may be only one primary user. "
}

Role (Version v1.0.0)

Representation of a role resource. Roles are used to associate resources. The most common roles may be related to entitlements(users) but can also be applied to organizations or non-users (such as beneficiaries, payees, etc.).

Properties

NameDescription
name string
The name of this role, for identification purposes, such as primaryOwner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096
_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.
_id string
The unique identifier for this role resource. This is an immutable opaque string.
createdAt string(date-time)
The date-time when the role was created. This is in ISO 8601 format, UTC. This is derived and immutable.
read-only

roles

{
  "_profile": "https://api.apiture.com/schemas/associations/roles/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "roles",
  "_links": {
    "self": {
      "href": "/associations/roles?start=10&limit=10"
    },
    "first": {
      "href": "/associations/roles?start=0&limit=10"
    },
    "next": {
      "href": "/associations/roles?start=20&limit=10"
    },
    "collection": {
      "href": "/associations/roles"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
        "name": "primaryUser",
        "label": "Primary User",
        "description": "The primary user on the account.\nThere may be only one primary user on an account.",
        "_links": {
          "self": {
            "href": "/associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "1e0c734d-f0e7-4204-942d-222a860eed03",
        "_profile": "https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json",
        "name": "beneficiary",
        "label": "Beneficiary",
        "description": "An account beneficiary.",
        "_links": {
          "self": {
            "href": "/associations/roles/1e0c734d-f0e7-4204-942d-222a860eed03"
          }
        }
      }
    ]
  }
}

Role Collection (Version v1.0.0)

Collection of roles. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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
» items [summaryRole]
An array containing a page of role 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 collection. This value is optional and is omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The 0-based start index of this page of items.
limit integer
The maximum number of items per page.
name string
A name for the items in collection.

attributes

{}

Attributes (Version v1.0.0)

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

Properties

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "http://localhost:8080/schemas/common/root/v1.0.0/profile.json",
  "_links": {}
}

API Root (Version v1.0.0)

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

Properties

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.
_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",
    "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": "https://api.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (Version v1.0.0)

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

Properties

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.

error

{
  "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
  "message": "Descriptive message 1.",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string 2...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error (Version v1.0.0)

Describes an error in an API request or in a service called via the API.

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 RFC 3339 UTC time stamp indicating when the error occurred.
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors [error]
An optional array of nested error objects. This property is not always present.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

{
  "property1": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  },
  "property2": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  }
}

Links (Version v1.0.0)

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": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Applicant"
}

Link (Version v1.0.0)

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.