Shell HTTP JavaScript Node.JS Ruby Python Java Go

Check Deposits v0.5.2

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 Check Deposits API allows bank customers to use their mobile or web applications to take photographs or scans of endorsed paper checks and submit them for deposit into an existing account.

A check deposit is a batch of one or more checks to be deposited to an account.

To deposit checks, a user can create a check deposit resource and add check resources to it. The apiture:uploadFrontImage and apiture:uploadBackImage links found on a check can be used to upload JPEG formatted check images. After a check is created and front and back images uploaded, the check must be processed to determine if it is eligible to submit. A check can be processed asyncronously using the apiture:process link on the check resource, or all checks with pending state in a check deposit can be processed asyncronously by using the apiture:process link on the check deposit resource. When processing completes, each check may contain risk warnings, risk errors, or risk rejections.

All checks in a check deposit must finish processing with valid state in order to submit the check deposit.

The Check Deposit state may be one of the following:

The Check state may be one of the following:

If a check deposit is eligible to submit, the apiture:submit link can be used to submit the batch of checks for deposit. The checks are reviewed by the FI, either through an automated system or an admin. If the FI accepts a check, it is deposited and set to accepted state. If the FI rejects a check, it is not deposited and is set to rejected state.

Error Types

Error responses in this API may have one of the type values described below. See Errors for more information on error responses and error types.

emptyRequestBody

Description: The supplied request body was empty.
Remediation: Check to make sure the body is included in your request.

invalidGroupName

Description: No configurationGroup was found for the specified groupName.
Remediation: Check to make sure that the supplied groupName corresponds to an apiture transfer configuration group resource.

invalidValueName

Description: No configurationName was found for the specified valueName.
Remediation: Check to make sure that the supplied valueName corresponds to an apiture transfer configuration value resource.

invalidDepositId

Description: No Deposits were found for the specified depositId.
Remediation: Check to make sure that the supplied depositId corresponds to an apiture deposit resource.

invalidCheckId

Description: No Checks were found for the specified checkId.
Remediation: Check to make sure that the supplied checkId corresponds to an apiture check resource.

checkImageNotFound

Description: No image was found for the specified checkId and image type.
Remediation: Check to make sure the check image has completed uploading and/or processing.

invalidCheckDepositState

Description: Actions on check deposits may only be performed if they are in a valid state.
Remediation: Check the state of the check deposit and the allowable states for the requested operation.

invalidCheckState

Description: Actions on checks may only be performed if they are in a valid state.
Remediation: Check the state of the check and the allowable states for the requested operation.

invalidChecks

Description: One or more checks are invalid to perform the requested operation.
Remediation: Verify all of the checks are valid and do not contain errors.

inProgressCheckDeposit

Description: The user has a check deposit in progress and is not allowed to create another.
Remediation: Submit or cancel the existing check deposit and try again.

invalidAccount

Description: The supplied account reference was malformed.
Remediation: Check to make sure that the supplied account parameter corresponds to an Apiture account resource.

configurationAccessDenied

Description: The credentials supplied in the request are insufficient to grant access.
Remediation: Check the supplied credentials for validity.

accessForbidden

Description: The credentials supplied in the request are insufficient to grant access.
Remediation: Check the supplied credentials for validity.

This error type may be included in error responses for the following HTTP status code: 403

internalError

Description: An unexpected internal server error occurred.
Remediation: Retry the operation again.

This error type may be included in error responses for the following HTTP status code: 5xx

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
banking/read Read access to things
banking/write Write (update) access to things
banking/delete Delete access to things
banking/full Full access to things

Check Deposits

Deposit checks into a Bank Account

getCheckDeposits

Code samples

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

