Shell HTTP JavaScript Node.JS Ruby Python Java Go

Documents v0.1.0

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

The Documents API provides operations for all bank customers to list their banking documents, such as :

Users may request lists of documents based on document category, document type, and/or date intervals based on query parameters:

The caller can fetch the document resource for each document. This document metadata includes properties which describe the document, such as the document name, label, document types, document category, content type, the date range the document applies to, the document context (usually an account).

Each document resource has an apiture:content link to download the document's content. The content is typically a PDF (application/pdf) file.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
banking/read Read access to accounts and account-related resources such as transfers and transactions.
banking/full Full access to accounts and account-related resources such as transfers and transactions.

API

The Documents API

getApi

Code samples

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

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

}, headers = headers)

print r.json()

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

Try It

Example responses

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.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/documents/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/documents/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/documents/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/documents/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/documents/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/documents/apiDoc', params={

}, headers = headers)

print r.json()

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

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Document

getDocuments

Code samples

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

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

}, headers = headers)

print r.json()

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

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

Return a collection of documents

GET /documents

Return a paginated filterable collection of documents. The links in the response include pagination links. Periodic or recurring documents such as statements or tax documents may be filtered in several ways:

  1. Pass endOn and a period which represents how far in the past to include. The endOn is the current date if omitted. For example, to fetch documents for the last six months, request ?period=P6M query parameters. Each prev link will return the previous six months of documents. The default period if ommitted is P6M. Thus, the default request if none of startOn, endOn and period are passed is the last 6 months of documents. This implies a result sorted in descending order by time.
  2. Pass startOn and endOn, to find any documents which overlap that date range. This implies a result sorted in ascending order by time.
  3. Pass the startOn and a period which represents how far after the start date to include. For example, to fetch documents for the first six months of 2018, request ?startOn=2018-01-01&period=P6M query parameters. Each next link in the response collection will return the next six months of documents, if available. This implies a result sorted in ascending order by time.
  4. If one or ore accounts are included in the the optional account query parameter, only documents associated with those accounts will be returned; the caller must be a primary owner, joint owner, or authorized signer of the accounts. An empty list of _embedded.items will be returned if the user is not entitled to any of the requested accounts.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first document item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of document representations to return in this page.
Default: 100
account
(query)
array[string]
An optional pipe (|) separated list of one or more account IDs. Note: these are not account numbers but are the unique resource _id of the corresponding financial institution accounts via the Accounts API. The user must have access to the corresponding accounts in order to view documents associated with the accounts. If omitted, the listed documents may match any account the user is entitled to view, or may not be account-specific documents. Examples:
?account=e486ebd0-167d-4fc6-8fd0-0edf275ef431
?account=e486ebd0-167d-4fc6-8fd0-0edf275ef431|43ae102e-4cec-488f-a3c5-7f15c3659960
startOn
(query)
string(date)
The start date of the query range. May be combined with endOn or period but not both.
endOn
(query)
string(date)
The end date of the query range. May be combined with endOn or period but not both.
period
(query)
string(period)
The time period for the date range, looking backwards from endOn (or today, if endOn is omitted), or forward from startOn. For example, to list the documents for the last 6 months, use ?period=P6m.
type
(query)
array[string]
Match documents by document category. This matches any of the values in the |-seprated list. Note: type and category are mutually exclusive. Examples: * ?category=form1099Int' * ?category=form1099Int
category
(query)
array[string]
Match documents by document category. This matches any of the values in the |-seprated list. Note: type and category are mutually exclusive. Examples: * ?category=accountStatement' * ?category=accountStatement
filter
(query)
string
Optional filter criteria. See filtering.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/documents/documents/v1.0.0/profile.json",
  "name": "documents",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/documents/documents?start=10&limit=10"
    },
    "first": {
      "href": "/documents/documents?start=0&limit=10"
    },
    "next": {
      "href": "/documents/documents?start=20&limit=10"
    },
    "collection": {
      "href": "/documents/documents"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-INT.pdf",
        "label": "1099 INT for Account ******3210 for 2019",
        "typeName": "form1099Int",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      },
      {
        "_id": "83babc98-f0bf-4c14-b7d6-4cb1539e2b47",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/83babc98-f0bf-4c14-b7d6-4cb1539e2b47"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-SA.pdf",
        "label": "1099 SA for Account ******3210 for 2019",
        "typeName": "form1099Sa",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      }
    ]
  }
}

Responses

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

getDocument

Code samples

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

GET https://api.devbank.apiture.com/documents/documents/{documentId} 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/documents/documents/{documentId}',
  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/documents/documents/{documentId}',
{
  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/documents/documents/{documentId}',
  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/documents/documents/{documentId}', params={

}, headers = headers)