GET /checkDeposits/checkDeposits HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits',
  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('/checkDeposits/checkDeposits',
{
  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 '/checkDeposits/checkDeposits',
  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('/checkDeposits/checkDeposits', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits");
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", "/checkDeposits/checkDeposits", data)
    req.Header = headers

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

Return a collection of check deposits

GET /checkDeposits

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

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first check deposit item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of check deposit representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by following properties:
state
createdAt
state
(query)
string
Subset of the check deposit collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=pending matches only items whose state is pending; ?state=pending|submitted matches items whose state is pending or submitted. This is combined with an implicit and with other filters if they are used. See filtering.
Enumerated values:
pending
submitted
accepted
rejected
acceptedWithRejections
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by following properties and functions:
• Property state using functions eq, ne, in
• Property createdAt using functions eq, ne, in
q
(query)
string
Optional search string. See searching.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposits/v1.0.1/profile.json",
  "start": 0,
  "limit": 10,
  "count": 1,
  "name": "check deposits",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10"
    },
    "first": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10"
    },
    "next": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=10&limit=10"
    },
    "collection": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits"
    }
  },
  "_embedded": {
    "items": {
      "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
        },
        "apiture:target": {
          "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "bake sale checks",
      "enteredAmount": "103.22",
      "checkCount": 3
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: checkDeposits
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 contains details about the request error.

This error response may have one of the following type values:

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 contains details about the request error.
Schema: errorResponse

createCheckDeposit

Code samples

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

POST /checkDeposits/checkDeposits HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json

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

};

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "enteredAmount": "215.10",
  "description": "bake sale checks",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  },
  "_links": {
    "apiture:target": {
      "href": "/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    }
  },
  "_profile": "https://api.apiture.com/schemas/checkDeposits/createCheckDeposit/v1.0.1/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/checkDeposits/checkDeposits',
{
  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 '/checkDeposits/checkDeposits',
  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('/checkDeposits/checkDeposits', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits");
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", "/checkDeposits/checkDeposits", data)
    req.Header = headers

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

Create a new check deposit

POST /checkDeposits

Create a new check deposit to add checks and submit a deposit. A check deposit must be used to submit a deposit, individual check resources can't be submitted.

The apiture:target link specifies the account resource where the check deposit is deposited.

The user can provide an optional enteredAmount when creating a check deposit. This is the expected total batch amount of all checks, and can be used as verification against the check amounts later scanned by OCR (optical character recognition).

Device data may be provided to identify the client device and aid the deposit verification process. It is recommended to provide as much device data as possible.

After creating a check deposit, use the createCheck operation (the apiture:createCheck link) to add checks to it, then use the processCheckDeposit operation (the apiture:process link) to process the checks to verify the check contents. If all the checks are valid, follow that with the submitCheckDeposit (the apiture:process link) operation to submit the valid checks for deposit.

Body parameter

{
  "enteredAmount": "215.10",
  "description": "bake sale checks",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  },
  "_links": {
    "apiture:target": {
      "href": "/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    }
  },
  "_profile": "https://api.apiture.com/schemas/checkDeposits/createCheckDeposit/v1.0.1/profile.json"
}

Parameters

Parameter Description
body
(body)
createCheckDeposit (required)
The data necessary to create a new check deposit.

Try It

Example responses

201 Response

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Responses

StatusDescription
201 Created
Created
Schema: checkDeposit
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to create the check deposit is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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.

getCheckDeposit

Code samples

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

GET /checkDeposits/checkDeposits/{depositId} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}',
  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('/checkDeposits/checkDeposits/{depositId}',
{
  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 '/checkDeposits/checkDeposits/{depositId}',
  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('/checkDeposits/checkDeposits/{depositId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}");
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", "/checkDeposits/checkDeposits/{depositId}", data)
    req.Header = headers

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

Fetch a check deposit

GET /checkDeposits/{depositId}

Return a HAL representation of this check deposit resource.

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. 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 returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: checkDeposit
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 deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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 check deposit resource.

patchCheckDeposit

Code samples

# You can also use wget
curl -X PATCH /checkDeposits/checkDeposits/{depositId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH /checkDeposits/checkDeposits/{depositId} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}',
  method: 'patch',

  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('/checkDeposits/checkDeposits/{depositId}',
{
  method: 'PATCH',

  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.patch '/checkDeposits/checkDeposits/{depositId}',
  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.patch('/checkDeposits/checkDeposits/{depositId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}");
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{
        "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", "/checkDeposits/checkDeposits/{depositId}", data)
    req.Header = headers

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

Modify this check deposit resource

PATCH /checkDeposits/{depositId}

Modify this check deposit. The apiture:target link, description, and enteredAmount are the only editable fields. The check deposit must have state pending, processing, valid, or invalid.

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.
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: checkDeposit
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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

deleteCheckDeposit

Code samples

# You can also use wget
curl -X DELETE /checkDeposits/checkDeposits/{depositId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /checkDeposits/checkDeposits/{depositId} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}',
  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('/checkDeposits/checkDeposits/{depositId}',
{
  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 '/checkDeposits/checkDeposits/{depositId}',
  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('/checkDeposits/checkDeposits/{depositId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}");
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", "/checkDeposits/checkDeposits/{depositId}", data)
    req.Header = headers

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

Delete this check deposit resource

DELETE /checkDeposits/{depositId}

Delete this check deposit resource and any resources that are owned by it. This operation deletes any checks included in the check deposit. The check deposit must have state pending, processing, valid, or invalid.

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.
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.

Try It

Example responses

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

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
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

submitCheckDeposit

Code samples

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

POST /checkDeposits/submittedCheckDeposits HTTP/1.1

Accept: application/hal+json

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

};

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

  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('/checkDeposits/submittedCheckDeposits',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.post('/checkDeposits/submittedCheckDeposits', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/submittedCheckDeposits");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/checkDeposits/submittedCheckDeposits", data)
    req.Header = headers

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

Submit a check deposit

POST /submittedCheckDeposits

Submit a check deposit that is eligible to be submitted. This operation is invoked from the apiture:submit link on a check deposit, which only exists if the action is allowed. If successful, this changes the state to submitted.

The apiture:target link in the referenced check deposit must be a valid account resource URI; it names the account where the checks are deposited. A check deposit can only be submitted to a single target account.

Parameters

Parameter Description
depositId
(query)
string
The unique identifier of this deposit. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: checkDeposit
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check deposit operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

processCheckDeposit

Code samples

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

POST /checkDeposits/processedCheckDeposits HTTP/1.1

Accept: application/hal+json

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

};

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

  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('/checkDeposits/processedCheckDeposits',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.post('/checkDeposits/processedCheckDeposits', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/processedCheckDeposits");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/checkDeposits/processedCheckDeposits", data)
    req.Header = headers

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

Process checks in a check deposit

POST /processedCheckDeposits

Process all checks in a check deposit which have state pending.

This operation is invoked from the apiture:process link on a check deposit. All checks with pending state on the check deposit are processed asyncronously. Checks which are currently being processed or have finished processing with state valid or invalid are ignored.

If any checks have not been processed yet, this returns 202 Accepted and no response body. The response includes a Retry-After response header with a recommended retry interval in seconds. If all checks have finished processing, the operations returns 200 OK and the response body is the updated check deposit resource.

Parameters

Parameter Description
depositId
(query)
string
The unique identifier of this deposit. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Responses

StatusDescription
200 OK
OK. The request has succeeded.
Schema: checkDeposit
202 Accepted
Accepted. The request has been accepted for processing, but the processing has not been completed.
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check deposit operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
202 Retry-After string
Indicates a suggested delay in seconds after which the client should retry the operation. Example: Retry-After: 5

Checks

Checks included in a Check Deposit batch

createCheck

Code samples

# You can also use wget
curl -X POST /checkDeposits/checkDeposits/{depositId}/checks \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /checkDeposits/checkDeposits/{depositId}/checks HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "enteredAmount": "43.11",
  "description": "from jim",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/checkDeposits/checkDeposits/{depositId}/checks',
{
  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 '/checkDeposits/checkDeposits/{depositId}/checks',
  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('/checkDeposits/checkDeposits/{depositId}/checks', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks");
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", "/checkDeposits/checkDeposits/{depositId}/checks", data)
    req.Header = headers

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

Add a check to the check deposit batch

POST /checkDeposits/{depositId}/checks

Create a new check in the check deposit. A check must reside inside a check deposit resource. Checks can only be added to check deposits that have state pending, processing, valid, or invalid. Device data may be provided to identify the client device. The device data for each check may be compared to the device data for other checks or the parent check deposit to aid verification. It is recommended to provide as much device data as possible.

The check in the response body includes apiture:uploadFrontImage and apiture:uploadBackImage links which the client should use to upload check images. Images must be uploaded in JPEG format.

After images have been successfully uploaded, apiture:frontImageContent and apiture:backImageContent links can be used to download image contents.

A check must be processed by using the apiture:process link before it can be submitted. The check must have successfully uploaded front and back images in order to be processed.

Body parameter

{
  "enteredAmount": "43.11",
  "description": "from jim",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  }
}

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
body
(body)
createCheck (required)
The data necessary to create a new check.

Try It

Example responses

201 Response

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Responses

StatusDescription
201 Created
Created
Schema: check
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check deposit operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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.

getCheck

Code samples

# You can also use wget
curl -X GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  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('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
{
  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 '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  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('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}");
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", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}", data)
    req.Header = headers

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

Fetch a check

GET /checkDeposits/{depositId}/checks/{checkId}

Fetch a HAL representation of this check resource

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. 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 returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: check
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 check resource at the specified {checkId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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 check deposit resource.

patchCheck

Code samples

# You can also use wget
curl -X PATCH /checkDeposits/checkDeposits/{depositId}/checks/{checkId} \
  -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 /checkDeposits/checkDeposits/{depositId}/checks/{checkId} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
{
  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 '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  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('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}");
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", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}", data)
    req.Header = headers

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

Modify a check in the deposit

PATCH /checkDeposits/{depositId}/checks/{checkId}

Modify check data. enteredAmount and description are the only editable fields.

Checks may not be modified if they have state submitted, accepted, or rejected.

If a check has state processing, valid, or invalid, modifying the check enteredAmount invalidates the image analysis, resets the check to pending, and must be processed again.

Body parameter

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. 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)
check (required)
The data to modify a check

Try It

Example responses

200 Response

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: check
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check deposit operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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

deleteCheck

Code samples

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

DELETE /checkDeposits/checkDeposits/{depositId}/checks/{checkId} HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  method: 'delete',

  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('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
{
  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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}");
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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}", data)
    req.Header = headers

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

Remove a check from the check deposit

DELETE /checkDeposits/{depositId}/checks/{checkId}

Removes the check from the check deposit batch. Checks may not be deleted if they have state submitted, accepted, or rejected.

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. This is an opaque string.

Try It

Example responses

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
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check deposit operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

getCheckImage

Code samples

# You can also use wget
curl -X GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side} \
  -H 'Accept: */*' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side} HTTP/1.1

Accept: */*
If-None-Match: string

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
  method: 'get',

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

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

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

};

fetch('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}");
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{"*/*"},
        "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", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}", data)
    req.Header = headers

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

Return the check side image metadata

GET /checkDeposits/{depositId}/checks/{checkId}/images/{side}

Return metadata of the image file. Valid check side values:

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. This is an opaque string.
side
(path)
string (required)
The side of the check. Valid check side values:

Try It

Example responses

200 Response

{
  "_id": "7dc00a42-76f9-4bbb-bda3-bd6ed203c01b",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkImage/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:content": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    }
  },
  "name": "frontImage.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2019-01-04T07:00:49.375Z"
}

Responses

StatusDescription
200 OK
OK
Schema: checkImage
StatusDescription
404 Not Found

Not Found. There is no check image found. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

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 check deposit resource.

createCheckImageUpload

Code samples

# You can also use wget
curl -X POST /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side} HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
  method: 'post',

  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('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}", data)
    req.Header = headers

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

Create a new upload uri for the check side image

POST /checkDeposits/{depositId}/checks/{checkId}/images/{side}

Create a new upload uri for the check side image. This operation is used if the client needs to replace an uploaded image side, it is not needed for new checks. Upload uris may not be issued if the check has state submitted, accepted, or rejected. The response body includes a apiture:uploadUri link which is used to POST the file content and upload an image. This replaces any existing image. The Content-Type header (or the Content-Type in the multipart form data) must match the contentType of the file resource. JPEG is the only supported image format.

If a check has state processing, valid, or invalid, creating a new image upload uri invalidates the image analysis, resets the check to pending, and the check must be processed again. Valid check side values:

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. This is an opaque string.
side
(path)
string (required)
The side of the check. Valid check side values:

Try It

Example responses

200 Response

{
  "_id": "7dc00a42-76f9-4bbb-bda3-bd6ed203c01b",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkImage/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:content": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    }
  },
  "name": "frontImage.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2019-01-04T07:00:49.375Z"
}

Responses

StatusDescription
200 OK
OK
Schema: checkImage
StatusDescription
404 Not Found

Not Found. There is no such check resource at the specified {checkId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

getCheckImageContent

Code samples

# You can also use wget
curl -X GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content \
  -H 'Accept: */*' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content HTTP/1.1

Accept: */*
If-None-Match: string

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content',
  method: 'get',

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

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

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

};

fetch('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/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{"*/*"},
        "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", "/checkDeposits/checkDeposits/{depositId}/checks/{checkId}/images/{side}/content", data)
    req.Header = headers

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

Return the raw content of the check image side

GET /checkDeposits/{depositId}/checks/{checkId}/images/{side}/content

Return the raw content of the image file 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. Valid check side values:

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(path)
string (required)
The unique identifier of this check. This is an opaque string.
side
(path)
string (required)
The side of the check. Valid check side values:

Try It

Example responses

200 Response

"string"

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 check resource at the specified {checkId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 Content-Type string
The media type of the file content. The default image media type is image/jpeg, but this may change if additional file types are supported in the future.
302 Location string
The URL where the file's content is located.

processCheck

Code samples

# You can also use wget
curl -X POST /checkDeposits/checkDeposits/{depositId}/processedChecks?checkId=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /checkDeposits/checkDeposits/{depositId}/processedChecks?checkId=string HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/checkDeposits/{depositId}/processedChecks',
  method: 'post',
  data: '?checkId=string',
  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('/checkDeposits/checkDeposits/{depositId}/processedChecks?checkId=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/checkDeposits/checkDeposits/{depositId}/processedChecks',
  params: {
  'checkId' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/checkDeposits/checkDeposits/{depositId}/processedChecks', params={
  'checkId': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/checkDeposits/{depositId}/processedChecks?checkId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/checkDeposits/checkDeposits/{depositId}/processedChecks", data)
    req.Header = headers

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

Process a check

POST /checkDeposits/{depositId}/processedChecks

Process a Check to validate data, perform image analysis, and return risk factors. This operation is invoked from the apiture:process link on a check. Each check in a check deposit must be processed before the batch can be submitted. Checks may not be processed if they have state submitted, accepted, or rejected.

If the check has not been processed, this returns 202 Accepted and no response body. The response includes a Retry-After response header with a recommended retry interval in seconds. If the check has finished processing, the operations returns 200 OK and the response body is the updated check resource.

riskRejections, riskErrors, riskWarnings, and riskInfo may contain risk factors after a check has completed processing. Risk factors include diagnostic information about the check, check images, or end user, which indicate if the check is acceptable for deposit.

If a check has finished processing and contains no risk factors, it indicates the check has a high chance of being accepted for deposit.

Parameters

Parameter Description
depositId
(path)
string (required)
The unique identifier of this deposit. This is an opaque string.
checkId
(query)
string (required)
The unique identifier of this check. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Responses

StatusDescription
200 OK
OK. The request has succeeded.
Schema: check
202 Accepted
Accepted. The request has been accepted for processing, but the processing has not been completed.
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
202 Retry-After string
Indicates a suggested delay in seconds after which the client should retry the operation. Example: Retry-After: 5

rejectCheck

Code samples

# You can also use wget
curl -X POST /checkDeposits/rejectedChecks?check=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /checkDeposits/rejectedChecks?check=string HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/rejectedChecks',
  method: 'post',
  data: '?check=string',
  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('/checkDeposits/rejectedChecks?check=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/checkDeposits/rejectedChecks',
  params: {
  'check' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/checkDeposits/rejectedChecks', params={
  'check': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/rejectedChecks?check=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/checkDeposits/rejectedChecks", data)
    req.Header = headers

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

Reject a check

POST /rejectedChecks

Reject a check if it is eligible to be rejected. This operation is invoked from the apiture:reject link on a check. The link is only be returned for admins, and only admins can reject a check. There is no request body in this method. Rejecting a check also reverses the core transaction.

Parameters

Parameter Description
check
(query)
string (required)
A server-generated key which identifies an existing check resource.

Try It

Example responses

200 Response

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Responses

StatusDescription
200 OK
OK. The request has succeeded.
Schema: check
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such deposit resource at the specified {depositId} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The requested check operation is not allowed. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Configuration

Check Deposits Service Configuration

getConfiguration

Code samples

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

GET /checkDeposits/configurations HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/configurations',
  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('/checkDeposits/configurations',
{
  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 '/checkDeposits/configurations',
  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('/checkDeposits/configurations', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations");
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", "/checkDeposits/configurations", data)
    req.Header = headers

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

Configuration definition for this API

GET /configurations

Returns the configuration for this API

Try It

Example responses

200 Response

{
  "_links": {
    "self": {
      "href": "/configurations/configurations/"
    },
    "apiture:groups": {
      "href": "/configurations/configurations/groups"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configuration

getConfigurationGroups

Code samples

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

GET /checkDeposits/configurations/groups HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups',
  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('/checkDeposits/configurations/groups',
{
  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 '/checkDeposits/configurations/groups',
  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('/checkDeposits/configurations/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups");
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", "/checkDeposits/configurations/groups", data)
    req.Header = headers

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

Return a collection of configuration groups

GET /configurations/groups

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

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first configuration group item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of configuration group representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
          "_links": {
            "self": {
              "href": "/configurations/groups/basic"
            }
          },
          "name": "basic",
          "label": "Basic Settings",
          "description": "The basic settings for the Transfers API"
        },
        {
          "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
          "_links": {
            "self": {
              "href": "/configurations/groups/calendar"
            }
          },
          "name": "calendar",
          "label": "Calendar",
          "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
        }
      ]
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configurationGroups
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 contains details about the request error.

This error response may have one of the following type values:

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 contains details about the request error.
Schema: errorResponse

getConfigurationGroup

Code samples

# You can also use wget
curl -X GET /checkDeposits/configurations/groups/{groupName} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/configurations/groups/{groupName} HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}',
  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('/checkDeposits/configurations/groups/{groupName}',
{
  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 '/checkDeposits/configurations/groups/{groupName}',
  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('/checkDeposits/configurations/groups/{groupName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}");
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", "/checkDeposits/configurations/groups/{groupName}", data)
    req.Header = headers

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

Fetch a representation of this configuration group

GET /configurations/groups/{groupName}

Return a HAL representation of this configuration group resource.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
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 returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": "17:30:00"
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configurationGroup
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 configuration group resource at the specified {groupName} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for GET operations for this configuration group resource.

getConfigurationGroupSchema

Code samples

# You can also use wget
curl -X GET /checkDeposits/configurations/groups/{groupName}/schema \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/configurations/groups/{groupName}/schema HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}/schema',
  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('/checkDeposits/configurations/groups/{groupName}/schema',
{
  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 '/checkDeposits/configurations/groups/{groupName}/schema',
  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('/checkDeposits/configurations/groups/{groupName}/schema', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}/schema");
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", "/checkDeposits/configurations/groups/{groupName}/schema", data)
    req.Header = headers

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

Fetch the schema for this configuration group

GET /configurations/groups/{groupName}/schema

Return a HAL representation of this configuration group schema resource.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
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 returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configurationSchema
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 configuration group resource at the specified {groupName} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT

getConfigurationGroupValues

Code samples

# You can also use wget
curl -X GET /checkDeposits/configurations/groups/{groupName}/values \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /checkDeposits/configurations/groups/{groupName}/values HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}/values',
  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('/checkDeposits/configurations/groups/{groupName}/values',
{
  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 '/checkDeposits/configurations/groups/{groupName}/values',
  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('/checkDeposits/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}/values");
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", "/checkDeposits/configurations/groups/{groupName}/values", data)
    req.Header = headers

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

Fetch the values for the specified configuration group

GET /configurations/groups/{groupName}/values

Return a representation of this configuration group values resource.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
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 returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "dailyLimit": 5,
  "cutoffTime": "17:30:00"
}

Responses

StatusDescription
200 OK
OK
Schema: configurationValues
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 configuration group resource at the specified {groupName} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT

updateConfigurationGroupValues

Code samples

# You can also use wget
curl -X PUT /checkDeposits/configurations/groups/{groupName}/values \
  -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 /checkDeposits/configurations/groups/{groupName}/values HTTP/1.1

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

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}/values',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "dailyLimit": 5,
  "cutoffTime": "17:30:00"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/checkDeposits/configurations/groups/{groupName}/values',
{
  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 '/checkDeposits/configurations/groups/{groupName}/values',
  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('/checkDeposits/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}/values");
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", "/checkDeposits/configurations/groups/{groupName}/values", data)
    req.Header = headers

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

Update the values for the specified configuration group

PUT /configurations/groups/{groupName}/values

Perform a complete replacement of this set of values

Body parameter

{
  "dailyLimit": 5,
  "cutoffTime": "17:30:00"
}

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
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)
configurationValues (required)

Try It

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configurationSchema
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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
403 Forbidden

Access denied. Only user allowed to update configurations is an admin.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
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 may be provided in an If-Match request header for PUT

getConfigurationGroupValue

Code samples

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

GET /checkDeposits/configurations/groups/{groupName}/values/{valueName} HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
  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('/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
{
  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 '/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
  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('/checkDeposits/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}/values/{valueName}");
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", "/checkDeposits/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Fetch a single value associated with the specified configuration group

GET /configurations/groups/{groupName}/values/{valueName}

Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration group. The response is always a JSON value which can be parsed with a strict JSON parser. The response may be

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*

Try It

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK. The value of the named configuraton value as a JSON string, number, boolean, array, or object.
Schema: string
StatusDescription
404 Not Found

Not Found. There is either no such configuration group resource at the specified {groupName} or no such value at the specified {valueName}. The _error field in the response contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.

updateConfigurationGroupValue

Code samples

# You can also use wget
curl -X PUT /checkDeposits/configurations/groups/{groupName}/values/{valueName} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT /checkDeposits/configurations/groups/{groupName}/values/{valueName} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = 'string';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
{
  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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put '/checkDeposits/configurations/groups/{groupName}/values/{valueName}',
  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.put('/checkDeposits/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/configurations/groups/{groupName}/values/{valueName}");
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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/checkDeposits/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Update a single value associated with the specified configuration group

PUT /configurations/groups/{groupName}/values/{valueName}

Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration group as defined in the configuration group's schema. The request body must conform to the configuration group's schema for the named {valueName}. This operation is idempotent. The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be

Body parameter

"string"

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*
body
(body)
string (required)
The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or object.

Try It

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK
Schema: string
StatusDescription
403 Forbidden

Access denied. Only administrators may update configurations.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.

Limits

Limits on the Amount or Number of check Deposits

getLimits

Code samples

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

GET /checkDeposits/limits HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/limits',
  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('/checkDeposits/limits',
{
  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 '/checkDeposits/limits',
  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('/checkDeposits/limits', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/limits");
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", "/checkDeposits/limits", data)
    req.Header = headers

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

Return the mobile check deposit limits

GET /limits

Return the mobile check deposit limits. The response shows the check deposit limits and amounts for the previous 30 days.

Parameters

Parameter Description
account
(query)
string
Return check deposit limits for the named account. This is the _id of the account resource. If omitted, the response contains only user limits.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDepositLimits/v1.0.1/profile.json",
  "limits": [
    {
      "context": "user",
      "days": 30,
      "checkCounts": {
        "current": 100,
        "remaining": 30
      },
      "checkAmounts": {
        "current": "10000.00",
        "remaining": "2500.00",
        "currency": "USD"
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK
Schema: checkDepositLimits
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 contains details about the request error.

This error response may have one of the following type values:

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 contains details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

API

Endpoints which describe this API.

getApi

Code samples

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

GET /checkDeposits/ HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/checkDeposits/',
  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('/checkDeposits/',
{
  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 '/checkDeposits/',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/checkDeposits/', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/");
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", "/checkDeposits/", 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.1/profile.json",
  "_links": {}
}

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

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

GET /checkDeposits/apiDoc HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/checkDeposits/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('/checkDeposits/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 '/checkDeposits/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/checkDeposits/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("/checkDeposits/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", "/checkDeposits/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

Schemas

abstractRequest

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

Abstract Request (v2.0.0)

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

This schema was resolved from common/abstractRequest.

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.

abstractResource

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

Abstract Resource (v2.0.0)

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.

This schema was resolved from common/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 error
An object which describes an error. This value is omitted if the operation succeeded without error.

attributeValue

{}

Attribute Value (v2.0.0)

The data associated with this attribute.

This schema was resolved from common/attributeValue.

Properties

attributes

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

Attributes (v2.0.0)

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

This schema was resolved from common/attributes.

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

This schema was resolved from common/attributeValue.

check

{
  "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:reject": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/rejectedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
    },
    "apiture:uploadFrontImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:frontImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    },
    "apiture:frontImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:uploadBackImage": {
      "href": "https://api.example.bank/uploadUri"
    },
    "apiture:backImageContent": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
    },
    "apiture:backImage": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "check from Jim",
  "enteredAmount": "55.10",
  "scannedAmount": "55.10",
  "scannedAmountConfidence": 0.92,
  "scannedMicr": "V902810V T121143260T333222444V",
  "scannedCheckNumber": "902810",
  "riskWarnings": [
    {
      "type": "payeeAccountHolderMismatch",
      "label": "Payee name does not match Account owner",
      "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
    }
  ]
}

Check (v1.0.0)

Check resource. The apiture:reject link invokes the rejectCheck operation to reject an invalid check (POST); it is present if the rejectCheck operation is available for the check.

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

RelSummaryMethod
thisFetch a check depositGET
apiture:target Target account where the checks are deposited'GET
apiture:uploadFrontImage Upload check front imageGET
apiture:uploadBackImage Upload check check imageGET
apiture:frontImage Get check front image metadataGET
apiture:frontImageContent Get check fron image fileGET
apiture:backImage Get check back image metadataGET
apiture:backImageContent Get check back image fileGET
apiture:rejectReject a checkPOST
apiture:processProcess a checkPOST

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
The unique identifier for this check deposit resource. This is an immutable opaque string.
read-only
description string
Description for the check.
state checkState

The state of the check. This field is immutable and derived.

checkState strings may have one of the following enumerated values:

ValueDescription
pendingPending
processingProcessing
validValid
invalidInvalid
submittedSubmitted
acceptedAccepted
rejectedRejected
riskRejections [riskFactor]
Risk factors indicating the check has been rejected and can't be corrected. If a check contains any rejection risk factors, the check must be removed from the check deposit. A check deposit can't be submitted if any of its checks contain rejection risk factors.
riskErrors [riskFactor]
Risk factors indicating the check has errors which must be corrected before the check deposit can be submitted. Modifying the check data and re-processing may resolve errors. A check deposit can't be submitted if any of its checks contain error risk factors.
riskWarnings [riskFactor]
Risk factors indicating the check has warnings. Warnings do not prevent a check from being deposited, but are helpful to show the user to catch any potential issues before submission. A check deposit can still be submitted if checks contain warnings.
riskInfo [riskFactor]
Various additional diagnostic information about the check.
enteredAmount string
The USD amount of the check entered by the user. The numeric value is represented as a string so that it can be exact with no loss of precision.
scannedAmount string
The USD amount of the check read by OCR. This value may only be available after processing is complete. The numeric value is represented as a string so that it can be exact with no loss of precision.
read-only
scannedAmountConfidence number
Indicates the confidence in the accuracy of the scannedAmount value, from lowest confidence 0.0 to highest confidence, 1.0.
read-only
maximum: 1
scannedMicr string
The scanned magnetic ink character recognition (MICR) number from the check image. This value encodes the routing number, account number, check number, check amount, and other data from the check. This value is only be available after processing is complete.
read-only
scannedCheckNumber string
The number of the check read by OCR. This value may only be available after processing is complete.
read-only
attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.

checkAmounts

{
  "current": "string",
  "remaining": "string",
  "currency": "string"
}

Check Amount Limits (v1.0.1)

The limits on check deposit amounts in this time period.

Properties

NameDescription
current string(decimal)
The current total check deposit amount in this time period.
read-only
remaining string(decimal)
The remaining check deposit amount.
read-only
currency string
The ISO 4217 currency code for this balance.
read-only

checkCounts

{
  "current": 0,
  "remaining": 0
}

Check Count Limits (v1.0.1)

The limits on the number of check deposit in this time period.

Properties

NameDescription
current integer
The current number of mobile check deposits in this time period
read-only
remaining integer
The number of check deposits remaining.
read-only

checkDeposit

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposit/v1.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:target": {
      "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    },
    "apiture:createCheck": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks"
    },
    "apiture:submit": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/submitted?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    },
    "apiture:process": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits/processedCheckDeposits?depositId=f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "submitted",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "depositedAmount": "125.20",
  "checkCount": 2,
  "enteredAmount": "125.10",
  "scannedAmount": "125.20",
  "checks": [
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/uploadUri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    },
    {
      "_id": "999a1163-6e32-47fd-b9b8-085e198729b2",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/check/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:process": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/processedChecks?checkId=999a1163-6e32-47fd-b9b8-085e198729b2"
        },
        "apiture:uploadFrontImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:frontImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
        },
        "apiture:frontImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
        },
        "apiture:uploadBackImage": {
          "href": "https://api.example.bank/some-upload-uri"
        },
        "apiture:backImageContent": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back/content"
        },
        "apiture:backImage": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/back"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "check from Jim",
      "enteredAmount": "55.10",
      "scannedAmount": "55.10",
      "scannedAmountConfidence": 0.92,
      "scannedMicr": "V902810V T121143260T333222444V",
      "scannedCheckNumber": "902810",
      "riskWarnings": [
        {
          "type": "payeeAccountHolderMismatch",
          "label": "Payee name does not match Account owner",
          "description": "The payee name of the check does not match the name of the owner of the account to deposit into."
        }
      ]
    }
  ]
}

Check Deposit (v1.0.1)

Check deposit resource. Checks are added to this before being deposited. The apiture:target link contains the URI of the target account where the checks are deposited. The apiture:process link invokes the processCheckDeposit operation to process the checks to verify the check contents (POST); the link is present if that operation is available for the check deposit. The apiture:submit link invokes the submitCheckDeposit operation to submit the valid checks for deposit (POST); the link is present if that operation is available for the check deposit.

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

RelSummaryMethod
thisFetch a check depositGET
apiture:target Target account where the checks are depositedGET
apiture:createCheckAdd a check to the check deposit batchPOST
apiture:submitSubmit a check depositPOST
apiture:processProcess checks in a check depositPOST

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
The unique identifier for this account resource. This is an immutable opaque string.
read-only
state checkDepositState

The state of the check deposit. This field is immutable and derived.

checkDepositState strings may have one of the following enumerated values:

ValueDescription
pendingPending
processingProcessing
validValid
invalidInvalid
submittedSubmitted
acceptedAccepted
rejectedRejected
acceptedWithRejectionsAccepted with Rejections
description string
Description for the deposit.
depositedAmount string
The total USD amount of the check deposit after it was successfully deposited. This number is immutable and only available after the check deposit was accepted by the FI and has state 'accepted' or 'acceptedWithRejections'. The numeric value is represented as a string so that it can be exact with no loss of precision.
read-only
enteredAmount string
The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of precision.
scannedAmount string
The total USD amount of the deposit read by OCR. The numeric value is represented as a string so that it can be exact with no loss of precision.
read-only
checkCount number
The current count of checks in the deposit batch.
read-only
createdAt string(date-time)
The date-time the check deposit was created. This is an RFC 3339 UTC time stamp.
read-only
submittedAt string(date-time)
The date-time the check deposit was submitted. This is an RFC 3339 UTC time stamp.
read-only
acceptedAt string(date-time)
The date-time the check deposit was accepted. This does not mean the checks have cleared, only that the deposit has been posted. This is an RFC 3339 UTC time stamp.
read-only
checks [check]
Checks included in the Check Deposit.
read-only
confirmationId string
The confirmation id that the deposit request was received for processing.
read-only

checkDepositLimit

{
  "_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"
      }
    }
  },
  "context": "user",
  "days": 1,
  "checkCounts": {
    "current": 0,
    "remaining": 0
  },
  "checkAmounts": {
    "current": "string",
    "remaining": "string",
    "currency": "string"
  }
}

Check Deposit Limit (v1.0.1)

List of check deposit limits and the remaining amounts.

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.
context checkDepositLimitContext
Defines the context of this check deposit limit.
days integer
The number of days covered this limit response, backwards from the today.
minimum: 1
checkCounts checkCounts
Limits on the number of check deposit.
checkAmounts checkAmounts
Limits on check deposit amounts.

checkDepositLimitContext

"user"

Check Deposit Limit Context (v1.0.0)

The context of a check deposit limit.

checkDepositLimitContext strings may have one of the following enumerated values:

ValueDescription
userUser: User-level check deposit limits.
accountAccount-level check deposit limits.

Type: string
Enumerated values:
user
account

checkDepositLimits

{
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDepositLimits/v1.0.1/profile.json",
  "limits": [
    {
      "context": "user",
      "days": 30,
      "checkCounts": {
        "current": 100,
        "remaining": 30
      },
      "checkAmounts": {
        "current": "10000.00",
        "remaining": "2500.00",
        "currency": "USD"
      }
    }
  ]
}

Check Deposit Limits (v1.0.1)

Collection of check deposit limits and the remaining amounts.

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.
limits [checkDepositLimit]
An array containing the limits.

checkDepositState

"submitted"

Check Deposit State (v1.0.0)

The state of the check deposit. This field is immutable and derived.

checkDepositState strings may have one of the following enumerated values:

ValueDescription
pendingPending
processingProcessing
validValid
invalidInvalid
submittedSubmitted
acceptedAccepted
rejectedRejected
acceptedWithRejectionsAccepted with Rejections

Type: string
Enumerated values:
pending
processing
valid
invalid
submitted
accepted
rejected
acceptedWithRejections

checkDeposits

{
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkDeposits/v1.0.1/profile.json",
  "start": 0,
  "limit": 10,
  "count": 1,
  "name": "check deposits",
  "_links": {
    "self": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10"
    },
    "first": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=0&limit=10"
    },
    "next": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits?start=10&limit=10"
    },
    "collection": {
      "href": "https://api.example.bank/checkDeposits/checkDeposits"
    }
  },
  "_embedded": {
    "items": {
      "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.example.bank/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
        },
        "apiture:target": {
          "href": "https://api.example.bank/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "bake sale checks",
      "enteredAmount": "103.22",
      "checkCount": 3
    }
  }
}

Check Deposits Collection (v1.0.1)

Collection of check deposits. 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 links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded checkDepositsEmbeddedObjects
Embedded objects.
_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.

checkDepositsEmbeddedObjects

{
  "items": [
    {
      "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
      "_profile": "https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
        }
      },
      "state": "pending",
      "createdAt": "2019-01-20T05:54:52.375Z",
      "description": "bake sale checks",
      "enteredAmount": "1023.22",
      "checkCount": 3
    }
  ]
}

Check Deposits Embedded Objects (v1.0.0)

Objects embedded in the checkDeposits collection's items.

Properties

NameDescription
items [summaryCheckDeposit]
An array containing a page of check deposit items.

checkImage

{
  "_id": "7dc00a42-76f9-4bbb-bda3-bd6ed203c01b",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkImage/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:content": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    }
  },
  "name": "frontImage.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2019-01-04T07:00:49.375Z"
}

Check Image (v1.0.0)

Representation of a check image file. The image may contain an apiture:uploadUrl link within the item's _links. The client should next PUT the file content to the upload URLs. The file must be an image with JPEG format. If file content has been uploaded, the image may have an apiture:content link to access the direct URI of the file's content.

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 file name, for identification purposes. File names may include file extensions such as .jpeg for JPEG images, although the system does not validate or ensure that extensions match the file content type. This is limited to 64 characters and may not contain certain special characters such as / or \. If omitted, the system will assign a name.
maxLength: 64
description string
A description of this file and its contents.
maxLength: 4096
contentType string
The media type for this file.
sizeBytes number
The file size in bytes. This is a derived property and cannot be modified in updates.
read-only
createdAt string(date-time)
The date-time when the image was created or uploaded.
read-only

checkState

"processing"

Check State (v1.0.0)

The state of the check. This field is immutable and derived.

checkState strings may have one of the following enumerated values:

ValueDescription
pendingPending
processingProcessing
validValid
invalidInvalid
submittedSubmitted
acceptedAccepted
rejectedRejected

Type: string
Enumerated values:
pending
processing
valid
invalid
submitted
accepted
rejected

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 (v2.0.0)

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

This schema was resolved from common/collection.

Properties

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

configuration

{
  "_links": {
    "self": {
      "href": "/configurations/configurations/"
    },
    "apiture:groups": {
      "href": "/configurations/configurations/groups"
    }
  }
}

Configuration

Represents the configuration for various services.

This schema was resolved from configurations/configuration.

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.

This schema was resolved from common/links.

configurationGroup

{
  "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": "17:30:00"
  }
}

Configuration Group

Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

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 name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096
schema configurationSchema
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

values configurationValues
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note*: the schema may also contain default values which, if present, are used if a value is *not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

configurationGroupSummary

{
  "_profile": "https://api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API"
}

Configuration Group Summary

A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

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 name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096

configurationGroups

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "_embedded": {
    "items": {
      "anyOf": [
        {
          "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
          "_links": {
            "self": {
              "href": "/configurations/groups/basic"
            }
          },
          "name": "basic",
          "label": "Basic Settings",
          "description": "The basic settings for the Transfers API"
        },
        {
          "_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/profile.json",
          "_links": {
            "self": {
              "href": "/configurations/groups/calendar"
            }
          },
          "name": "calendar",
          "label": "Calendar",
          "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
        }
      ]
    }
  }
}

Configuration Group Collection

Collection of configuration groups. 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).

This schema was resolved from configurations/configurationGroups.

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 [configurationGroupSummary]
An array containing a page of configuration group 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.

configurationSchema

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Configuration Schema

The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Properties

NameDescription
additionalProperties configurationSchemaValue
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationSchemaValue

{}

Configuration Schema Value

The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

Properties

configurationValue

{}

Configuration Value

The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

Properties

configurationValues

{
  "dailyLimit": 5,
  "cutoffTime": "17:30:00"
}

Configuration Values

The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note*: the schema may also contain default values which, if present, are used if a value is *not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Properties

NameDescription
additionalProperties configurationValue
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

createCheck

{
  "enteredAmount": "43.11",
  "description": "from jim",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  }
}

Create Check Fields (v1.0.0)

Create a new check.

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.
enteredAmount string
The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of precision.
description string
Description for the deposit.
device device
Diagnostic information about the client device.

createCheckDeposit

{
  "enteredAmount": "215.10",
  "description": "bake sale checks",
  "device": {
    "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
    "type": "iPhone",
    "operatingSystem": "iOS",
    "operatingSystemVersion": "13.2.1",
    "make": "Apple",
    "model": "iPhoneXs"
  },
  "_links": {
    "apiture:target": {
      "href": "/accounts/accounts/599b8ab5-6925-4f58-90c5-f6aa5b05f9d9"
    }
  },
  "_profile": "https://api.apiture.com/schemas/checkDeposits/createCheckDeposit/v1.0.1/profile.json"
}

Create Check Deposit Fields (v1.0.1)

Create a new check deposit. Account URI to deposit into should be included in _links 'apiture:target'.

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

RelSummaryMethod
apiture:target Target account where the checks are depositedGET

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.
enteredAmount string
The total USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of precision.
description string
Description for the deposit.
device device
Diagnostic information about the client device.

device

{
  "id": "8b1e09ee-49cd-47c1-bd72-837432296e3c",
  "type": "iPhone",
  "operatingSystem": "iOS",
  "operatingSystemVersion": "13.2.1",
  "make": "Apple",
  "model": "iPhoneXs"
}

Device Data (v1.0.0)

Diagnostic information about the client device.

Properties

NameDescription
id string
Unique identifier of the device originating the request. This can be any unique value to identify the client device.
type string
The type of device originating the request. This is a high level indicator for the type of the client device. iPhone, Android, Web Browser are examples.
operatingSystem string
The operating system of the device originating the request. iOS, Android, macOS, Windows, Linux are examples.
operatingSystemVersion string
The version of the operating system of the device originating the request.
make string
The make of the device originating the request. Apple, Google, Motorola, Dell are examples.
model string
The model of the device originating the request. iPhoneXs, Pixel3, G2qx, MacbookPro13 are examples.

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 (v2.0.0)

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

This schema was resolved from common/error.

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.

This schema was resolved from common/links.

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 (v2.0.0)

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

This schema was resolved from common/errorResponse.

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.

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

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

This schema was resolved from common/link.

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.

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

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

This schema was resolved from common/links.

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.

This schema was resolved from common/link.

riskFactor

{
  "_links": {
    "help": {
      "href": "{uri of help website for risk factor}"
    }
  },
  "type": "payeeAccountHolderMismatch",
  "label": "Payee name does not match Account owner",
  "description": "The payee name of the check does not match the name of\n  the owner of the account to deposit into."
}

Risk Factor (v1.0.0)

Diagnostic information about the check.

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.
type string
The risk factor type.
label string
A short label identifying the risk factor.
description string
A longer description with information about the risk factor. This may include recovery options in the case of warnings or errors.
attributes attributes
Data attribute associated with the risk factor, such as values or constraints.

root

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

API Root (v2.0.1)

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

This schema was resolved from common/root.

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.

summaryCheckDeposit

{
  "_id": "f6c321e6-c628-419a-879e-ebcbc56b57fc",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/summaryCheckDeposit/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc"
    }
  },
  "state": "pending",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "description": "bake sale checks",
  "enteredAmount": "1023.22",
  "checkCount": 3
}

Check Deposit Summary (v1.0.0)

Summary representation of check deposit resource in 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.
_id string
The unique identifier for this account resource. This is an immutable opaque string.
read-only
state checkDepositState

The state of the check deposit. This field is immutable and derived.

checkDepositState strings may have one of the following enumerated values:

ValueDescription
pendingPending
processingProcessing
validValid
invalidInvalid
submittedSubmitted
acceptedAccepted
rejectedRejected
acceptedWithRejectionsAccepted with Rejections
description string
Description for the deposit.
depositedAmount string
The total USD amount of the check deposit after it was successfully deposited. This number is immutable and only available after the check deposit was accepted by the FI and has state 'accepted' or 'acceptedWithRejections'. The numeric value is represented as a string so that it can be exact with no loss of precision.
read-only
enteredAmount string
The USD amount of the deposit entered by the user. The numeric value is represented as a string so that it can be exact with no loss of precision.
scannedAmount string
The total USD amount of the deposit read by OCR. The numeric value is represented as a string so that it can be exact with no loss of precision.
read-only
checkCount number
The current count of checks in the deposit batch.
read-only
createdAt string(date-time)
The date-time the check deposit was created. This is an RFC 3339 UTC time stamp.
read-only
submittedAt string(date-time)
The date-time the check deposit was submitted. This is an RFC 3339 UTC time stamp.
read-only
acceptedAt string(date-time)
The date-time the check deposit was accepted. This does not mean the checks have cleared, only that the deposit has been posted. This is an RFC 3339 UTC time stamp.
read-only