print r.json()

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

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

Fetch a representation of this document

GET /documents/{documentId}

Return a HAL representation of this document resource. This returns a JSON object which describes the document, its category, type. The document representation includes a n apiture:content link to the getContent operation for downloading the document's content.

Parameters

Parameter Description
documentId
(path)
string (required)
The unique identifier of this document. This is an opaque string.
unmasked
(query)
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.

Try It

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:content": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c/content"
    },
    "apiture:account": {
      "href": "/accounts/account/100a6159-7811-4986-b1df-99555b059757"
    }
  },
  "name": "532a0e1b82f592e40803-1099-INT.pdf",
  "label": "1099 INT for Account ******3210 for 2019",
  "contentType": "application/pdf",
  "typeName": "form1099Int",
  "categoryName": "taxForm",
  "startOn": {},
  "endOn": {},
  "createdAt": "2020-02-01T00:01:38.375Z",
  "type": {
    "name": "accountStatement",
    "label": "Account Statement",
    "period": "P1M",
    "category": {
      "name": "accountStatements",
      "label": "Account Statements"
    }
  },
  "account": {
    "name": "Personal Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "******3210"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: document
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 document resource at the specified {documentId}. 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

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

getContent

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/documents/documents/{documentId}/content \
  -H 'Accept: */*' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/documents/documents/{documentId}/content HTTP/1.1
Host: api.devbank.apiture.com
Accept: */*

var headers = {
  'Accept':'*/*',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/documents/documents/{documentId}/content',
  method: 'get',

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

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

const headers = {
  'Accept':'*/*',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/documents/documents/{documentId}/content',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/documents/documents/{documentId}/content',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/documents/documents/{documentId}/content', params={

}, headers = headers)

print r.json()

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

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

Return the raw content of the document

GET /documents/{documentId}/content

Return the raw content of the document as a stream of bytes. This operation normally returns a 302 to redirect the caller to the actual URL where the file content is available.

Parameters

Parameter Description
documentId
(path)
string (required)
The unique identifier of this document. This is an opaque string.

Try It

Example responses

200 Response

404 Response

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.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
200 OK
OK
Schema: string
StatusDescription
302 Found
Found. The URL where the file's content is located. This is the most likely response.
StatusDescription
404 Not Found
Not Found. There is no such document resource at the specified {documentId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 Content-Type string
The media type of the file content.
302 Location string
The URL where the file's content is located.

Statement

getStatements

Code samples

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

GET https://api.devbank.apiture.com/documents/statements 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/documents/statements',
  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/documents/statements',
{
  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/documents/statements',
  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/documents/statements', params={

}, headers = headers)

print r.json()

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

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

Return a collection of statements

GET /statements

Return a paginated filterable collection of account activity statements. The links in the response include pagination links. This operation is a convenience for getDocuments?type=accountStatement. Thus, this operation does not support passing or augmenting the type or category query parameters or collection filters as allowed by that operation. Statements may be filtered using the ?startOn, ?endOn and period query parameters of that operation. Note that the items in the response are summary document representations, and the nested document resources are located at /documents/{documentId}.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first statement item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of statement representations to return in this page.
Default: 100
accounts
(query)
array[string]
An optional pipe (|) separated list of one or more account IDs. Note: these are not account numbers but are the unique resource _id of the corresponding financial institution accounts via the Accounts API. The user must have access to the corresponding accounts in order to view documents associated with the accounts. If omitted, the listed documents may match any account the user is entitled to view, be account-specific documents. Examples:
?account=e486ebd0-167d-4fc6-8fd0-0edf275ef431
?account=e486ebd0-167d-4fc6-8fd0-0edf275ef431|43ae102e-4cec-488f-a3c5-7f15c3659960
startOn
(query)
string(date)
The start date of the query range. May be combined with endOn or period but not both.
endOn
(query)
string(date)
The end date of the query range. May be combined with endOn or period but not both.
period
(query)
string(period)
The time period for the date range, looking backwards from endOn (or today, if endOn is omitted), or forward from startOn. For example, to list the statements for the last 6 months, use ?period=P6m.
filter
(query)
string
Optional filter criteria. See filtering.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/documents/documents/v1.0.0/profile.json",
  "name": "documents",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/documents/documents?start=10&limit=10"
    },
    "first": {
      "href": "/documents/documents?start=0&limit=10"
    },
    "next": {
      "href": "/documents/documents?start=20&limit=10"
    },
    "collection": {
      "href": "/documents/documents"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-INT.pdf",
        "label": "1099 INT for Account ******3210 for 2019",
        "typeName": "form1099Int",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      },
      {
        "_id": "83babc98-f0bf-4c14-b7d6-4cb1539e2b47",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/83babc98-f0bf-4c14-b7d6-4cb1539e2b47"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-SA.pdf",
        "label": "1099 SA for Account ******3210 for 2019",
        "typeName": "form1099Sa",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      }
    ]
  }
}

Responses

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

Document Category

getDocumentCategories

Code samples

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

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

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/documents/documentCategories',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('https://api.devbank.apiture.com/documents/documentCategories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get 'https://api.devbank.apiture.com/documents/documentCategories',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/documents/documentCategories");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/documents/documentCategories", data)
    req.Header = headers

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

Return a list of document categories

GET /documentCategories

Return a list of document categories.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/documents/documentCategories/v1.0.0/profile.json",
  "items": [
    {
      "name": "agreements",
      "label": "Account Agreements",
      "_profile": "https://api.apiture.com/schemas/documents/documentCategory/v1.0.0/profile.json"
    },
    {
      "name": "taxForm",
      "label": "Tax Forms",
      "_profile": "https://api.apiture.com/schemas/documents/documentCategory/v1.0.0/profile.json"
    }
  ],
  "_links": {
    "self": {
      "href": "/documents/documentCategories"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: documentCategories

Document Type

getDocumentTypes

Code samples

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

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

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/documents/documentTypes',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('https://api.devbank.apiture.com/documents/documentTypes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get 'https://api.devbank.apiture.com/documents/documentTypes',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/documents/documentTypes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/documents/documentTypes", data)
    req.Header = headers

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

Return a list of document types

GET /documentTypes

Return a list of document types.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/documents/documentTypes/v1.0.0/profile.json",
  "items": [
    {
      "name": "accountStatement",
      "label": "Account Statement",
      "period": "P1M",
      "category": {
        "name": "accountStatements",
        "label": "Account Statements"
      },
      "_profile": "https://api.apiture.com/schemas/documents/documentType/v1.0.0/profile.json"
    },
    {
      "name": "form1099Int",
      "label": "Form 1099-INT",
      "period": "P1Y",
      "category": {
        "name": "taxStatements",
        "label": "Tax Statements"
      },
      "_profile": "https://api.apiture.com/schemas/documents/documentType/v1.0.0/profile.json"
    }
  ],
  "_links": {
    "self": {
      "href": "/documents/documentTypes"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: documentTypes

Schemas

documentCategory

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "taxForms",
  "label": "Tax Forms",
  "content": "user",
  "_profile": "https://api.apiture.com/schemas/documents/documentCategory/v1.0.0/profile.json"
}

Document Category (v1.0.0) (v1.0.0)

Representation of document category resources.

This schema is version v1.0.0.

Properties

NameDescription
name string
The name of this document category. This is an identifier. This corresponds to an item in the getDocumentCategories response.
pattern: ^[a-z][a-zA-Z0-9_$]{1,48}$
label string
The human-presentable label of this document category.
context documentContext
The type of resource that documents in this category are associated with.

documentContext

"account"

Document Context (v1.0.0) (v1.0.0)

The type of resource that documents in this category are associated with.

documentContext strings may have one of the following enumerated values values (described by the named documentContext)

ValueDescription
accountAccount: The document is associated with the account referenced by the apiture:account link.
organizationorganization: The document is associated with an organization referenced by the apiture:organization link.
userAccount: The document is associated with a user referenced by the apiture:user link.

This schema is version v1.0.0.

Type: string
Enumerated values:
account
organization
user

documentCategories

{
  "_profile": "https://api.apiture.com/schemas/documents/documentCategories/v1.0.0/profile.json",
  "items": [
    {
      "name": "agreements",
      "label": "Account Agreements",
      "_profile": "https://api.apiture.com/schemas/documents/documentCategory/v1.0.0/profile.json"
    },
    {
      "name": "taxForm",
      "label": "Tax Forms",
      "_profile": "https://api.apiture.com/schemas/documents/documentCategory/v1.0.0/profile.json"
    }
  ],
  "_links": {
    "self": {
      "href": "/documents/documentCategories"
    }
  }
}

Document Categories (v1.0.0) (v1.0.0)

Array of document categories.

This schema is version v1.0.0.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
items [documentCategory]
An array containing document category items.

documentType

{
  "name": "accountStatement",
  "label": "Account Statement",
  "period": "P1M",
  "category": {
    "name": "accountStatements",
    "label": "Account Statements"
  },
  "_profile": "https://api.apiture.com/schemas/documents/documentType/v1.0.0/profile.json"
}

Document Type (v1.0.0) (v1.0.0)

Representation of document type resources.

This schema is version v1.0.0.

Properties

NameDescription
name string
The name of this document type. This corresponds to an item in the getDocumentTypes response.
pattern: ^[a-z][a-zA-Z0-9_$]{1,48}$
label string
The human-presentable label of this document category.
period string(period)
The document issue period document for documents issued on a regular periodic basis. For example, account statements are issued monthly (P1M), and tax statements annually (`P1Y'). If empty, the documents are issued on an ad-hoc schedule, such as in response to banking or account activity.
category documentCategory
This document type's category.

documentTypes

{
  "_profile": "https://api.apiture.com/schemas/documents/documentTypes/v1.0.0/profile.json",
  "items": [
    {
      "name": "accountStatement",
      "label": "Account Statement",
      "period": "P1M",
      "category": {
        "name": "accountStatements",
        "label": "Account Statements"
      },
      "_profile": "https://api.apiture.com/schemas/documents/documentType/v1.0.0/profile.json"
    },
    {
      "name": "form1099Int",
      "label": "Form 1099-INT",
      "period": "P1Y",
      "category": {
        "name": "taxStatements",
        "label": "Tax Statements"
      },
      "_profile": "https://api.apiture.com/schemas/documents/documentType/v1.0.0/profile.json"
    }
  ],
  "_links": {
    "self": {
      "href": "/documents/documentTypes"
    }
  }
}

Document Type Collection (v1.0.0) (v1.0.0)

Collection of document types. The items in the collection are ordered in the _embedded.items array; the name is documentTypes. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

This schema is version v1.0.0.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
items [documentType]
An array containing a page of document type items.

summaryDocument

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:content": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c/content"
    },
    "apiture:account": {
      "documents": "/accounts/accounts/{accountId}"
    }
  },
  "name": "532a0e1b82f592e40803-1099-INT.pdf",
  "label": "1099 INT for Account ******3210 for 2019",
  "contentType": "application/pdf",
  "typeName": "form1099Int",
  "categoryName": "taxForm",
  "startOn": {},
  "endOn": {},
  "createdAt": "2020-02-01T00:01:38.375Z",
  "period": "P1Y",
  "account": {
    "name": "Personal Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "******3210"
    }
  }
}

Document Summary (v1.0.0) (v1.0.0)

Summary representation of a document resource in documents 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. This object and contains a link (apiture:document) to the downloadable document document, typically PDF.

This schema is version v1.0.0.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The document name.
read-only
label string
A more descriptive label for the document.
read-only
typeName string
The name of the document type
read-only
categoryName string
The name of the document category.
read-only
contentType string
The media type for this file. This is document/pdf (Portable Document Format) for most document types. For text documents, the content type should include the text encoding; if omitted, the encoding type is assumed to be utf-8.
read-only
startOn string(date)
The inclusive beginning date in RFC 3339 YYYY-MM-DD format for this document. For example, for statements or other recurring documents, this is the beginning of the statement period. The document type indicates if the the document is recurring/periodical.
read-only
endOn string(date)
The inclusive end date in RFC 3339 YYYY-MM-DD format for this document. For example, for statements or other recurring documents, this is the end of the statement period. The document type indicates if the the document is recurring/periodical.
read-only
createdAt string(date-time)
The date-time of the document's creation, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
account accountIdentification
Identifying attributes of the account that this document pertains to. If omitted, the document is not associated with an account.
read-only
_id string
The unique identifier for this document resource. This is an immutable opaque string.
read-only

document

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:content": {
      "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c/content"
    },
    "apiture:account": {
      "href": "/accounts/account/100a6159-7811-4986-b1df-99555b059757"
    }
  },
  "name": "532a0e1b82f592e40803-1099-INT.pdf",
  "label": "1099 INT for Account ******3210 for 2019",
  "contentType": "application/pdf",
  "typeName": "form1099Int",
  "categoryName": "taxForm",
  "startOn": {},
  "endOn": {},
  "createdAt": "2020-02-01T00:01:38.375Z",
  "type": {
    "name": "accountStatement",
    "label": "Account Statement",
    "period": "P1M",
    "category": {
      "name": "accountStatements",
      "label": "Account Statements"
    }
  },
  "account": {
    "name": "Personal Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "******3210"
    }
  }
}

Document (v1.0.0) (v1.0.0)

Representation of document metadata. The links on a document include the content download URL, and for documents associated with an account, organization, or user, a link to the assocuated account organization, or user resource.

Response and request bodies using this document schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this documentGET
apiture:contentReturn the raw content of the documentGET
apiture:account Account associated with this documentGET
apiture:user User associated with this documentGET
apiture:organization Organization associated with this documentGET

This schema is version v1.0.0.

Response and request bodies using this document schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this documentGET
apiture:contentReturn the raw content of the documentGET
apiture:account Account associated with this documentGET
apiture:user User associated with this documentGET
apiture:organization Organization associated with this documentGET

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The document name.
read-only
label string
A more descriptive label for the document.
read-only
typeName string
The name of the document type
read-only
categoryName string
The name of the document category.
read-only
contentType string
The media type for this file. This is document/pdf (Portable Document Format) for most document types. For text documents, the content type should include the text encoding; if omitted, the encoding type is assumed to be utf-8.
read-only
startOn string(date)
The inclusive beginning date in RFC 3339 YYYY-MM-DD format for this document. For example, for statements or other recurring documents, this is the beginning of the statement period. The document type indicates if the the document is recurring/periodical.
read-only
endOn string(date)
The inclusive end date in RFC 3339 YYYY-MM-DD format for this document. For example, for statements or other recurring documents, this is the end of the statement period. The document type indicates if the the document is recurring/periodical.
read-only
createdAt string(date-time)
The date-time of the document's creation, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
account accountIdentification
Identifying attributes of the account that this document pertains to. If omitted, the document is not associated with an account.
read-only
_id string
The unique identifier for this document resource. This is an immutable opaque string.
read-only
type documentType
The document type, which also includes the document's category.

documents

{
  "_profile": "https://api.apiture.com/schemas/documents/documents/v1.0.0/profile.json",
  "name": "documents",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/documents/documents?start=10&limit=10"
    },
    "first": {
      "href": "/documents/documents?start=0&limit=10"
    },
    "next": {
      "href": "/documents/documents?start=20&limit=10"
    },
    "collection": {
      "href": "/documents/documents"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-INT.pdf",
        "label": "1099 INT for Account ******3210 for 2019",
        "typeName": "form1099Int",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      },
      {
        "_id": "83babc98-f0bf-4c14-b7d6-4cb1539e2b47",
        "_profile": "https://api.apiture.com/schemas/documents/document/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/documents/documents/83babc98-f0bf-4c14-b7d6-4cb1539e2b47"
          },
          "apiture:document": {
            "href": "/some/expiring/download/location"
          },
          "apiture:account": {
            "href": "/accounts/accounts/{accountId}"
          }
        },
        "name": "532a0e1b82f592e40803-1099-SA.pdf",
        "label": "1099 SA for Account ******3210 for 2019",
        "typeName": "form1099Sa",
        "categoryName": "taxForm",
        "contentType": "application/pdf",
        "startOn": {},
        "endOn": {},
        "createdAt": "2020-02-01T00:01:38.375Z",
        "account": {
          "name": "Personal Savings",
          "title": "John Smith",
          "institutionName": "3rd Party Bank",
          "routingNumber": "021000021",
          "accountNumbers": {
            "masked": "******3210"
          }
        }
      }
    ]
  }
}

Document Collection (v1.0.0) (v1.0.0)

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

This schema is version v1.0.0.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
ยป items [summaryDocument]
An array containing a page of document 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 may be 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 start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
  "_links": {}
}

API Root

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

errorResponse

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.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

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

abstractResource

{
  "_profile": "{uri of resource profile.json}",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource

An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

accountIdentification

{
  "name": "My Premiere Savings",
  "title": "John Smith",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rd Party Bank"
}

Account Identification

Properties which identify a specific account.

Properties

NameDescription
name string
The account name.
title string
The title of the account. Traditionally, this is the name of the account holder.
maxLength: 512
institutionName string
The name of the financial institution which manages the account.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
read-only
minLength: 9
maxLength: 9
accountNumbers accountNumbers
The masked and full account numbers for this account. The full value only appears when ?unmasked=true is passed on the GET request.
read-only

collection

{
  "_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": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be 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 start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

accountNumbers

{
  "masked": "*************3210",
  "full": "9876543210"
}

Account Numbers

Different representations of an account number.

Properties

NameDescription
masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable.
read-only
minLength: 8
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request. Not included in the summary representation of the account that is included in account collection responses. This value is derived and immutable.
read-only
minLength: 4
maxLength: 17

abstractRequest

{
  "_profile": "{uri of resource profile.json}",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Request

An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.

error

{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error

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

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.

attributes

{
  "property1": {},
  "property2": {}
}

Attributes

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

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

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

Link

Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

Properties

NameDescription
href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.

attributeValue

{}

Attribute Value

The data associated with this attribute.

Properties