Payments v0.67.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Create, Schedule and manage payment batches, payment batch templates (future), and payment contacts.
Payment batches are collections of one or more payments (or drafts) to one or more third-parties. An ACH batch is a payment batch with a payment batch type of ach
. A payment can also be a wire transfer (type wireTransfer
). Each batch can only manage one type of payment.
Each batch contains a list of payment instructions, which include an amount and specific payment details for that payment contact, such as an ACH payment to a specific bank account identified by a routing number and account number, or the intermediary financial institution and beneficiary financial institution for a wire transfer. Batches have a payment direction. In a credit batch, the business pays one or more recipients. In a debit batch, the business drafts payment from one or more payers. Batches imported from an ACH file may have payment instructions in both directions. Wire transfers must be credit
.
The third-parties involved in the payments are known as payment contacts. Each payment contact provides relevant information about a contact needed to facilitate a batch payment, such as a physical address and phone numbers. Payment contacts are used to create an association between payees and their accounts. They contain payment methods which are used to populate payment batch templates and payment batches, along with financial institution accounts and payment amounts.
A payment contact can contain multiple payment methods. Payment methods may contain a contact's financial institution account information or other account identification fields. A payment contact can be designated as being the primary
method. Only one payment method can be designated as primary
. If a new payment method is set as the primary method when the payment contact has an already existing primary payment method, the new payment method becomes the primary method.
A batch also has a schedule which consists of a scheduled date and optional recurrence. The schedule may be a one-time or recurring payment.
All the payments in a batch either draw from or are credited to a settlement account, usually a business checking account. The payment can be either a summary (all payment instructions are aggregated into one transaction) against the settlement account) or detailed settlement (one transaction per payment instruction).
Saved payment batches may have one or more problems associated with them:
- No payment instructions
- Insufficient funds for the payment
- The sum of all payments in the batch may exceed customer limits
- Some payment instructions may have invalid data, such as a 0 amount, an invalid ACH routing number, or an invalid account number
- Missing or invalid intermediary or beneficiary financial institutions for wire transfers
- It is past the cutoff time of the approval due date
If a payment batch contains new payment contacts whose ACH payment details have not yet been verified, the API supports creating and submitting a prenote batch which verifies the ACH payment routing number and account number where needed.
After editing all the payment details and payment instructions and all problems have been resolved, the customer may submit the payment batch. if the batch also requires additional approval from other business users, the author can list potential approvers and request approval from those with approval authority. Once all approvals have been given, the batch is scheduled for processing after the cutoff time on the derived processing date. An approver may reject the batch, requiring changes to it, and the approval process starts over.
The API provides an operation to list pending, scheduled, and previously processed or rejected payment batches.
Payment batches can be deleted in bulk by using the deletePaymentBatches
operation. Payment batches are not deleted if they are already processing or have been processed. When using deletePaymentBatches
, if any of payment batches are ineligible for deletion, they are excluded from processing. All remaining payment batches from the list will be deleted.
Approval Flows
The financial institution may require one or more account holders to approve payment batches. The listEligiblePaymentBatchApprovers
operation returns a list of eligible approvers. The customer creating or editing the batch should select one or more from that list and add them to the batch with the addPaymentBatchApprovers
operation. The length of the approvals
array in the batch indicates the minimum number of approvals before a payment batch may be processed.
If a customer has submit
permission on the batch, they can submit a batch with the submitPaymentBatch
operation. If they also have approval
permission, their approval is implicitly given. The batch remains in the pendingApproval
state as long as the number of approvals given is less than required. Other approvers can either approve the batch (approvePaymentBatch
) or reject it (rejectPaymentBatch
). Once the minimum number of approvers have approved the batch, its state changes to scheduled
. Customers with unlock
permissions may also remove all approvals (unlockPaymentBatch
) of a scheduled
batch in order to make the batch editable, for example to change the processing date. Rejected batches require updating to address the given reason for rejection; rejecting also removes all approvals. After removing all approvals or rejecting a payment batch, the approval process starts over.
Dates
Payments have several dates associated with them:
- The scheduled date is the target date when the payment must be completed. For example, if payroll is due the last day of the month, the scheduled date for May is the 31st. The scheduled date is required when creating a payment batch. The remaining dates are derived from the scheduled date.
- The effective date is the date when the processing must be completed. For example, if the payroll payments' scheduled date falls on a weekend or holiday, the effective date is computed so the payroll deposits complete the processing day immediately before. Thus, if the scheduled May 31 is a Memorial Day Monday, the effective date is Friday May 28.
- The approval due date is computed as the date when all approvals must be given (before the financial institution cutoff date) in order for the payment processing to begin and complete by the scheduled date. This may be a day earlier than the effective date.
Download OpenAPI Definition (YAML)
Base URLs:
License: Apiture API License
Authentication
- API Key (
apiKey
)- header parameter: API-Key
- API Key based client identification. See details at Secure Access.
- OpenID Connect authentication (
accessToken
)- OpenId Connect (OIDC) authentication/authorization. The client uses the
authorization_endpoint
andtoken_endpoint
to obtain an access token to pass in theAuthorization
header. Those endpoints are available via the OIDC Configuration URL. The actual URL may vary with each financial institution. See details at Secure Access. - OIDC Configuration URL =
https://oidc.apiture.com/oidc/.well-known/oidc-configuration
- OpenId Connect (OIDC) authentication/authorization. The client uses the
Payment Batches
Payment Batches
listPaymentBatches
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of payment batches
GET https://api.apiture.com/banking/paymentBatches
Return a paginated collection of payment batches. This collection list operation includes pending, scheduled, and processed payment batches. Filter by the state
of the batches if you want just pending
or just processed
(historical) batches. The result is ordered in reverse chronological order based on the scheduled date, scheduledOn
.
Parameters
Parameter | Description |
---|---|
state | array[string] Return only payment batches whose state matches one of the items in this pipe-separated list. unique items minItems: 1 maxItems: 10 pipe-delimited items: » enum values: pending , pendingApproval , rejected , scheduled , processing , processed , reversalPending , partiallyReversed , reversed , canceled |
type | array[string] Return only payment batches whose type matches this value. unique items minItems: 1 pipe-delimited items: » enum values: ach , wireTransfer |
name | string Return payment batches whose name contains this substring (of at least two characters), ignoring case.minLength: 2 |
accountId | string Return only payment batches whose settlementAccount.id matches this value. Note that this is unrelated to the account number or masked account number. |
effectiveOn | dateRangeOrUnscheduled Return only payment batches whose effectiveOn date is in the given date range, and/or which are unscheduled. Date ranges use range notation. Examples:
YYYY-MM-DD single date values) may include the |unscheduled suffix. This notation matches payments batches that are scheduled in the given date range or which are unscheduled.minLength: 10 maxLength: 34 pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]](\|unscheduled)?)|unscheduled$ |
scheduledOn | dateRangeOrUnscheduled Return only payment batches whose scheduledOn date is in the given date range and/or which are unscheduled. Date ranges use range notation. The query parameter expression notation is the same as the effectiveOn query parameter above.minLength: 10 maxLength: 34 pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]](\|unscheduled)?)|unscheduled$ |
customerId | readOnlyResourceId Filter batches based on the banking customer ID. This is a business customer for business payment batches. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
companyId | string Return only payment batches where the company.id value matches this value. |
trackingNumber | string Return only payment batches whose trackingNumber contains this substring.minLength: 2 maxLength: 9 |
confidential | string Return only payment batches where the confidential flag matches this value. |
sameDay | boolean Return only same-day ACH payment batches (those where sameDay is true.) |
approvable | boolean Return only payment batches that the current authenticated user may approve but have not yet approved. |
instructionName | string Return only payment batches where any payment instruction's payment contact name contains this substring of at least two characters, ignoring case.minLength: 2 |
Example responses
200 Response
{
"items": [
{
"id": "0399abed-fd3d",
"type": "ach",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"state": "pendingApprovals",
"toSummary": "47 payees",
"fromSummary": "Payroll Checking *7890",
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"trackingNumber": "15474162",
"remainingApprovalsCount": 0,
"information": "You have missed the cutoff time. Please re-schedule.",
"ach": {
"secCode": "ppd",
"imported": false,
"direction": "credit",
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"settlementType": "detailed",
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*1008",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"requestApproval": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true
},
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z"
},
{
"id": "d62c0701-0d74",
"type": "ach",
"information": "other fields for batch d62c0701-0d74 omitted here for brevity"
},
{
"id": "89382459-6e1c",
"type": "ach",
"information": "other fields for d62c0701-0d74 omitted here for brevity"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentBatches |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
createPaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"type": "ach",
"direction": "credit",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"secCode": "ppd",
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05",
"imported": false,
"companyName": "Well's Roofing"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new payment batch
POST https://api.apiture.com/banking/paymentBatches
Create a new payment batch within the payment batches collection.
Body parameter
{
"type": "ach",
"direction": "credit",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"secCode": "ppd",
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05",
"imported": false,
"companyName": "Well's Roofing"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay"
}
}
Parameters
Parameter | Description |
---|---|
body | newPaymentBatch The data necessary to create a new payment batch. |
Example responses
201 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
422 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or is not eligible for this payment",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or is not eligible for this payment",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentBatch | |
Header | Location string uri-reference |
The URI of the new payment batch. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
getPaymentBatch
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this payment batch
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}
Return the JSON representation of this payment batch resource.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentBatch |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
patchPaymentBatch
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId} \
-H 'Content-Type: application/merge-patch+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay",
"recurrenceType": "fixed"
}
}';
const headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/merge-patch+json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/merge-patch+json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}");
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/merge-patch+json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this payment batch
PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId}
Perform a partial update of this payment batch as per JSON Merge Patch. Only fields in the request body are updated on the resource; fields which are omitted are not updated.
This operation can be performed as a "dry run", which invokes request validation without a state change.
A dry run will return the same 4xx responses as the normal invocation when the request encounters any validation errors, but return a response of 204 (No Content) if the request is valid.
Body parameter
{
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay",
"recurrenceType": "fixed"
}
}
Parameters
Parameter | Description |
---|---|
dryRun | boolean Indicates that the associated operation should only validate the request and not change the state. If the request is valid, the operation returns 204 No Content. If the request is invalid, it returns the corresponding 4xx error response. |
body | paymentBatchPatch The new payment batch. |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
422 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or may not be used for this type of payment.",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or may not be used for this type of payment.",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentBatch | |
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
deletePaymentBatch
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId} \
-H 'Accept: application/problem+json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId} HTTP/1.1
Host: api.apiture.com
Accept: application/problem+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/problem+json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/problem+json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}");
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/problem+json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this payment batch resource
DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId}
Delete this payment batch resource. One cannot delete a scheduled batch. You must first remove approvals for the batch in order to delete it.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. A batch that has already started processing may not be deleted. This error response may have one of the following
| |
Schema: problemResponse |
deletePaymentBatches
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchDeletions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchDeletions HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchDeletions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchDeletions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchDeletions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchDeletions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchDeletions");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchDeletions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete payment batches
POST https://api.apiture.com/banking/paymentBatchDeletions
Delete a set of payment batches. The 204 response indicates all batches were deleted successfully. The 200 response indicates a partial success and includes details on any failed deletions.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentBatchDeletionRequest The data necessary to delete a set of payment batches. |
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, at least one of the payment batch deletions may have failed; see the This error response may have one of the following
| |
Schema: paymentBatchDeletions | |
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
copyPaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a copy of this payment batch resource
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/copies
Create a copy of this payment batch resource. Copies of the payment batch resource has a status of pending
. The copy contains a reference to the original payment batch in the derivedFrom
object. The paymentBatch.allows.copy
property must be true
on the batch for the current customer.
The following fields are reset or assigned according to the new batch state:
id
schedule.scheduledOn
approvals
approvers
information
createdAt
modifiedAt
The copy operation should not be used to create a payment batch reversal. Instead, use the reverse payment batch operation.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchCopyRequest |
Example responses
201 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentBatch | |
Header | Location string uri-reference |
The URI of the new payment resource. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
listEligiblePaymentBatchApprovers
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches/eligibleApprovers?paymentBatches=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches/eligibleApprovers?paymentBatches=string HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/eligibleApprovers?paymentBatches=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/eligibleApprovers',
method: 'get',
data: '?paymentBatches=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches/eligibleApprovers',
params: {
'paymentBatches' => '[paymentBatchIds](#schemapaymentbatchids)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches/eligibleApprovers', params={
'paymentBatches': [
"string"
]
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/eligibleApprovers?paymentBatches=string");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches/eligibleApprovers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
List Eligible Approvers for Payment Batches
GET https://api.apiture.com/banking/paymentBatches/eligibleApprovers
Return a list of customers eligible to approve a list of payment batches. If a batch in the list is marked confidential, the response includes only those who are also in the batch's list of confidential customers.
The response of this operation may be reused as the request for the addPaymentBatchApprovers
operation, possibly after filtering the approvers list to reflect user selection.
Parameters
Parameter | Description |
---|---|
paymentBatches | paymentBatchIds (required) A list of payment batch IDs for building the list of eligible approvers. minItems: 1 maxItems: 999 comma-delimited items: » minLength: 6 » maxLength: 48 » pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"items": [
{
"paymentBatchId": "d366bc49-49a7",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. | |
Schema: eligiblePaymentBatchApprovers |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The batch has begun or completed processing and no approvers may be added. | |
Schema: problemResponse |
listAchCustomers
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/accounts/{accountId}/achCustomers?direction=debit&secCode=arc \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/accounts/{accountId}/achCustomers?direction=debit&secCode=arc HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/accounts/{accountId}/achCustomers?direction=debit&secCode=arc',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/accounts/{accountId}/achCustomers',
method: 'get',
data: '?direction=debit&secCode=arc',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/accounts/{accountId}/achCustomers',
params: {
'direction' => 'string',
'secCode' => '[paymentBatchAchSecCode](#schemapaymentbatchachseccode)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/accounts/{accountId}/achCustomers', params={
'direction': 'debit', 'secCode': 'arc'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/accounts/{accountId}/achCustomers?direction=debit&secCode=arc");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/accounts/{accountId}/achCustomers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
List ACH-entitled customers
GET https://api.apiture.com/banking/accounts/{accountId}/achCustomers
List ACH-entitled customers who have access to this account for viewing ACH payment batches or other ACH activity. This operation requires the secCode
and direction
query parameters. The items in the response may be used for the confidentialCustomers
property of a newAchPaymentBatch
or in a patch to an ACH payment batch.
Parameters
Parameter | Description |
---|---|
direction | string (required) List only customers who can manage ACH payments in the given direction. enum values: debit , credit , both |
secCode | paymentBatchAchSecCode (required) List only customers who can manage ACH payments of the given Standard Entry Class (SEC) code. enum values: arc , boc , ccd , cie , ctx , pop , ppd , rck , tel , web |
type | achPaymentBatchType List only customers who can manage ACH payments that have this specific ACH payment type. Omit this parameter to match any ACH payment type. enum values: other , vendorCredit |
accountId | resourceId (required) The unique identifier of this account resource. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"items": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: confidentialAchCustomerList |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such banking account resource at the specified {accountId} . The response body contains details about the request error. | |
Schema: problemResponse |
Payment Batch Actions
Actions on Payment Batches
importAch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/importedAchBatches \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/importedAchBatches HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/importedAchBatches',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/importedAchBatches',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/importedAchBatches',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/importedAchBatches', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/importedAchBatches");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/importedAchBatches", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Import a NACHA ACH file to create one or more payment batches
POST https://api.apiture.com/banking/importedAchBatches
Import the contents of a NACHA ACH file. The result is an array of one or more payment batches. Each batch contains the same settlement account and have the imported
flag set to true
. Such batches are not editable except for the batch name or to toggle the hold
flag on individual payment instructions.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | achImport The data necessary to create a new payment batch. |
Example responses
201 Response
{
"items": [
{
"state": "imported",
"paymentBatch": {
"id": "0399abed-fd3d",
"type": "ach",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"state": "pendingApprovals",
"toSummary": "47 payees",
"fromSummary": "Payroll Checking *7890",
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"trackingNumber": "15474162",
"remainingApprovalsCount": 0,
"information": "You have missed the cutoff time. Please re-schedule.",
"ach": {
"secCode": "ppd",
"imported": false,
"direction": "credit",
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"settlementType": "detailed",
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*1008",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"requestApproval": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true
},
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z"
}
},
{
"state": "imported",
"paymentBatch": {
"id": "d62c0701-0d74",
"type": "ach",
"information": "Other fields for batch d62c0701-0d74 omitted here for brevity"
}
},
{
"state": "failed",
"failure": {
"companyName": "Inland Transport",
"secCode": "ppd",
"direction": "debit",
"creditTotal": "2400.00",
"debitTotal": "1375.00",
"creditCount": 8,
"debitCount": 10,
"problems": [
{
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"detail": "Responsible customer 'Benny Billings' (bbillings) does not have 'Create PPD' privilege(s) over customer 'Inland Transport' (inland-transport)",
"attributes": {
"responsibleCustomerName": "Benny Billings",
"responsibleCustomerUsername": "bbillings",
"customerName": "Inland Transport",
"customerUsername": "inland-transport"
}
}
]
}
}
]
}
422 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or is not eligible for this payment",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0",
"title": "Unprocessable Entity",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The settlement account does not exist or is not eligible for this payment",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. The errors listed below may appear in failed ACH imports or in ACH imports which were successfully imported but which may not be eligible for submitting or approval. This error response may have one of the following
| |
Schema: importedAchPaymentBatches | |
202 | Accepted |
Accepted. The request was accepted but validation is not yet complete. The system will notify the customer of success/failure of the ACH file import. The array of items in the response may have zero or more items accordingly. | |
Schema: importedAchPaymentBatches |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
addPaymentBatchApprovers
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchApprovers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchApprovers HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"items": [
{
"paymentBatchId": "d366bc49-49a7",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchApprovers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchApprovers',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchApprovers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchApprovers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchApprovers");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchApprovers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Add approvers to payment batches
POST https://api.apiture.com/banking/paymentBatchApprovers
Add approvers to a set of payment batches. This operation also notifies those approvers that they need to review/approve the batch(es). This operation is allowed even if the batch is in a pending
state and has errors. Approvers may not actually approve the batch until all the problems are fixed.
The request body for this operation may be derived from the response of the listEligiblePaymentBatchApprovers
operation, possibly with a subset of approvers per batch based on user selection.
The 204 response indicates the approvers were successfully added to all batches. The 200 response indicates a partial success and includes details on any failed additions, such as a batch has begun processing.
Body parameter
{
"items": [
{
"paymentBatchId": "d366bc49-49a7",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentBatchApproversRequest The data necessary to add the approvers of payment batches. |
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, adding approvers to one or more payment batches may have failed; response body indicates which succeeded and which failed. This error response may have one of the following
| |
Schema: paymentBatchBulkApprovers | |
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
exportAchBatches
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchExports \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchExports HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"paymentBatchIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"includeHolds": true,
"includePrenoteColumn": false,
"includeBatchNameColumn": true,
"includeTrackingNumberColumn": true,
"format": "ach"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchExports',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchExports',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchExports',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchExports', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchExports");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchExports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Export a payment batch to a text file
POST https://api.apiture.com/banking/paymentBatchExports
Export the contents of one or more payment batches either as a NACHA ACH file or as a tab-separated values (TSV) file.
Body parameter
{
"paymentBatchIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"includeHolds": true,
"includePrenoteColumn": false,
"includeBatchNameColumn": true,
"includeTrackingNumberColumn": true,
"format": "ach"
}
Parameters
Parameter | Description |
---|---|
body | paymentBatchAchExportRequest The data necessary to create a new payment batch. |
Example responses
201 Response
{
"paymentBatchIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"includeHolds": true,
"includePrenoteColumn": false,
"includeBatchNameColumn": true,
"includeTrackingNumberColumn": true,
"format": "ach",
"content": "... text content not included here ...",
"problems": []
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentBatchAchExport |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
submitPaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Submit a payment batch
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/submitted
Submit a batch payment for approval or scheduling. If the customer has approval permission this action does not automatically add the customer to the paymentBatch.approvers
list. The customer should manually approve the batch through the approvePaymentBatch
operation. Once submitted, the batch payment transitions to the approvalPending
state. The paymentBatch.allows.submit
property must be true
on the batch for the current customer to submit the batch. This operation is idempotent: no changes are made if the batch is already in the approvalPending
or scheduled
state.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchSubmitRequest Request data accompanying the action to approve the batch. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. | |
Schema: paymentBatch |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to submit the payment batch is not allowed. Either the batch still has problems which prevent it from being submitted, or its state is scheduled or beyond. | |
Schema: problemResponse |
approvePaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Approve a payment batch
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/approvals
Approve a payment batch for processing. This adds the customer to the paymentBatch.approvers
list unless already listed. If all the required approvals have been given, the batch changes to the scheduled
state to be processed. The paymentBatch.allows.approve
property must be true
on the batch for the current customer. This operation is idempotent: no changes are made if the customer has already approved this payment batch.
This operation may require additional step-up authentication to verify the customer's identity.
See also the approvePaymentBatches
operation to approve multiple batches. Using that operation will incur at most one step-up authentication.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchApprovalRequest Request data accompanying the action to approve the batch. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. | |
Schema: paymentBatch |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to approve the payment batch is not allowed. This operation is not allowed if the batch has started processing, or if the batch is still This error response may have one of the following
| |
Schema: problemResponse |
approvePaymentBatches
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchApprovals \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchApprovals HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchApprovals',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchApprovals',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchApprovals',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchApprovals', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchApprovals");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchApprovals", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Approve payment batches
POST https://api.apiture.com/banking/paymentBatchApprovals
Approve a list of payment batches for processing. This adds the customer to the paymentBatch.approvers
list of each batch unless already listed. If all the required approvals have been given, the batch changes to the scheduled
state to be processed. This operation is idempotent: no changes are made to a batch if the customer has already approved it.
This operation may successfully approve some batches and fail on others. This includes failures due to the customer's permissions (for example if a payment batch's allows.approve
is false
) or the state of one or more batches. Errors and problems are returned in the paymentBatchApprovals
response items
instead of in 4xx error responses as with the approvePaymentBatch
operation.
This operation may require additional step-up authentication to verify the customer's identity, but will only require that once for this entire call instead of possibly requesting step-up authentication on each call to approvePaymentBatch
.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentBatchApprovalRequest Request data accompanying the action to approve the batch. |
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, at least one of the payment batches approvals may have failed; the response body indicates which succeeded and which failed. This error response may have one of the following
| |
Schema: paymentBatchApprovals |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid. | |
Schema: problemResponse |
unlockPaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Unlock a payment batch that is pending approvals or scheduled
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/unlocked
Unlock a payment batch that is pending approvals or scheduled. Batches which have been submitted or approved must be unlocked in order to move them back to a pending
state in order to edit and resubmit them. The updated batch requires new approvals. The paymentBatch.allows.unlock
property must be true
on the batch for the current customer to perform this operation. The response is the updated representation of the payment batch. This operation is idempotent: no changes are made if the payment batch state is already pending
.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchApprovalRemovalRequest Request data accompanying the action to remove approvals. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. All approvals have been removed from the payment batch. If the batch is still valid, its state is changed to pendingApproval . If there are any problems with the batch, its state is changed to pending . | |
Schema: paymentBatch |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to remove approvals of the payment batch is not allowed. This operation is not allowed if the batch has been rejected or has started processing. | |
Schema: problemResponse |
rejectPaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Reject a payment batch
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/rejections
Reject a payment batch, requesting changes to the batch as described in the request body's reason
. Rejecting a batch allow for updating the payment batch and payment instructions and for resubmission. This is the opposite of approving a batch that is pending approval. Rejecting a batch allows editing the payment batch details and its payment instructions, then resubmitting it. The updated batch requires new approvals. The paymentBatch.allows.reject
property must be true
on the batch for the current customer. The response is the updated representation of the payment batch. This operation is idempotent: no changes are made if the payment batch state is already rejected
, pendingApproval
, or pending
.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchRejectionRequest Request data accompanying the action to remove approvals. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. All approvals have been removed from the payment batch. The batch's state is changed to rejected . If there are any problems with the batch, its state is changed to pending . | |
Schema: paymentBatch |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to reject the payment batch is not allowed. This operation is not allowed if the batch is not pendingApprovals or rejected . | |
Schema: problemResponse |
rejectPaymentBatches
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchRejections \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchRejections HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchRejections',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchRejections',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchRejections',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchRejections', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchRejections");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchRejections", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Reject payment batches
POST https://api.apiture.com/banking/paymentBatchRejections
Reject a set of payment batches. The 204 response indicates all batches were rejected successfully. The 200 response indicates a partial success and includes details on any failed rejections.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentBatchRejectionRequest The data necessary to reject a set of payment batches. |
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, one or more (or all) payment batch rejections may have failed; see the This error response may have one of the following
| |
Schema: paymentBatchRejections | |
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
reversePaymentBatch
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Reverse a payment batch
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/reversals
Request reversal of a payment batch or a subset of its instructions. The system attempts to cancel any unprocessed payments in the batch, or to reverse any payments that have already been submitted. Reversal ignores instructions marked as hold
.
The paymentBatch.allows.reverse
property must be true
on the batch for the current customer. To reverse individual instructions, batch.allows.reverseInstructions
must be true. Some financial institutions may allow reversing entire batch but disallow reversing sets of individual instructions.
If the payment batch has not started processing, the batch is canceled without creating a new reversal batch and the response is 200 OK. (The batch's state becomes canceled
.)
Otherwise, a successful request creates and returns a new payment batch (201 Created). The initial batch's state becomes partiallyReversed
or reversed
depending on whether some or all of the instructions have been reversed. The client should re-fetch the payment batch after submitting this operation to see the new state.
This operation is idempotent and additive. For example, one can reverse one subset of the instructions, then reverse another subset later.
Use reversePaymentBatches
to reverse a set of batches rather than just one.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | paymentBatchReversalRequest Request data accompanying the action to reverse a payment batch. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The payment batch has not started processing and was reversed (canceled) without having to create a new reversal batch. | |
Schema: paymentBatch | |
201 | Created |
Created. The operation succeeded and a new reversal payment batch was created and returned. | |
Schema: paymentBatch | |
Header | Location string uri-reference |
The URI of the new payment method. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to request reversal of the payment batch is not allowed. The batch must have started processing to allow reversing. The operation is only valid if batch.allows.reverse or if attempting to reverse a set of individual instructions, if batch.allows.reverseInstructions is true . | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
reversePaymentBatches
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatchReversals \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatchReversals HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatchReversals',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatchReversals',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatchReversals',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatchReversals', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatchReversals");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatchReversals", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Reverse payment batches
POST https://api.apiture.com/banking/paymentBatchReversals
Reverse a set of payment batches. This operations is like reversePaymentBatch
but applies to a set of batches rather than just one.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentBatchReversalRequest The data necessary to reject a set of payment batches. |
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, one or more of the payment batch reversals may have failed; see the This error response may have one of the following
| |
Schema: paymentBatchReversals |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
Payment Instructions
Payment Instructions
listPaymentInstructions
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of payment instructions
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions
Return a collection of payment instructions within this payment batch.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"items": [
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
},
{
"id": "0399abed-fd3d",
"traceNumber": 8764783,
"name": "Pauline Stonemason",
"identifier": "C-012295",
"amount": "2090.35",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "234567890",
"prenote": false
},
"methodId": "ach0002",
"contactId": "3a32a4a8-5502"
}
]
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentInstructions |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
createPaymentInstruction
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789"
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new payment instruction
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions
Add a new payment instruction to the payment instructions in this payment batch.
Body parameter
{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789"
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
Parameters
Parameter | Description |
---|---|
body | newPaymentInstruction The data necessary to create a new payment instruction. |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
201 Response
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentInstruction | |
Header | Location string uri-reference |
The URI of the new payment instruction. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment instruction resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
getPaymentInstruction
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this payment instruction
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}
Return the JSON representation of this payment instruction resource for the given payment batch or payment batch template.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentInstructionId | resourceId (required) The unique identifier of this payment instruction. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentInstruction |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment instruction resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
patchPaymentInstruction
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} \
-H 'Content-Type: application/merge-patch+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": true,
"ach": {
"accountNumber": "123456789"
}
}';
const headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/merge-patch+json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/merge-patch+json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}");
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/merge-patch+json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this payment instruction
PATCH https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}
Perform a partial update of this payment instruction as per JSON Merge Patch. Only fields in the request body are updated on the resource; fields which are omitted are not updated.
Body parameter
{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": true,
"ach": {
"accountNumber": "123456789"
}
}
Parameters
Parameter | Description |
---|---|
body | paymentInstructionPatch The new payment instruction. |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentInstructionId | resourceId (required) The unique identifier of this payment instruction. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentInstruction |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment instruction resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
deletePaymentInstruction
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} \
-H 'Accept: application/problem+json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId} HTTP/1.1
Host: api.apiture.com
Accept: application/problem+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/problem+json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/problem+json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}");
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/problem+json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this payment instruction resource
DELETE https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentInstructions/{paymentInstructionId}
deprecated
Delete this payment instruction resource from this payment batch.
Warning: The operation deletePaymentInstruction
was deprecated on version v0.66.0
of the API. Use the deletePaymentInstructions
operation instead. deletePaymentInstruction
will be removed on version v0.68.0
of the API.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentInstructionId | resourceId (required) The unique identifier of this payment instruction. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No such transaction exists for the given `{paymentBatchId}` bb709151-5750",
"instance": "https://production.api.apiture.com/banking/payments/bb709151-5750/instructions/3dfda85a-ce87"
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment instruction resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
Payment History Records
Payment History Records
listPaymentHistoryRecords
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return payment batch history records
GET https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/paymentHistoryRecords
Return a list of history records for this payment batch.
Parameters
Parameter | Description |
---|---|
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"items": [
{
"type": "created",
"occurredAt": "2022-07-28T12:44:46.375Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox",
"creationType": "copy",
"secondaryTrackingNumber": "62115474",
"secondaryPaymentBatchId": "45b9a55a-9811"
},
{
"type": "updated",
"occurredAt": "2022-07-28T12:49:22.000Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox"
},
{
"type": "requestedApproval",
"occurredAt": "2022-07-28T12:54:30.000Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox"
},
{
"type": "approved",
"customerId": "b9815cc6-85a7",
"customerName": "Alex Frank",
"occurredAt": "2022-07-29T04:18:49.375Z"
}
]
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentHistoryRecords |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Payment Instruction Actions
Payment Instruction Actions
importAchPaymentInstructions
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"strategy": "append",
"content": "<Base-64 encoded TSV content here...>"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Import ACH payment instructions
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/importedAchPaymentInstructions
Import a tab-separated values (TSV) file of ACH payment instructions, either appending to the existing instructions in this batch or replacing them.
Body parameter
{
"strategy": "append",
"content": "<Base-64 encoded TSV content here...>"
}
Parameters
Parameter | Description |
---|---|
body | achPaymentInstructionImport Request containing the contents of the file to import |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The This error response may have one of the following
| |
Schema: paymentBatch | |
202 | Accepted |
Accepted. The request was accepted but validation is not yet complete. After the import processing completes, the problems in the response lists any errors from the import. | |
Schema: paymentBatch |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. If there were multiple validation errors, they are listed in the This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
updatePaymentInstructionHolds
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Set the hold
value of payment instructions
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/heldPaymentInstructions
Set the hold
value for a list of payment instructions from a payment batch. This is an idempotent action; if a instruction already has the given hold
state, it does not change and is considered a success.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentInstructionHoldRequest |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, at least one of the payment instructions failed to update; see the This error response may have one of the following
| |
Schema: paymentInstructionHoldUpdate | |
204 | No Content |
No Content. All instructions were successfully updated without any problems. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
deletePaymentInstructions
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete payment instruction resources
POST https://api.apiture.com/banking/paymentBatches/{paymentBatchId}/deletedPaymentInstructions
Delete the provided payment instruction resources from this payment batch.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
body | bulkPaymentInstructionDeletionRequest |
paymentBatchId | resourceId (required) The unique identifier of a payment batch. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/notFound/v1.0.0",
"title": "Not Found",
"status": 404,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The resource at the request URL does not exist.",
"instance": "https://production.api.apiture.com/banking/paymentBatches/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The request was successfully processed. However, at least one of the payment instructions failed to delete; see the This error response may have one of the following
| |
Schema: paymentInstructionDeletions | |
204 | No Content |
No Content. All instructions were successfully deleted without any problems. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment batch resource at the specified {paymentBatchId} . The response body contains details about the request error. | |
Schema: problemResponse |
Payment Contacts
Payment Contacts
listPaymentContacts
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentContacts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentContacts HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentContacts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentContacts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentContacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of payment contacts
GET https://api.apiture.com/banking/paymentContacts
Return a paginated collection of payment contacts. The nextPage_url in the response is a pagination link.
Parameters
Parameter | Description |
---|---|
type | contactType Filter payment contacts to a subset of individual or business contacts.enum values: individual , business |
name | string Filter payment contacts to a subset of contacts which contain the query string (case insensitive) in the contact's name .maxLength: 55 |
q | string Filter payment contacts to a subset of contacts which contain the query string (case insensitive) in the contact's name or contactIdentification .maxLength: 55 |
customerId | resourceId Filter contacts based on the banking customer ID. This is the ID of the business customer that owns the payment contact resource. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
method | string Filter payment contacts to a subset of contacts with ach or wire payment method.enum values: ach , wireTransfer |
wireTransferScope | string Filter payment contacts to a subset of contacts with a specified wireTransfer scope . This parameter should only be used when method is wireTransfer .enum values: domestic , international |
state | paymentContactState Filter payment contacts to a subset of contacts with active or inactive state. The default is to return all contacts, regardless of their state .enum values: active , inactive |
start | string The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url .Default: "" maxLength: 256 |
limit | integer(int32) The maximum number of items to return in this page response. Default: 100 minimum: 0 maximum: 1000 |
Example responses
200 Response
{
"start": "d1b48af913464aa49fcb07065dcc0616",
"limit": 10,
"nextPage_url": "https://production.api.apiture.com/payments/paymentContacts?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
"items": [
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"phone": [
{
"type": "business",
"number": "+19105550007"
}
],
"email": "james.bond@mi6.gov.uk",
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active"
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"name": "Dr. Stephen Strange",
"address": {
"address1": "177A Bleecker Street",
"locality": "New York",
"regionCode": "NY",
"postalCode": "10012",
"countryCode": "US"
},
"phone": [
{
"type": "cell",
"number": "+19105550007"
}
],
"email": "stephen.strange@marvel.com",
"type": "individual",
"employee": false,
"customerId": "0399abed-fd3d",
"state": "active"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentContacts |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
createPaymentContact
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentContacts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentContacts HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentContacts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentContacts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentContacts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new payment contact
POST https://api.apiture.com/banking/paymentContacts
Create a new payment contact within the payment contacts collection.
Body parameter
{
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d"
}
Parameters
Parameter | Description |
---|---|
body | newPaymentContact The data necessary to create a new payment contact. |
Example responses
201 Response
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentContact | |
Header | Location string uri-reference |
The URI of the new payment contact. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
getPaymentContact
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentContacts/{paymentContactId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentContacts/{paymentContactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this payment contact
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}
Return the JSON representation of this payment contact resource.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentContact |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment contact resource at the specified {paymentContactId} . | |
Schema: problemResponse |
patchPaymentContact
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId} \
-H 'Content-Type: application/merge-patch+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"state": "inactive"
}';
const headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/merge-patch+json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/merge-patch+json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}");
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/merge-patch+json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this payment contact
PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId}
Perform a partial update of this payment contact as per JSON Merge Patch format and processing rules. Only fields in the request body are updated on the resource; fields which are omitted are not updated. Patch operations do not modify the payment contact's existing payment batches or templates; payment instructions contain only copies of the contact's information.
Body parameter
{
"state": "inactive"
}
Parameters
Parameter | Description |
---|---|
body | paymentContactPatch The fields to update within the payment contact. |
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentContact |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment contact resource at the specified {paymentContactId} . | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
deletePaymentContact
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId} \
-H 'Accept: application/problem+json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId} HTTP/1.1
Host: api.apiture.com
Accept: application/problem+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/problem+json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/problem+json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.apiture.com/banking/paymentContacts/{paymentContactId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}");
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/problem+json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this payment contact resource
DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId}
Deleting contacts does not modify any existing payment batches or templates; payment instructions contain only copies of the contact's information.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment contact resource at the specified {paymentContactId} . | |
Schema: problemResponse |
listContactPayments
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return this contact's pending and historical payments
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/payments
Return a paginated collection of this contact's pending and historical payments.
The response is sorted in reverse chronological order by default. The default response lists unscheduled payments first, then pending/scheduled/processing and other unprocessed payments, followed by historical processed payments.
If an individual payment batch contains multiple payment instructions to this contact, each payment instruction is listed as a separate item in the response.
The result does not include payments that are not explicitly attached to the contact. For example, an ACH payment instruction with a recipient routing number and account number that exactly matches a contact but which does not include the contactId
is not included in the response.
If the request includes a dateRage
, the response include previous and next date ranges, each based on the same number of days in the dateRange
, to facilitate scrolling through time.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
effectiveOn | dateRangeOrUnscheduled Return only payments whose effectiveOn date is in the given date range, and/or which are unscheduled. Date ranges use range notation. Examples:
YYYY-MM-DD single date values) may include the |unscheduled suffix. This notation matches payments batches that are scheduled in the given date range or which are unscheduled.minLength: 10 maxLength: 34 pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]](\|unscheduled)?)|unscheduled$ |
state | array[string] Return only payment instructions whose payment batch state matches one of the items in this pipe-separated list. The default is all payment batch states.unique items minItems: 1 maxItems: 10 pipe-delimited items: » enum values: pending , pendingApproval , rejected , scheduled , processing , processed , reversalPending , partiallyReversed , reversed , canceled |
direction | paymentInstructionDirection List only payments whose direction matches the request. The default matches either direction.enum values: credit , debit |
ascending | boolean If true , the response is sorted in ascending order, starting with the oldest payments. The default is false , sorting in descending date order. Unscheduled payments sort later than scheduled ones. |
Example responses
200 Response
{
"paymentContactId": "4d8c-8004-a650d0242f66",
"items": [
{
"paymentBatch": {
"id": "fbc7cb5d-0f98",
"type": "ach",
"traceNumber": 86302,
"name": "22/09 Pay",
"state": "processed",
"effectiveOn": "2022-09-12"
},
"amount": "1592.58",
"instructionId": "c148e81f-ec0a",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
},
{
"paymentBatch": {
"id": "fbc7cb5d-0f98",
"type": "ach",
"traceNumber": 85932,
"name": "22/08 Pay",
"state": "processed",
"effectiveOn": "2022-08-12"
},
"amount": "1640.72",
"instructionId": "fb7c04f5-8b79",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
},
{
"paymentBatch": {
"id": "0939cdfb-c77d",
"type": "ach",
"traceNumber": 84329,
"name": "22/07 Pay",
"state": "processed",
"effectiveOn": "2022-07-12"
},
"amount": "1578.90",
"instructionId": "f674b43c-e74a",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
}
],
"previousDateRange": "[2022-04-01,2022-07-01)"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentContactPayments |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not found. There is no such resource at the request URL. | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid. | |
Schema: problemResponse |
exportPaymentContacts
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentContactExport \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentContactExport HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"paymentContactIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContactExport',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContactExport',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentContactExport',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentContactExport', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContactExport");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentContactExport", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Export Payment Contacts
POST https://api.apiture.com/banking/paymentContactExport
Export a comma-separated values (CSV) file of payment contacts and their associated payment methods.
Body parameter
{
"paymentContactIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
]
}
Parameters
Parameter | Description |
---|---|
body | paymentContactsExportRequest |
Example responses
201 Response
{
"paymentContactIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"content": "... text content not included here ..."
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentContactsCsvExport | |
Header | Content-Disposition string |
The file information provided for the text/csv response, such as attachment; filename="payment-contacts.csv" . |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following
| |
Schema: problemResponse |
Payment Contact Actions
Payment Contact Actions
deactivatePaymentContact
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Deactivate a payment contact
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/inactive
Deactivate a payment contact. This changes the state
property of the payment contact to inactive
. The response is the updated representation of the payment contact. This operation is idempotent: no changes are made if the payment contact is already inactive
.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | deactivatePaymentContactRequest Request body for activating a payment contact. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The payment contact was updated and its state changed to inactive . | |
Schema: paymentContact |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not found. There is no such resource at the request URL. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to deactivate the payment contact is not allowed. | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Bad Request. The paymentContact parameter was malformed or does not refer to an existing or accessible payment contact. | |
Schema: problemResponse |
activatePaymentContact
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Activate a payment contact
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/active
Activate a payment contact. This changes the state
property of the payment contact to active
. The response is the updated representation of the payment contact. This operation is idempotent: no changes are made if the payment contact is already active
.
Body parameter
{}
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | activatePaymentContactRequest Request body for activating a payment contact. |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The payment contact was updated and its state changed to active . | |
Schema: paymentContact |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not found. There is no such resource at the request URL. | |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to activate the payment contact is not allowed. | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Bad Request. The paymentContact parameter was malformed or does not refer to an existing or accessible payment contact. | |
Schema: problemResponse |
Payment Methods
Payment Methods
listPaymentMethods
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return this contact's collection of payment methods
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods
Return a payment method collection for this contact.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"items": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentMethods |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid. | |
Schema: problemResponse |
createPaymentMethod
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods");
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/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new payment method
POST https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods
Create a new payment method for this contact.
Body parameter
{
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
body | newPaymentMethod The data necessary to create a new payment method. |
Example responses
201 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: paymentMethod | |
Header | Location string uri-reference |
The URI of the new payment method. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
getPaymentMethod
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}");
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"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this payment method
GET https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}
Return the JSON representation of this payment method resource.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentMethodId | resourceId (required) The unique identifier of a payment method. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentMethod |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment method resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
patchPaymentMethod
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} \
-H 'Content-Type: application/merge-patch+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"type": "ach",
"ach": {
"accountNumber": "123456789"
}
}';
const headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/merge-patch+json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/merge-patch+json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}");
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/merge-patch+json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this payment method
PATCH https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}
Perform a partial update of this payment method as per JSON Merge Patch format and processing rules. Only fields in the request body are updated on the resource; fields which are omitted are not updated.
Body parameter
{
"type": "ach",
"ach": {
"accountNumber": "123456789"
}
}
Parameters
Parameter | Description |
---|---|
body | paymentMethodPatch The fields to update within the payment method. |
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentMethodId | resourceId (required) The unique identifier of a payment method. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: paymentMethod |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment method resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
deletePaymentMethod
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} \
-H 'Accept: application/problem+json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId} HTTP/1.1
Host: api.apiture.com
Accept: application/problem+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/problem+json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/problem+json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}");
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/problem+json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this payment method resource
DELETE https://api.apiture.com/banking/paymentContacts/{paymentContactId}/paymentMethods/{paymentMethodId}
Delete this payment method resource. Deleting the payment method does not negatively impact any payment instructions in payment batches or templates that were instantiated from the payment method; those contain copies of the payment method data and continue to work even if this payment method is deleted.
Parameters
Parameter | Description |
---|---|
paymentContactId | resourceId (required) The unique identifier of a payment contact. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentMethodId | resourceId (required) The unique identifier of a payment method. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. This error response may have one of the following
| |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication. |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. This error response may have one of the following
| |
Schema: problemResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such payment method resource at the specified This error response may have one of the following
| |
Schema: problemResponse |
Schemas
abstractBulkPaymentBatchOperationResponse
{}
Bulk Payment Batch Operation (v1.0.0)
Bulk payment batch operation response.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchOperationResponseItem] The result of attempting to perform an action on a set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
abstractBulkPaymentInstructionOperationResponse
{}
Bulk Payment Instruction Operation Response (v1.0.0)
Bulk payment instruction operation response.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentInstructionOperationResponseItem] The result of attempting to perform an action on a set of payment instructions in the request. Items in the array correspond (in order) to each payment instruction ID in the request. minItems: 1 maxItems: 999 |
accountRoutingNumber
"stringstr"
Account Routing Number (v1.0.0)
A reusable type for an account routing number.
Type: string
minLength: 9
maxLength: 9
pattern: ^[0-9]{9}$
achAccountRisk
"early"
ACH Account Risk (v1.0.0)
Describes the risk level of a payment batch's settlement account.
achAccountRisk
strings may have one of the following enumerated values:
Value | Description |
---|---|
early | Early: The account is debited three business days before the ACH transfer's effective date. The account balance is also checked for sufficient funds before the account is debited. A risk limit may apply for commercial accounts with an |
normal | Normal: The account is debited two business days before the ACH transfer's effective date. The account balance is also checked for sufficient funds before the account is debited. A risk limit may apply for commercial accounts with a |
float | Float: The account is debited on the ACH transfer's effective date. The account balance is not checked for sufficient funds before the account is debited. A risk limit applies for commercial accounts with a |
sameDay | Same Day: The account is credited on the ACH transfer's effective day. The account balance is not checked because |
Type: string
enum values: early
, normal
, float
, sameDay
achImport
{}
ACH Import (v3.0.0)
A request to create one or more payment batches from the contents of a NACHA ACH file.
Properties
Name | Description |
---|---|
name | string The user-assigned name of this payment batch. maxLength: 10 |
description | string The user-assigned detailed description of this payment batch. maxLength: 100 |
company | object: paymentBatchCompany Identification of the company making this payment batch. |
confidentialCustomers | array: [confidentialAchCustomer] A list of customers entitled to view and manage this confidential payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
content | string (required) The Base64-encoded content of the single or mixed batch NACHA ACH file to import. The maximum length constraint allows for a (non-Base64 encoded) input file of at most 2,000,000 bytes. maxLength: 2500000 |
customerId | string: readOnlyResourceId (required) The ID of the banking customer that this payment batch is for. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
settlementAccount | object: paymentSettlementAccountReference (required) The account where the payment funds are drawn or credited. |
achPaymentBatch
{
"secCode": "ppd",
"sameDay": false,
"imported": true,
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
}
ACH Payment Batch (v1.4.2)
Properties unique to ACH payment batches.
Properties
Name | Description |
---|---|
confidentialCustomers | array: [confidentialAchCustomer] A list of customers entitled to view and manage this confidential payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
companyName | string (required) The name of the company associated with this ACH batch. This short form of the business name is included in the corresponding NACHA file which imposes a maximum length of 16 characters. maxLength: 16 |
discretionaryData | string Discretionary text data which is carried over to the settlement entry. maxLength: 20 |
sameDay | boolean (required) The ACH payment should be processed on the same day, if enabled by the financial institution. Default: false |
sendRemittanceOnly | boolean If true , send only the payment remittance information with this ACH payment. This property applies only if secCode is ccd or ctx and this batch is not an ACH (NACHA) import, and is otherwise ignored.Default: false |
type | string: achPaymentBatchType Optionally defines a specific type of ACH payment batch. Used for Vendor Credit batches. enum values: other , vendorCredit |
secCode | string: paymentBatchAchSecCode (required) The SEC code for these ACH payments. This is derived from type .read-only enum values: arc , boc , ccd , cie , ctx , pop , ppd , rck , tel , web |
imported | boolean (required) If true, this batch was imported from a NACHA file. Imported batches only allow changing the hold boolean property in payment instructions.Default: false |
approvalDueAt | string(date-time): readOnlyTimestamp The date and time when the payment must be fully approved so that it can be processed in time to complete by the scheduledOn date. The time component of this timestamp is the financial institution's cutoff time. This is expressed in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ date-time format.read-only minLength: 20 maxLength: 30 |
sameDayApprovalDue | array: [string] A list of date-times when a same day payment must be fully approved so that it can be processed that day. The financial institution may process same-day ACH batches multiple times per day. The time component of each date-time is the financial institution's same-day cutoff time. This is expressed in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ date-time format. Same day batches submitted on non-business days are processed the next business day.read-only minItems: 1 maxItems: 8 |
reversedPaymentId | string: readOnlyResourceId If this payment is a reversal of another batch, this is the id of that reversed payment batch.read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
achPaymentBatchPatch
{
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05"
}
ACH Payment Batch Patch (v1.1.0)
Patchable properties of ACH payment batches.
Properties
Name | Description |
---|---|
confidentialCustomers | array: [confidentialAchCustomer] A list of customers entitled to view and manage this confidential payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
companyName | string The name of the company associated with this ACH batch. This short form of the business name is included in the corresponding NACHA file which imposes a maximum length of 16 characters. maxLength: 16 |
discretionaryData | string Discretionary text data which is carried over to the settlement entry. maxLength: 20 |
sameDay | boolean The ACH payment should be processed on the same day, if enabled by the financial institution. Default: false |
sendRemittanceOnly | boolean If true , send only the payment remittance information with this ACH payment. This property applies only if secCode is ccd or ctx and this batch is not an ACH (NACHA) import, and is otherwise ignored.Default: false |
achPaymentBatchType
"other"
ACH Payment Batch Type (v1.0.0)
Defines the type of this ACH payment batch.
achPaymentBatchType
strings may have one of the following enumerated values:
Value | Description |
---|---|
other | Other: An other ACH payment type |
vendorCredit | Vendor Credit: Pay vendor via Corporate Trade Exchange (CTX) |
Type: string
enum values: other
, vendorCredit
achPaymentInstruction
{
"routingNumber": "123123123",
"accountNumber": "123456789",
"prenote": false
}
ACH Payment Instruction (v1.3.0)
The payment bank account number and routing number for paying or drafting from a contact's account by ACH.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber (required) The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber (required) The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
accountType | string: achPaymentMethodAccountType The type of banking account for the financial institution, if known. enum values: checking , savings , loan |
addendum | string An optional memo addendum. maxLength: 80 |
prenote | boolean (required) If true , this item requires prenote validation to validate the routing number and account number. When submitting a prenote batch from a payment batch, all the ACH instructions tagged with prenote: true are be submitted (with amount: "0.00" ). |
vendorCreditAddenda | array: [vendorCreditAddendum] Describes Vendor Credit addenda for Corporate Trade Exchange (CTX) transfers. This optional array is only used if the payment direction is credit , the ach.secCode is ctx , the ach.type is vendorCredit , and there are addenda. vendorCreditAddenda and addenda are mutually exclusive.minItems: 1 maxItems: 9999 |
addenda | array: [string] Addenda records, derived from a NACHA ACH import. This array is only used if the batch imported property is true . vendorCreditAddenda and addenda are mutually exclusive.minItems: 0 maxItems: 9999 items: » maxLength: 80 |
rePresentedCheck | object: rePresentedCheck A re-presented check (RCK) ACH payment instruction. This field is only used if the payment direction is debit and the payment secCode is rck . This object is omitted when in a paymentInstructionItem , even if the item is a RCK instance. |
canceled | boolean true if the payment instruction was canceled. |
reversed | boolean true if the payment instruction was reversed. |
achPaymentInstructionImport
{
"strategy": "append",
"content": "<Base-64 encoded TSV content here...>"
}
ACH Payment Instruction Import (v1.0.0)
A request to import a tab-separated values (TSV) list of ACH payment instructions into the existing payment batch.
For TSV files, the content
has these ten columns.
Column Heading | Description |
---|---|
Consumer Name | The name for this payment instruction payee/payer |
ID | The custom ID assigned to this payment consumer |
Account Number | The account number for this instructions' payee/payer |
Account Type | The ACH account type †|
R&T Number | The ACH account routing and transit number |
Amount | The amount of the payment |
Description/Addenda | Payment instruction description or addenda text |
Debits/ Credits | C if this is a credit; D if this is a debit |
Hold | A true value if there is a hold on this instruction or a false value if not ††|
If the file contains column headers in the first row, the columns may be in any order. Column header case is ignored, as is leading/trailing whitespace. The Consumer Name
, ID
, Account Number
and Account Type
columns must be present. Additional columns which do not match these headers are ignored.
If no headers are present, the first ten columns must be present and must be in this order.
†Allowed case-insensitive values for Account Number
values are:
checking
,check
,D
,DDA
for checking accountsloan
,L
,LN
,LON
, for loan accountssavings
,S
,SAV
,SSA
for savings accounts
(Some natural language variations are also accepted.)
††Allowed case-insensitive true and false values for Hold
values are:
yes
,true
,1
,hold
no
,false
,0
(Some natural language variations are also accepted.)
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
strategy | string: achPaymentInstructionImportStrategy (required) ACH payment instruction import strategy: append to the existing instructions, or replace the batch's instructions.
enum values: append , replace | ||||||
content | string (required) The Base64-encoded content of the tab-separated values (TSV) representing one or more ACH payment instructions. maxLength: 2500000 |
achPaymentInstructionImportStrategy
"append"
ACH Payment Instruction Import Strategy (v1.0.0)
ACH payment instruction import strategy: append to the existing instructions, or replace the batch's instructions.
achPaymentInstructionImportStrategy
strings may have one of the following enumerated values:
Value | Description |
---|---|
append | Append: Append the imported payment instructions to the existing payment instructions in this batch |
replace | Replace: Replace the existing payment instructions in this batch with the imported payment instructions |
Type: string
enum values: append
, replace
achPaymentInstructionPatch
{
"routingNumber": "123123123",
"accountNumber": "123456789"
}
ACH Payment Instruction Patch (v1.2.0)
The payment bank account number and routing number for paying or drafting from a contact's account by ACH.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
accountType | string: achPaymentMethodAccountType The type of banking account for the financial institution, if known. enum values: checking , savings , loan |
addendum | string An optional memo addendum. maxLength: 80 |
vendorCreditAddenda | array: [vendorCreditAddendumPatch] Vendor Credit Corporate Trade Exchange (CTX) addenda. This array is only used if payment direction is credit , the secCode is ctx , and the ach.type is vendorCredit .minItems: 1 maxItems: 9999 |
rePresentedCheck | object: rePresentedCheckPatch A re-presented check (RCK) ACH payment instruction. This field is only used if the payment direction is debit and the payment secCode is rck . |
achPaymentMethod
{
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
ACH Payment Method (v1.1.0)
Data necessary for defining the customer's ACH payment method.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber (required) The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber (required) The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
type | string: achPaymentMethodAccountType (required) The type of account for the financial institution. enum values: checking , savings , loan |
primary | boolean (required) Designates this as the primary ACH payment method. There can only be one primary ACH payment method. If a new ACH payment method is set as the primary method when there is an already existing primary ACH payment method, the new ACH payment method becomes the primary method. Primary payment methods are only supported when the associated payment customer for this resource is of type employee . |
achPaymentMethodAccountType
"checking"
ACH Payment Method Account Type (v1.0.0)
The product type of the ACH payment method account.
achPaymentMethodAccountType
strings may have one of the following enumerated values:
Value | Description |
---|---|
checking | Checking: The ACH payment method is sourced from a checking account |
savings | Savings: The ACH payment method is sourced from a savings account |
loan | Loan: The ACH payment method is sourced from a loan account |
Type: string
enum values: checking
, savings
, loan
achPaymentMethodPatch
{
"type": "checking",
"accountNumber": "123456789"
}
ACH Payment Method Patch Request (v1.1.0)
Representation used to patch an existing payment method using the JSON Merge Patch format and processing rules.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
type | string: achPaymentMethodAccountType The type of account for the financial institution. enum values: checking , savings , loan |
primary | boolean Designates this as the primary ACH payment method. There can only be one primary ACH payment method. If a new ACH payment method is set as the primary method when there is an already existing primary ACH payment method, the new ACH payment method becomes the primary method. Primary payment methods are only supported when the associated payment customer for this resource is of type employee . |
achSecCode
"arc"
ACH SEC Code (v1.0.0)
The ACH transfer type
achSecCode
strings may have one of the following enumerated values:
Value | Description |
---|---|
arc | Accounts Receivable |
boc | Back Office Conversion |
ccd | Credit or Debit |
cie | Customer-Initiated |
ctx | Corporate Trade Exchange |
pop | Point of Purchase |
ppd | Prearranged Payment and Deposit |
rck | Re-Presented Check |
tel | Telephone-initiated |
web | Internet-initiated/Mobile |
Type: string
enum values: arc
, boc
, ccd
, cie
, ctx
, pop
, ppd
, rck
, tel
, web
activatePaymentContactRequest
{}
Activate Payment Contact Request (v1.0.0)
Request body to activate a payment contact.
Properties
address
{
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionName": "North Carolina",
"countryCode": "US",
"postalCode": "28412"
}
Address (v1.1.0)
A postal address that can hold a US address or an international (non-US) postal addresses.
Properties
Name | Description |
---|---|
address1 | string (required) The first line of the postal address. In the US, this typically includes the building number and street name. maxLength: 35 |
address2 | string The second line of the street address. This should only be used if it has a value. Typical values include building numbers, suite numbers, and other identifying information beyond the first line of the postal address. maxLength: 35 |
locality | string (required) The city/town/municipality of the address. maxLength: 20 |
countryCode | string (required) The ISO-3611 alpha-2 value for the country associated with the postal address. minLength: 2 maxLength: 2 |
regionName | string The state, district, or outlying area of the postal address. This is required if countryCode is not US . regionCode and regionName are mutually exclusive.minLength: 2 maxLength: 20 |
regionCode | string The state, district, or outlying area of the postal address. This is required if countryCode is US regionCode and regionName are mutually exclusive.minLength: 2 maxLength: 2 |
postalCode | string (required) The postal code, which varies in format by country. If countryCode is US , this should be a five digit US ZIP code or ten character ZIP+4.minLength: 5 maxLength: 10 |
apiProblem
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/accountNotFound/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists at the given account_url",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
API Problem (v1.1.0)
API problem or error, as per RFC 7807 application/problem+json.
Properties
Name | Description |
---|---|
type | string(uri-reference) A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank" . |
title | string A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
status | integer(int32) The HTTP status code for this occurrence of the problem. minimum: 100 maximum: 599 |
detail | string A human-readable explanation specific to this occurrence of the problem. |
instance | string(uri-reference) A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment |
id | string: readOnlyResourceId The unique identifier for this problem. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
occurredAt | string(date-time): readOnlyTimestamp The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.read-only minLength: 20 maxLength: 30 |
problems | array: [apiProblem] Optional root-causes if there are multiple problems in the request or API call processing. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
bulkPaymentBatchApprovalRequest
{}
Bulk Payment Batch Approval Request (v2.0.0)
A request to approve a list of payment batches.
Properties
Name | Description |
---|---|
paymentBatchIds | array: paymentBatchIds A list of payment batches to approve. minItems: 1 maxItems: 999 |
bulkPaymentBatchApproversRequest
{
"items": [
{
"paymentBatchId": "d366bc49-49a7",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}
Bulk Payment Batch Approvers Request (v2.0.1)
A request to add approvers to a list of payment batches.
Properties
Name | Description |
---|---|
items | array: [paymentBatchApproverList] (required) The list of payment batches and list of customers eligible to approver the batch. minItems: 1 |
approverLists | array: [paymentBatchApprovers] A list of payment batches and corresponding approvers. minItems: 1 |
bulkPaymentBatchDeletionRequest
{}
Bulk Payment Batch Delete Request (v1.0.0)
A request to remove a list of payment batches.
Properties
Name | Description |
---|---|
paymentBatchIds | array: paymentBatchIds A list of payment batches to remove. minItems: 1 maxItems: 999 |
bulkPaymentBatchOperationResponseItem
{
"id": "string",
"succeeded": true,
"problems": [
{
"type": "https://production.api.apiture.com/errors/pastCutoffTime/v1.0.0",
"title": "Past cutoff time",
"detail": "The current time is past the financial institution's cutoff time.",
"attributes": {
"referencedAt": "2022-07-13T020:52:19.375Z",
"cutoffAt": "2022-07-13T10:00:00.000Z"
}
}
]
}
Bulk Payment Batch Operation Item (v1.0.0)
An abstract item in a bulk payment batch operation response.
Properties
Name | Description |
---|---|
id | string: readOnlyResourceId (required) The payment batch ID. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
succeeded | boolean (required) true if the operation was successful for the payment batch. |
problems | array: [paymentProblem] If the operation for this batch failed ( succeeded is false ), this describes why. This may include forbidden, conflict, or other 4xx error or problem types that can occur with individual payment batch operation calls. |
bulkPaymentBatchRejectionRequest
{}
Bulk Payment Batch Rejection Request (v1.0.0)
A request to reject a list of payment batches.
Properties
Name | Description |
---|---|
paymentBatchIds | array: paymentBatchIds A list of payment batches to reject. minItems: 1 maxItems: 999 |
reason | string The optional reason the customer is rejecting these batches. maxLength: 80 |
bulkPaymentBatchReversalRequest
{}
Bulk Payment Batch Reversal Request (v1.0.0)
A request to reverse a list of payment batches.
Properties
Name | Description |
---|---|
paymentBatchIds | array: paymentBatchIds A list of payment batches to reverse. minItems: 1 maxItems: 999 |
reason | string The optional reason the customer is reversing these batches. maxLength: 80 |
bulkPaymentBatchReversalResponseItem
{
"id": "string",
"reversalBatchId": "string",
"succeeded": true,
"problems": [
{
"type": "https://production.api.apiture.com/errors/pastCutoffTime/v1.0.0",
"title": "Past cutoff time",
"detail": "The current time is past the financial institution's cutoff time.",
"attributes": {
"referencedAt": "2022-07-13T020:52:19.375Z",
"cutoffAt": "2022-07-13T10:00:00.000Z"
}
}
]
}
Bulk Payment Batch Reversal Response Item (v1.0.0)
The success or failure of attempting to reverse a payment batch within a bulk reversal request. Each item corresponds to a payment batch in the request. If the reversal succeeded (or the batch had already been fully reversed), succeeded
is true
and reversalBatchId
is the resource ID of the new batch that reverses the batch in the request.
Properties
Name | Description |
---|---|
id | string: readOnlyResourceId (required) The ID of the reversed payment batch from the request. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
reversalBatchId | string: readOnlyResourceId The ID of the new payment batch that reverses the input payment batch. This property is only present if succeeded is true .read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
succeeded | boolean (required) true if the operation was successful for the payment batch. |
problems | array: [paymentProblem] If the operation for this batch failed ( succeeded is false ), this describes why. This may include forbidden, conflict, or other 4xx error or problem types that can occur with individual payment batch operation calls. |
bulkPaymentInstructionDeletionRequest
{}
Bulk Payment Batch Instruction Hold Request (v1.0.0)
A request to delete a set of instructions in a payment batch.
Properties
Name | Description |
---|---|
paymentBatchIds | array: paymentInstructionIds A list of payment batch instructions to delete. minItems: 1 maxItems: 999 |
bulkPaymentInstructionHoldRequest
{}
Bulk Payment Batch Instruction Hold Request (v2.0.0)
A request to perform an action for a list of instructions in a payment batch.
Properties
Name | Description |
---|---|
paymentInstructionIds | array: paymentInstructionIds A list of payment batch instructions to set the hold value for.minItems: 1 maxItems: 999 |
bulkPaymentInstructionOperationResponseItem
{
"id": "string",
"succeeded": true,
"problems": [
{
"type": "https://production.api.apiture.com/errors/pastCutoffTime/v1.0.0",
"title": "Past cutoff time",
"detail": "The current time is past the financial institution's cutoff time.",
"attributes": {
"referencedAt": "2022-07-13T020:52:19.375Z",
"cutoffAt": "2022-07-13T10:00:00.000Z"
}
}
]
}
Bulk Payment Instruction Operation Item (v1.0.0)
An abstract item in a bulk payment instructions operation response.
Properties
Name | Description |
---|---|
id | string: readOnlyResourceId (required) The payment instruction ID. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
succeeded | boolean (required) true if the operation was successful for the payment instruction. |
problems | array: [paymentProblem] If the operation for this instruction failed ( succeeded is false ), this describes why. This may include forbidden, conflict, or other 4xx error or problem types that can occur with individual payment instruction operation calls. |
confidentialAchCustomer
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
}
Confidential ACH Customer (v1.0.0)
A reference to a customer that is entitled to view and manage a confidential ACH payment batch.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique id of the customer.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
name | string (required) The customer's full name. minLength: 2 maxLength: 48 |
confidentialAchCustomerList
{
"items": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
]
}
Confidential ACH Customer List (v1.0.0)
A list of customers who are entitled to access to confidential ACH payment batches.
Properties
Name | Description |
---|---|
items | array: [confidentialAchCustomer] A list of customers entitled to view and manage this confidential payment batch. If this property is omitted, the batch is not confidential. minItems: 1 |
confidentialWireCustomer
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
}
Confidential Wire Customer (v1.0.0)
A reference to a customer that is entitled to view and manage a confidential wire payment payment batch.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique id of the customer.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
name | string (required) The customer's full name. minLength: 2 maxLength: 48 |
contactType
"individual"
Contact Type (v1.0.0)
The type descriptor of the contact to denote the relationship.
contactType
strings may have one of the following enumerated values:
Value | Description |
---|---|
individual | Individual: The contact for the payment is a non-employee of the payer |
business | Business: The contact for the payment is a business entity rather than a person |
Type: string
enum values: individual
, business
creditOrDebitValue
"3456.78"
Credit Or Debit Value (v1.0.0)
The monetary value representing a credit (positive amounts with no prefix or a +
prefix) or debit (negative amounts with a -
prefix). The numeric value is represented as a string so that it can be exact with no loss of precision.
The schema creditOrDebitValue
was added on version 0.4.0
of the API.
Type: string
pattern: ^(-|+)?(0|[1-9][0-9]*).[0-9][0-9]$
customerReference
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
}
Customer Reference (v1.0.0)
A reference to a customer. The name
property is the customer's name
at the time this reference was created.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique id of the customer.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
name | string (required) The customer's full name. minLength: 2 maxLength: 48 |
date
"2021-10-30"
Date (v1.0.0)
A date formatted in YYYY-MM-DD
RFC 3339 date
UTC format.
The schema date
was added on version 0.5.0
of the API.
Type: string(date)
minLength: 10
maxLength: 10
dateRange
"2022-05-19"
Date Range (v1.0.0)
A date range, supporting inclusive or exclusive endpoints. Dates ranges use dates expressed in YYYY-MM-DD
RFC 3339 date
format. The value may have the following forms:
YYYY-MM-DD
match the date exactly; equivalent to matching dates in the range[YYYY-MM-DD,YYYY-MM-DD]
[YYYY-MM-DD,YYYY-MM-DD]
between two dates, inclusive of the endpoints(YYYY-MM-DD,YYYY-MM-DD)
between two dates, exclusive of the endpoints[YYYY-MM-DD,]
on or after the date(YYYY-MM-DD,)
after the date[,YYYY-MM-DD]
before or on the date(,YYYY-MM-DD)
before the date
Type: string
pattern: ^\d{4}-\d{2}-\d{2}|([([)]])$
dateRangeOrUnscheduled
"[2022-05-01,2022-05-31]"
Date Range Or Unscheduled (v1.0.0)
A date range, where endpoints can be inclusive or exclusive or open-ended, allowing matching unscheduled payment batches. The bracketed range options (excluding simple YYYY-MM-DD
single date values) may include the |unscheduled
suffix.
Type: string
minLength: 10
maxLength: 34
pattern: ^\d{4}-\d{2}-\d{2}|([()]?)|unscheduled$
deactivatePaymentContactRequest
{}
Deactivate Payment Contact Request (v1.0.0)
Request body to deactivate a payment contact.
Properties
eligiblePaymentBatchApprovers
{
"items": [
{
"paymentBatchId": "d366bc49-49a7",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}
Eligible Payment Batch Approvers (v2.0.0)
A list of customers eligible to approve one or more payment batches. If the batch is marked confidential, the list of approvers for that batch includes only those who are also in the batch's list of confidential customers. In the example, items[0]
and items[1]
both have the same groupId
value, indicating that those two batches have the same list of approvers, while the approver list for the third batch (items[2]
) differs.
Properties
Name | Description |
---|---|
items | array: [paymentBatchApproverList] (required) The list of payment batches and list of customers eligible to approver the batch. minItems: 1 |
fullAccountNumber
"123456789"
Full Account Number (v1.0.0)
A full account number. This is the number that the customer uses to reference the account within the financial institution.
Type: string
minLength: 1
maxLength: 32
pattern: ^[- a-zA-Z0-9.]{1,32}$
fullAchAccountNumber
"123456789"
Full ACH Account Number (v1.0.0)
A full account number used in ACH account processing.
Type: string
minLength: 2
maxLength: 17
pattern: ^[- a-zA-Z0-9.]{2,17}$
importedAchPaymentBatchItem
{
"state": "failed",
"failure": {
"companyName": "Inland Transport",
"secCode": "ppd",
"direction": "debit",
"creditTotal": "2400.00",
"debitTotal": "1375.00",
"creditCount": 8,
"debitCount": 10,
"problems": [
{
"type": "https://production.api.apiture.com/errors/unprivilegedAchOperation/v1.0.0",
"title": "Unprivileged ACH operation",
"detail": "Responsible customer 'Benny Billings' (bbillings) does not have 'Create PPD' privilege(s) over customer 'Inland Transport' (inland-transport)",
"attributes": {
"responsibleCustomerName": "Benny Billings",
"responsibleCustomerUsername": "bbillings",
"customerName": "Inland Transport",
"customerUsername": "inland-transport"
}
}
]
}
}
Imported ACH Payment Batch Item (v6.0.0)
Represents the result from attempting to import a payment batch from a NACHA ACH file. This can be either:
state: imported
: thepaymentBatch
object successfully imported from a section of a NACHA ACH file,state: failed
: thefailure
object which summarizes the section of the NACHA ACH file an array ofproblems
with that section.state: processing
if the system is still processing the ACH file contents. The system will communicate the result of the import to the customer.
Properties
Name | Description |
---|---|
failure | array: [paymentBatchAchImportFailure] If the corresponding section of the NACHA ACH file could not be processed, this object summaries the section the problems/errors found. This object is present only if state is failed . See the 200 error response on the importAch operation for a list of possible errors. |
paymentBatch | object: paymentBatch If the corresponding section of the NACHA ACH file could be processed successfully, this is the resulting payment batch. Note at the batch may also have some problems which prevent it from being approved, such as being past the cutoff time. This object is present only if state is imported . See the 200 error response on the importAch operation for a list of possible errors. |
state | string (required) The state of this imported item enum values: imported , failed , processing |
importedAchPaymentBatches
{
"items": [
{
"state": "imported",
"paymentBatch": {
"id": "0399abed-fd3d",
"type": "ach",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"state": "pendingApprovals",
"toSummary": "47 payees",
"fromSummary": "Payroll Checking *7890",
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"trackingNumber": "15474162",
"remainingApprovalsCount": 0,
"information": "You have missed the cutoff time. Please re-schedule.",
"ach": {
"secCode": "ppd",
"imported": false,
"direction": "credit",
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"settlementType": "detailed",
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*1008",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"requestApproval": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true
},
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z"
}
},
{
"state": "imported",
"paymentBatch": {
"id": "d62c0701-0d74",
"type": "ach",
"information": "Other fields for batch d62c0701-0d74 omitted here for brevity"
}
},
{
"state": "failed",
"failure": {
"companyName": "Inland Transport",
"secCode": "ppd",
"direction": "debit",
"creditTotal": "2400.00",
"debitTotal": "1375.00",
"creditCount": 8,
"debitCount": 10,
"problems": [
{
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"detail": "Responsible customer 'Benny Billings' (bbillings) does not have 'Create PPD' privilege(s) over customer 'Inland Transport' (inland-transport)",
"attributes": {
"responsibleCustomerName": "Benny Billings",
"responsibleCustomerUsername": "bbillings",
"customerName": "Inland Transport",
"customerUsername": "inland-transport"
}
}
]
}
}
]
}
Imported ACH Payment Batches (v6.0.0)
The result from importing a NACHA ACH file as one or more new payment batches. The response is an array for each section of the input file, based on SEC code and direction.
If a section is imported, the item's paymentBatch
is the new batch.
If a section contains errors and no payment batch can be created for it, the item's failure
lists the problems
with that section of the ACH file.
Otherwise, if the NACHA ACH file import is still processing, the section may have a state of processing
.
Properties
Name | Description |
---|---|
items | array: [importedAchPaymentBatchItem] (required) An array containing the payment batch items. |
institutionLocatorType
"abaRoutingNumber"
institution Locator Type (v1.0.0)
Indicates the type of the institution locator
.
institutionLocatorType
strings may have one of the following enumerated values:
Value | Description |
---|---|
abaRoutingNumber | ABA Routing Number: The American Bankers Association routing number of a financial institution |
swiftBicCode | swiftBicCode: The SWIFT Business Identifier Code (BIC) code of a financial institution |
ibanAccountNumber | IBAN: |
Type: string
enum values: abaRoutingNumber
, swiftBicCode
, ibanAccountNumber
maskedAccountNumber
"*1008"
Masked Account Number (v1.0.1)
A masked account number: an asterisk *
followed by one to four characters of the fullAccountNumber
.
Type: string
minLength: 2
maxLength: 5
pattern: ^*[- _a-zA-Z0-9.]{1,4}$
monetaryValue
"3456.78"
Monetary Value (v1.0.0)
The monetary value, supporting only positive amounts. The numeric value is represented as a string so that it can be exact with no loss of precision.
The schema monetaryValue
was added on version 0.4.0
of the API.
Type: string
pattern: ^(0|[1-9][0-9]*).[0-9][0-9]$
newAchPaymentBatch
{
"secCode": "ppd",
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05",
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
]
}
New ACH Payment Batch (v1.1.1)
Properties to create new ACH payment batches.
Properties
Name | Description |
---|---|
confidentialCustomers | array: [confidentialAchCustomer] A list of customers entitled to view and manage this confidential payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
companyName | string The name of the company associated with this ACH batch. This short form of the business name is included in the corresponding NACHA file which imposes a maximum length of 16 characters. maxLength: 16 |
discretionaryData | string Discretionary text data which is carried over to the settlement entry. maxLength: 20 |
sameDay | boolean The ACH payment should be processed on the same day, if enabled by the financial institution. Default: false |
sendRemittanceOnly | boolean If true , send only the payment remittance information with this ACH payment. This property applies only if secCode is ccd or ctx and this batch is not an ACH (NACHA) import, and is otherwise ignored.Default: false |
type | string: achPaymentBatchType Optionally defines a specific type of ACH payment batch. Used for Vendor Credit batches. enum values: other , vendorCredit |
secCode | string: paymentBatchAchSecCode (required) The SEC code for these ACH payments. This is derived from type .enum values: arc , boc , ccd , cie , ctx , pop , ppd , rck , tel , web |
newAchPaymentInstruction
{
"routingNumber": "123123123",
"accountNumber": "123456789"
}
New ACH Payment Instruction (v1.3.0)
The payment bank account number and routing number for paying or drafting from a contact's account by ACH.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber (required) The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber (required) The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
accountType | string: achPaymentMethodAccountType The type of banking account for the financial institution, if known. enum values: checking , savings , loan |
addendum | string An optional memo addendum. maxLength: 80 |
vendorCreditAddenda | array: [newVendorCreditAddendum] Vendor Credit Corporate Trade Exchange (CTX) addenda. This optional array is only used if the payment direction is credit , the payment secCode is ctx , the ach.type is vendorCredit , and there are addenda.minItems: 1 maxItems: 9999 |
rePresentedCheck | object: newRePresentedCheck An new re-presented check (RCK) ACH payment instruction. This field is only used (and is required) if the payment direction is debit and the payment secCode is rck . |
newAchPaymentMethod
{
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
New ACH Payment Method (v1.1.0)
Data necessary for defining the customer's ACH payment method.
Properties
Name | Description |
---|---|
routingNumber | string: accountRoutingNumber (required) The financial institution routing number to be used for the payment. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
accountNumber | string: fullAchAccountNumber (required) The financial institution full account number to be used for the payment. minLength: 2 maxLength: 17 pattern: ^[- a-zA-Z0-9.]{2,17}$ |
type | string: achPaymentMethodAccountType (required) The type of account for the financial institution. enum values: checking , savings , loan |
primary | boolean (required) Designates this as the primary ACH payment method. There can only be one primary ACH payment method. If a new ACH payment method is set as the primary method when there is an already existing primary ACH payment method, the new ACH payment method becomes the primary method. Primary payment methods are only supported when the associated payment customer for this resource is of type employee . |
newPaymentBatch
{
"type": "ach",
"direction": "credit",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"secCode": "ppd",
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05",
"imported": false,
"companyName": "Well's Roofing"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay"
}
}
New Payment Batch (v3.0.1)
Representation used to create a new ACH payment batch. If the name
is omitted, the service assigns a name based on the payment type. If type
is wireTransfer
, direction
must be credit
.
Properties
Name | Description |
---|---|
name | string The user-assigned name of this payment batch. maxLength: 10 |
description | string The user-assigned detailed description of this payment batch. maxLength: 100 |
company | object: paymentBatchCompany Identification of the company making this payment batch. |
type | string: paymentBatchType (required) Defines the type of this payment batch. enum values: ach , wireTransfer |
ach | object: newAchPaymentBatch ACH-specific details of the payment batch. This object is required if type is ach and ignored otherwise. |
wireTransfer | object: newWireTransferPaymentBatch The definition of a wire transfer batch. This object is required if type is wireTransfer and ignored otherwise. |
schedule | object: newPaymentBatchSchedule The target date when the payment is due, and any recurrence. |
direction | string: paymentBatchDirection (required) The direction in which funds flow for this payment batch. This must be credit for wire transfers.enum values: none , credit , debit , both |
customerId | string: readOnlyResourceId (required) The ID of the banking customer that this payment batch is for. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
settlementAccount | object: newPaymentSettlementAccountReference The account where the payment funds are drawn or credited. |
newPaymentBatchSchedule
{
"recurrenceType": "fixed",
"scheduledOn": "2021-10-30",
"frequency": "once",
"endsOn": "2021-10-30"
}
New Payment Batch Schedule (v1.4.0)
The date when the payment should be completed, and any recurrence.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
recurrenceType | string: paymentRecurrenceType Describes whether the payment instruction amounts in the batch vary or are fixed when the payment recurs. This is ignored if the payment frequency is
enum values: fixed , variable , automaticallyRecur | ||||||||||||||||||||||||||
scheduledOn | string(date): date (required) The payment's target completion date, in YYYY-MM-DD RFC 3339 date format. For recurring batches, this date get recalculated after each recurrence is processed.minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
frequency | string: paymentFrequency (required) For recurring transfers, the interval at which the money movement recurs.
enum values: once , daily , weekly , biweekly , semimonthly , monthly , monthlyFirstDay , monthlyLastDay , bimonthly , quarterly , semiyearly , yearly | ||||||||||||||||||||||||||
endsOn | string(date): date The optional date when the batch schedule ends, in YYYY-MM-DD RFC 3339 date format. Subsequent recurring payments may be scheduled up to and including this date, but not after. This property is ignored if frequency is once .minLength: 10 maxLength: 10 |
newPaymentContact
{
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d"
}
New Payment Contact (v5.0.0)
Representation used to create a new payment contact.
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
name | string (required) The name of the payment contact. This can be used to represent a person or a business. maxLength: 55 | ||||||
contactIdentification | string An identifier which uniquely identifies each contact. The customer may use whatever unique string they choose. For example, if a customer has multiple payment contacts for a payroll batch with the name "Michael Scott", they can set the contactIdentification to each contact's unique Employee ID number. When this contact is used for an ACH payment, the contactIdentification (if set) is assigned to the Individual Identification Number within the NACHA file.maxLength: 55 | ||||||
address | object: address The physical address of the payment contact. | ||||||
type | string: contactType (required) The type descriptor of the contact to denote the relationship.
enum values: individual , business | ||||||
employee | boolean Indicates whether or not the contact is an employee or not. | ||||||
customerId | string: resourceId (required) The customer identifier of the owning account associated with the contact. This is typically a business customer ID. Note: This is not the login or access ID of the customer. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
newPaymentInstruction
{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789"
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
Create Payment Instruction (v1.4.0)
Representation used to create a new payment instruction. If the payment batch type
is ach
, the body must contain the ach
property. The amount
may be "0.00" but a non-zero amount must be set, or the item marked as hold
, in order to approve the batch.
Properties
Name | Description |
---|---|
name | string (required) The name of the payment contact being paid or drafted. minLength: 1 maxLength: 22 |
identifier | string A optional string, such as an employee ID, which distinguishes this payment contact from others with the same name .maxLength: 15 |
amount | string: monetaryValue (required) The amount of money to send or draft from this payment contact. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
hold | boolean If true , do not process this instruction. |
contactId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the contact's id .minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
methodId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the id of that contact's payment method.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: newAchPaymentInstruction The ACH details. This object is required if and only if the payment batch's type is ach . |
wireTransfer | object: newWireTransferPaymentInstruction The wire transfer details. This object is required if and only if the payment batch's type is wireTransfer . The payment direction must be credit for wire transfers. |
newPaymentMethod
{
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
New Payment Method (v1.3.0)
Representation used to create a new payment method.
Properties
Name | Description |
---|---|
type | string: paymentBatchType (required) The type of the payment method. This determines which sub-resource fields must be present. For example, if type is ach , the ach field is required and contains the fields required for an ACH payment.enum values: ach , wireTransfer |
ach | object: newAchPaymentMethod Enumerates the payment method details for an ACH payment. This object is required when the type is ach . |
wireTransfer | object: newWireTransferPaymentMethod Enumerates the payment method details for a wire transfer payment. This object is required when the type is wireTransfer . |
newPaymentSettlementAccountReference
{
"id": "bf23bc970b78d27691e",
"label": "Payroll Checking *1008",
"maskedNumber": "*1008",
"risk": "normal"
}
New Payment Settlement Account Reference (v1.0.0)
A reference to a settlement account when creating a new payment batch. The label
and maskedNumber
are for identification purposes only.
Properties
Name | Description |
---|---|
id | string: readOnlyResourceId (required) The account's unique, opaque resource ID. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
label | string A text label which describes this account. This is derived from the account.label .maxLength: 80 |
maskedNumber | string: maskedAccountNumber The account number, masked for partial display. minLength: 2 maxLength: 5 pattern: ^\*[- _a-zA-Z0-9.]{1,4}$ |
risk | string: achAccountRisk The risk level determines how the batch processes: how many days it takes to process the batch ( 2, 3 or 4 days ), when the customer gets debited, and how early the batch has to look ahead of the effective date. This is normally determined from the risk associated with the settlement account. enum values: early , normal , float , sameDay |
newRePresentedCheck
{
"checkNumber": 43318
}
New Re-Presented Check (v1.0.0)
A new re-presented check (RCK) ACH payment instruction. An RCK instruction represents a check that was returned for non-sufficient or uncollected funds and is being presented again for payment.
Properties
Name | Description |
---|---|
checkNumber | integer (required) The check number that was presented again. minimum: 1 maximum: 999999999999999 |
newVendorCreditAddendum
{
"description": "Addenda",
"adjustmentDescription": "Dup",
"adjustmentType": "extensionError",
"discountAmount": "22.00",
"invoiceAmount": "20.00",
"invoicedOn": "2022-04-22",
"invoiceNumber": "123123",
"referenceIdType": "billOfLading",
"referenceId": "123123",
"remittanceAmount": "22.00",
"adjustmentAmount": "32.00"
}
New ACH Payment Vendor Credit Addendum (v1.1.0)
Details of a new Vendor Credit ACH addendum.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
description | string (required) The description of this payment addendum. maxLength: 80 | ||||||||||||||||||||||||||
adjustmentDescription | string (required) The description of the adjustment. maxLength: 8 | ||||||||||||||||||||||||||
adjustmentAmount | string: monetaryValue (required) The value of the adjustment as an exact decimal amount. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
adjustmentType | string: vendorCreditAdjustmentType (required) The type of a vendor credit adjustment.
enum values: none , pricingError , extensionError , damaged , qualityConcern , qualityContested , wrongProduct , returnsDueToDamage , returnsDueToQuality , itemNotReceived , creditAdAgreed , creditMemo | ||||||||||||||||||||||||||
discountAmount | string: monetaryValue (required) The monetary value of the discount, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoiceAmount | string: monetaryValue (required) The monetary value of the invoice, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoicedOn | string(date): date (required) The date the original purchase was invoiced. minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
invoiceNumber | string (required) The invoice number maxLength: 6 | ||||||||||||||||||||||||||
referenceIdType | string: vendorCreditReferenceIdType (required) A list of codes which describe the type of the
enum values: none , billOfLading , purchaseOrder , accountReceivableItem , voucher | ||||||||||||||||||||||||||
referenceId | string (required) The vendor's reference ID. This ID number is of type described by referenceIdType .maxLength: 6 | ||||||||||||||||||||||||||
remittanceAmount | string: monetaryValue (required) The amount of the adjustment/remittance. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
newWireTransferPaymentBatch
{
"originator": {
"name": "Phil Duciary",
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"confidentialCustomers": [
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
},
{
"id": "eaf488ab-fbf7",
"name": "Stephen Walker"
}
],
"localClearingCode": "TBD",
"scope": "domestic"
}
New Wire Transfer Payment Batch (v1.0.0)
Properties of a new wire transfer payment.
Properties
Name | Description |
---|---|
originator | object: wireTransferOriginator The person who created the wire transfer. |
confidentialCustomers | array: [confidentialWireCustomer] A list of customers entitled to view and manage this confidential wire transfer payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
scope | string: wireTransferPaymentScope (required) Indicates if the wire transfer is a domestic wire or an international wire. This must be assigned when creating a wire transfer and is immutable after creation.enum values: domestic , international |
newWireTransferPaymentInstruction
{
"beneficiary": {
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"intermediaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
},
"beneficiaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber",
"instructions": "Account should be a savings account."
},
"receivingInstitution": {
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
},
"localClearingCode": "TBD"
}
New Wire Transfer Payment Instruction (v1.0.2)
Data to create a new wire transfer payment instruction. Note: The wire originator information is in the containing paymentBatch.wireTransfer
object.
Properties
Name | Description |
---|---|
beneficiary | object: wireTransferBeneficiary The individual or business who receives the wire transfer funds. |
beneficiaryInstitution | object: wireTransferBeneficiaryInstitution The beneficiary financial institution. A receivingInstitution branch of this beneficiary financial institution may be the ultimate location where the wire transfer is deposited. |
intermediaryInstitution | object: wireTransferIntermediaryInstitution This financial institution serves as an intermediary between the issuer and beneficiary institutions to processes the wire transfer. Required for international wire transfers where the issuing financial institution is unable to process the international wire. |
receivingInstitution | object: wireTransferReceivingInstitution For international wires, a receiving institution may be used if the beneficiary's account at the beneficiary's institution should be routed to a local branch. The receiving institution represents the local branch. |
localClearingCode | string TBD. maxLength: 63 |
newWireTransferPaymentMethod
{
"beneficiary": {
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"intermediaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
},
"beneficiaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber",
"instructions": "Account should be a savings account."
},
"receivingInstitution": {
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
},
"localClearingCode": "TBD",
"scope": "domestic"
}
New Wire Transfer Payment Method (v1.0.2)
Data necessary for defining the customer's wire transfer payment method.
Properties
Name | Description |
---|---|
beneficiary | object: wireTransferBeneficiary (required) The individual or business who receives the wire transfer funds. |
beneficiaryInstitution | object: wireTransferBeneficiaryInstitution (required) The beneficiary financial institution. A receivingInstitution branch of this beneficiary financial institution may be the ultimate location where the wire transfer is deposited. |
intermediaryInstitution | object: wireTransferIntermediaryInstitution This financial institution serves as an intermediary between the issuer and beneficiary institutions to processes the wire transfer. Required for international wire transfers where the issuing financial institution is unable to process the international wire. |
receivingInstitution | object: wireTransferReceivingInstitution For international wires, a receiving institution may be used if the beneficiary's account at the beneficiary's institution should be routed to a local branch. The receiving institution represents the local branch. |
localClearingCode | string TBD. maxLength: 63 |
scope | string: wireTransferPaymentScope (required) Indicates if the wire transfer is a domestic wire or an international wire.enum values: domestic , international |
paymentBatch
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 1,
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true,
"requestApproval": true
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"information": "You have missed the cutoff time. Please re-schedule.",
"imported": true,
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
],
"approvals": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "si...42@wellsroofing.com",
"approvedAt": "2022-04-25T09:02:57.375Z"
},
null
],
"direction": "credit",
"settlementType": "detailed",
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"customerId": "4242923b-714e",
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z",
"problems": []
}
Payment Batch (v7.0.0)
Representation of a payment batch resource.
Properties
Name | Description |
---|---|
name | string The user-assigned name of this payment batch. maxLength: 10 |
description | string The user-assigned detailed description of this payment batch. maxLength: 100 |
company | object: paymentBatchCompany Identification of the company making this payment batch. |
settlementAccount | object: paymentSettlementAccountReference The account where the payment funds are drawn or credited. |
settlementType | string: paymentBatchSettlementType Whether the payments in the batch are applied to the settlement account as detailed transactions per payment instruction or as one summary transaction. This value is initially derived from the customer's ACH preferences. When payment batch processing begins, the preference is assigned to the payment.enum values: summary , detailed |
schedule | object: paymentBatchSchedule The date when the payment should be processed, and any recurrence. |
creditTotal | string: creditOrDebitValue (required) The total of all the payment credit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are credits to the remote accounts and a debit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
debitTotal | string: creditOrDebitValue (required) The total of all the payment debit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are debits to the remote accounts and a credit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
creditCount | integer (required) The number of all the credit instructions in this payment batch. The count omits instructions where hold is true .read-only |
debitCount | integer (required) The number of all the debit instructions in this payment batch. The count omits instructions where hold is true .read-only |
id | string: readOnlyResourceId (required) The unique identifier for this payment batch resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
fromSummary | string A short summary string describing where the payment batch originates, such as a description of the settlement account for credit payments, or a description of the draft account (if only one) or number of payee for debit payments.read-only maxLength: 80 |
toSummary | string A short summary string describing where the funds are credited. such as a description of the settlement account for debit payments, or a description of the payee (if only one) or number of payees for debit payments.read-only maxLength: 80 |
type | string: paymentBatchType (required) Defines the type of this payment batch. enum values: ach , wireTransfer |
state | string: paymentBatchState (required) The state of this payment batch. read-only enum values: pending , pendingApproval , rejected , scheduled , processing , processed , reversalPending , partiallyReversed , reversed , canceled |
reasonCode | string: paymentBatchReasonCode The reason code associated with the payment batch state. read-only enum values: incomplete , notScheduled , pastCutoff , locked , none |
stateReason | string The reason given when someone rejected the batch, reversed the batch, or removed approvals. This string is only present if a reason was given and the state has not changed since the reason was given.read-only maxLength: 80 |
customerId | string: readOnlyResourceId (required) The ID of the banking customer that this payment batch is for. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: achPaymentBatch ACH-specific details of the payment batch. This object is present if and only if the batch's type is ach .read-only |
wireTransfer | object: wireTransferPaymentBatch Wire-specific details of the payment batch. This object is present if and only if the batch's type is wireTransfer . |
direction | string: paymentBatchDirection (required) The direction in which funds flow for this payment batch. read-only enum values: none , credit , debit , both |
allows | object: paymentBatchAllows (required) Indicates what payment batch actions are allowed for the current customer, given the user's entitlements and the state of the payment batch. |
information | string A text string with additional information about the status of the batch. read-only maxLength: 100 |
trackingNumber | string: paymentBatchTrackingNumber (required) A unique tracking number for this batch. Unlike the id , this numeric value is visible to the customer, and can be used to lookup a batch by this ID.read-only minLength: 6 maxLength: 9 pattern: ^[0-9]+$ |
remainingApprovalsCount | number (required) The number of the remaining approvals that are required before the batch can be scheduled. This property only applies if the state of the payment batch is pendingApproval .read-only minimum: 0 maximum: 3 |
derivedFrom | object: paymentBatchDerivation If this batch was copied from another, this object describes that source payment batch. This field is only be present when the payment batch was created via the copy operation. |
createdAt | string(date-time) (required) The date-time when this resource was created, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
updatedAt | string(date-time) (required) The date-time when the resource was last updated, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
approvers | array: [paymentBatchApprover] (required) An array of customers that are entitled to approve the containing payment batch. This may also be an empty array if the settlement account is not yet set. read-only minItems: 0 maxItems: 8 |
approvals | array: [paymentBatchApproval] (required) An array of approvals. A null item indicates a required approval is still pending. The length of this array indicates how many approvals are needed before this payment batch may be actively scheduled for processing. This may also be an empty array if the settlement account is not yet set.read-only minItems: 0 maxItems: 3 |
problems | array: [paymentProblem] A list of problems that prevent approving the payment batch. |
paymentBatchAchExport
{
"paymentBatchIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"includeHolds": true,
"includePrenoteColumn": false,
"includeBatchNameColumn": true,
"includeTrackingNumberColumn": true,
"format": "ach",
"content": "... text content not included here ...",
"problems": []
}
Payment Batch ACH Export (v2.1.0)
Result of exporting one or more payment batches as a NACHA ACH file or as a tab-separated values (TSV) file. For TSV files, the content has these columns:
Column Heading | Description |
---|---|
Consumer Name | The name for this payment instruction payee/payer |
ID | The batch tracking number, with a # prefix, such a #15474162 |
Account Number | The account number for this instructions' payee/payer |
Account Type | The ACH account type |
R&T Number | The ACH account routing and transit number |
Amount | The amount of the payment |
Description/Addenda | Payment instruction description or addenda text |
Debits/ Credits | C if this is a credit; D if this is a debit |
Hold | Yes if there is a hold on this instruction, No if not |
Prenote | Yes if a prenote was submitted for this ACH account, No if not. Note: This column is only included if includePrenoteColumn is true in the request. |
Batch Name | The name of the payment batch. Note: This column is only included if includeBatchNameColumn is true in the request. |
Tracking # | The tracking number of the payment batch. Note: This column is only included if includeTrackingNumberColumn is true in the request. |
Properties
Name | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
format | string: paymentBatchExportFormats (required) Indicates which file format to create: either
enum values: ach , tabSeparated , tabSeparatedWithHeaders | ||||||||
paymentBatchIds | array: [readOnlyResourceId] (required) An array of payment batches to export. The values are the id values of the batches, not the tracking IDs. This array is limited to one batch ID if the format is tab-separated file.minItems: 1 | ||||||||
includeHolds | boolean (required) If true , include instructions whose hold value is true ; if false , omit those from the exported file. | ||||||||
includePrenoteColumn | boolean (required) If true , include a Prenote column in the tab-separated values data. This property is ignored if format is ach . | ||||||||
includeBatchNameColumn | boolean If true , include a Batch Name column in the tab-separated values data. This property is ignored if format is ach .Default: false | ||||||||
includeTrackingNumberColumn | boolean If true , include a Tracking # column in the tab-separated values data. This property is ignored if format is ach .Default: false | ||||||||
content | string (required) The Base64-encoded content of the single NACHA ACH file, or the tab-separated values (TSV) formatted list of ACH batches and instructions. maxLength: 2500000 | ||||||||
problems | array: [paymentBatchExportProblem] A list of problems that exist in the selected payment batches. |
paymentBatchAchExportRequest
{
"paymentBatchIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"includeHolds": true,
"includePrenoteColumn": false,
"includeBatchNameColumn": true,
"includeTrackingNumberColumn": true,
"format": "ach"
}
Payment Batch ACH Export Request (v2.1.0)
The request data for exporting one or more payment batches as a NACHA ACH file file or as a tab-separated values (TSV) file. The columns in the TSV file are described in the paymentBatchAchExport
response schema.
Properties
Name | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
format | string: paymentBatchExportFormats (required) Indicates which file format to create: either
enum values: ach , tabSeparated , tabSeparatedWithHeaders | ||||||||
paymentBatchIds | array: [readOnlyResourceId] (required) An array of payment batches to export. The values are the id values of the batches, not the tracking IDs. This array is limited to one batch ID if the format is tab-separated file.minItems: 1 | ||||||||
includeHolds | boolean (required) If true , include instructions whose hold value is true ; if false , omit those from the exported file. | ||||||||
includePrenoteColumn | boolean (required) If true , include a Prenote column in the tab-separated values data. This property is ignored if format is ach . | ||||||||
includeBatchNameColumn | boolean If true , include a Batch Name column in the tab-separated values data. This property is ignored if format is ach .Default: false | ||||||||
includeTrackingNumberColumn | boolean If true , include a Tracking # column in the tab-separated values data. This property is ignored if format is ach .Default: false |
paymentBatchAchImportFailure
{
"companyName": "Inland Transport",
"secCode": "ppd",
"direction": "debit",
"creditTotal": "2400.00",
"debitTotal": "1375.00",
"creditCount": 8,
"debitCount": 10,
"problems": [
{
"type": "https://production.api.apiture.com/errors/unprivilegedAchOperation/v1.0.0",
"title": "Unprivileged ACH operation",
"detail": "Responsible customer 'Benny Billings' (bbillings) does not have 'Create PPD' privilege(s) over customer 'Inland Transport' (inland-transport)",
"attributes": {
"responsibleCustomerName": "Benny Billings",
"responsibleCustomerUsername": "bbillings",
"customerName": "Inland Transport",
"customerUsername": "inland-transport"
}
}
]
}
Payment Batch ACH Import Failure (v1.0.2)
Describes the failed import of a section of a NACHA ACH file import.
Properties
Name | Description |
---|---|
creditTotal | string: creditOrDebitValue (required) The total of all the payment credit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are credits to the remote accounts and a debit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
debitTotal | string: creditOrDebitValue (required) The total of all the payment debit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are debits to the remote accounts and a credit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
creditCount | integer (required) The number of all the credit instructions in this payment batch. The count omits instructions where hold is true .read-only |
debitCount | integer (required) The number of all the debit instructions in this payment batch. The count omits instructions where hold is true .read-only |
secCode | string: paymentBatchAchSecCode (required) The SEC code for this ACH batch. read-only enum values: arc , boc , ccd , cie , ctx , pop , ppd , rck , tel , web |
direction | string: paymentBatchDirection (required) The direction in which funds flow for this payment batch. enum values: none , credit , debit , both |
companyName | string (required) The name of the company associated with this ACH batch. This short form of the business name is included in the corresponding NACHA file which imposes a maximum length of 16 characters. maxLength: 16 |
problems | array: [paymentProblem] (required) If the corresponding section of the NACHA ACH file could not be processed, this object summaries the section the problems/errors found. See the 200 error response on the importAch operation for a list of possible errors. |
paymentBatchAchSecCode
"arc"
ACH Payment (v1.0.1)
The Standard Entry Class (SEC) code that denotes the ACH payment authorization type.
Type: string
enum values: arc
, boc
, ccd
, cie
, ctx
, pop
, ppd
, rck
, tel
, web
paymentBatchAllows
{
"approve": false,
"edit": false,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": false
}
Payment Batch Allows (v4.0.0)
Indicates what payment batch actions are allowed for the current customer, given the user's entitlements and the state of the payment batch.
Properties
Name | Description |
---|---|
approve | boolean (required) The customer is allowed to approve the batch. |
edit | boolean (required) The customer is allowed to edit the batch. |
submit | boolean (required) The customer is allowed to submit batches for approval. |
reject | boolean (required) The customer is allowed to reject the payment batch. |
reverse | boolean (required) The customer is allowed to reverse the payment batch. |
reverseInstructions | boolean (required) The financial institution allows item reversal and customer is allowed to reverse individual payment batch instructions. |
delete | boolean (required) The customer is allowed to delete the batch. |
unlock | boolean (required) The customer is allowed to unlock the payment batch for editing. |
copy | boolean (required) The customer is allowed to copy the batch. |
paymentBatchApproval
{
"id": "327d8bea-2553",
"name": "Tom Allison",
"identification": "to...58@wellsroofing.com",
"approvedAt": "2022-05-23T08:01:28.375Z"
}
Payment Batch Approval (v2.0.0)
The customer who approved a payment batch, and when it was approved.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique id of the customer.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
name | string (required) The customer's full name. minLength: 2 maxLength: 48 |
identification | string Descriptive identifying text about the approver, such as a (masked) email address. maxLength: 64 |
approvedAt | string(date-time): readOnlyTimestamp (required) The date-time when the approver last approved this payment batch. read-only minLength: 20 maxLength: 30 |
paymentBatchApprovalRemovalRequest
{}
Payment Batch Approval Removal Request (v1.1.0)
Request data accompanying the action to remove approvals.
Properties
Name | Description |
---|---|
reason | string The optional reason the customer is removing approvals for this batch. maxLength: 80 |
paymentBatchApprovalRequest
{}
Payment Batch Approval Request (v1.0.0)
Request data accompanying the action to approve a payment batch.
Properties
paymentBatchApprovals
{}
Payment Batch Approvals (v2.0.0)
Response from the request to approve a set of payment batches.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchOperationResponseItem] The result of attempting to perform an action on a set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
paymentBatchApprover
{
"id": "327d8bea-2553",
"name": "Tom Allison",
"identification": "to...58@wellsroofing.com"
}
Payment Batch Approver (v2.0.0)
A reference to a customer that is entitled to approve the containing payment batch.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique id of the customer.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
name | string (required) The customer's full name. minLength: 2 maxLength: 48 |
identification | string Descriptive identifying text about the approver, such as a (masked) email address. maxLength: 64 |
paymentBatchApproverList
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
Payment Batch And Approvers (v1.0.0)
A payment batch and a list of customers who are eligible to approve the batch.
Properties
Name | Description |
---|---|
paymentBatchId | string: resourceId (required) The resource ID of the payment batch. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
groupId | string An opaque string which identifies similar lists of approvers. All items with the same groupId have the same set of approvers.minLength: 1 maxLength: 16 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
approvers | array: [paymentBatchApprover] (required) The list of eligible approvers. minItems: 1 |
paymentBatchApprovers
{
"items": [
{
"paymentBatchId": "8ea05bfc-0e9c",
"groupId": "group-00",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Silvia Wilkenson",
"id": "06cf8996-d093",
"identification": "si...42@wellsroofing.com"
}
]
},
{
"paymentBatchId": "071db898-b220",
"groupId": "group-01",
"approvers": [
{
"name": "Tom Allison",
"id": "327d8bea-2553",
"identification": "to...58@wellsroofing.com"
},
{
"name": "Carl Thompson",
"id": "d7da1cc5-8056",
"identification": "ca...39@wellsroofing.com"
}
]
}
]
}
Payment Batch Approvers (v2.0.0)
A list of payment batches and the customers to assign to approve that payment batch.
Properties
Name | Description |
---|---|
items | array: [paymentBatchApproverList] (required) The list of payment batches and list of customers eligible to approver the batch. minItems: 1 |
paymentBatchBulkApprovers
{}
Payment Batch Bulk Approvers (v1.0.0)
Response from the request to add approvers to a set of payment batches.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchOperationResponseItem] The result of attempting to perform an action on a set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
paymentBatchCompany
{
"id": "string",
"type": "taxId"
}
Payment Batch Company (v1.0.0)
Identification of the company associated with this payment batch.
Properties
Name | Description |
---|---|
id | string (required) The company identifier maxLength: 32 |
type | string: paymentBatchCompanyIdType (required) The type of this company identification number enum values: taxId , dunsNumber , userDefined , companyId |
paymentBatchCompanyIdType
"taxId"
Payment Batch Company Id Type (v1.0.0)
An enumeration of allowed company ID types.
paymentBatchCompanyIdType
strings may have one of the following enumerated values:
Value | Description |
---|---|
taxId | Tax Id: Government issued TAX identification ID |
dunsNumber | DUNS Number: Dunn & Bradstreet company identification number |
userDefined | User Defined ID |
companyId | Company ID |
Type: string
enum values: taxId
, dunsNumber
, userDefined
, companyId
paymentBatchCopyRequest
{}
Payment Batch Copy Request (v1.1.0)
Request data accompanying the action to copy a payment batch.
Properties
Name | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
type | string: paymentBatchCopyType (required) The type of the payment batch copy.
enum values: prenote , copy , recurrence , reversal |
paymentBatchCopyType
"prenote"
Payment Batch Copy Type (v1.1.0)
The type of the payment batch copy.
paymentBatchCopyType
strings may have one of the following enumerated values:
Value | Description |
---|---|
prenote | Prenote: A prenote payment batch to validate the ACH routing number and account number |
copy | Copy: A copy of an existing payment batch |
recurrence | Recurrence: A payment batch originating from a payment batch recurrence |
reversal | Reversal: A reversed payment batch |
Type: string
enum values: prenote
, copy
, recurrence
, reversal
paymentBatchDeletions
{}
Payment Batch Deletions (v1.0.1)
Response from the request to delete a set of payment batches.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchOperationResponseItem] The result of attempting to perform an action on a set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
paymentBatchDerivation
{
"id": "string",
"trackingNumber": "15474162",
"type": "prenote"
}
Payment Batch Derivation (v1.0.0)
If this batch was copied from another, this object describes that source payment batch. This field is only be present when the payment batch was created via the copy operation.
Properties
Name | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
id | string: readOnlyResourceId (required) The unique identifier for the origin payment batch resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||||||
trackingNumber | string (required) The unique tracking number for the batch this was copied from. minLength: 6 maxLength: 9 pattern: ^[0-9]+$ | ||||||||||
type | string: paymentBatchCopyType (required) The type of the payment batch copy.
enum values: prenote , copy , recurrence , reversal |
paymentBatchDirection
"none"
Batch Payment Direction (v1.0.0)
Indicates the direction of money flow for a payment batch.
paymentBatchDirection
strings may have one of the following enumerated values:
Value | Description |
---|---|
none | None: No payment instructions to determine direction |
credit | credit: Payments are credit in the external accounts, debit to the settlement account |
debit | debit: Payments are debits in the external accounts, credit to the settlement account |
both | both: Payment instructions include both debits and credits |
Type: string
enum values: none
, credit
, debit
, both
paymentBatchExportFormats
"ach"
Payment Batch Export Formats (v1.0.0)
Indicates which file format to create: either ach
for a NACHA ACH file file, or tabSeparated
for a tab-separated values file, or tabSeparatedWithHeaders
for a tab-separated values file with an initial header row. The paymentBatchAchExport
schema defines the columns and headers.
paymentBatchExportFormats
strings may have one of the following enumerated values:
Value | Description |
---|---|
ach | NACHA ACH file |
tabSeparated | Tab-separated file without a header row |
tabSeparatedWithHeaders | Tab-separated file with a header row |
Type: string
enum values: ach
, tabSeparated
, tabSeparatedWithHeaders
paymentBatchExportProblem
{
"type": "https://production.api.apiture.com/errors/pastCutoffTime/v1.0.0",
"title": "Past cutoff time",
"detail": "The current time is past the financial institution's cutoff time.",
"attributes": {
"referencedAt": "2022-07-13T020:52:19.375Z",
"cutoffAt": "2022-07-13T10:00:00.000Z"
},
"paymentBatchId": "2ab6dc71-1856",
"trackingNumber": "15474162"
}
Payment Export Problem (v1.0.1)
Describes a problem with a payment batch or payment instruction that was exported to a NACHA ACH file or tab-separated values file.
Properties
Name | Description |
---|---|
type | string(uri-reference) (required) A URI reference (RFC3986) that identifies the problem type. This is the URL of human-readable HTML documentation for the problem type. |
title | string (required) A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
detail | string (required) A human-readable explanation specific to this occurrence of the problem. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
paymentBatchId | string: readOnlyResourceId (required) The id of an exported payment batch in which this problem exists.read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
trackingNumber | string: paymentBatchTrackingNumber (required) The tracking number of an exported payment batch in which this problem exists. read-only minLength: 6 maxLength: 9 pattern: ^[0-9]+$ |
instructionId | string: readOnlyResourceId The id of an exported payment instruction in which this problem exists.read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
paymentBatchIds
[
"string"
]
Payment Batch Ids (v1.0.0)
A list of payment batch IDs to apply an operation to.
paymentBatchIds
is an array schema.
Array Elements
Name | Description |
---|---|
Payment Batch Ids (v1.0.0) | array: [resourceId] A list of payment batch IDs to apply an operation to. minItems: 1 maxItems: 999 |
paymentBatchItem
{
"id": "0399abed-fd3d",
"type": "ach",
"state": "pendingApprovals",
"toSummary": 12,
"fromSummary": "Payroll Checking *7890",
"ach": {
"secCode": "ppd",
"companyName": "Well's Roofing",
"imported": false,
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"trackingNumber": "15474162",
"remainingApprovalsCount": 2,
"creditTotal": "2640.60",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*7890",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30"
},
"allows": {
"approve": false,
"edit": true,
"submit": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true
}
}
Payment Batch Item (v6.0.1)
Summary representation of a payment batch resource in payment batches collections.
Properties
Name | Description |
---|---|
name | string The user-assigned name of this payment batch. maxLength: 10 |
description | string The user-assigned detailed description of this payment batch. maxLength: 100 |
company | object: paymentBatchCompany Identification of the company making this payment batch. |
settlementAccount | object: paymentSettlementAccountReference The account where the payment funds are drawn or credited. |
settlementType | string: paymentBatchSettlementType Whether the payments in the batch are applied to the settlement account as detailed transactions per payment instruction or as one summary transaction. This value is initially derived from the customer's ACH preferences. When payment batch processing begins, the preference is assigned to the payment.enum values: summary , detailed |
schedule | object: paymentBatchSchedule The date when the payment should be processed, and any recurrence. |
creditTotal | string: creditOrDebitValue (required) The total of all the payment credit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are credits to the remote accounts and a debit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
debitTotal | string: creditOrDebitValue (required) The total of all the payment debit amounts in this batch's payment instructions, expressed as a decimal value. These amounts are debits to the remote accounts and a credit to the settlement account. The total omits instructions where hold is true .read-only pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$ |
creditCount | integer (required) The number of all the credit instructions in this payment batch. The count omits instructions where hold is true .read-only |
debitCount | integer (required) The number of all the debit instructions in this payment batch. The count omits instructions where hold is true .read-only |
id | string: readOnlyResourceId (required) The unique identifier for this payment batch resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
fromSummary | string A short summary string describing where the payment batch originates, such as a description of the settlement account for credit payments, or a description of the draft account (if only one) or number of payee for debit payments.read-only maxLength: 80 |
toSummary | string A short summary string describing where the funds are credited. such as a description of the settlement account for debit payments, or a description of the payee (if only one) or number of payees for debit payments.read-only maxLength: 80 |
type | string: paymentBatchType (required) Defines the type of this payment batch. enum values: ach , wireTransfer |
state | string: paymentBatchState (required) The state of this payment batch. read-only enum values: pending , pendingApproval , rejected , scheduled , processing , processed , reversalPending , partiallyReversed , reversed , canceled |
reasonCode | string: paymentBatchReasonCode The reason code associated with the payment batch state. read-only enum values: incomplete , notScheduled , pastCutoff , locked , none |
stateReason | string The reason given when someone rejected the batch, reversed the batch, or removed approvals. This string is only present if a reason was given and the state has not changed since the reason was given.read-only maxLength: 80 |
customerId | string: readOnlyResourceId (required) The ID of the banking customer that this payment batch is for. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: achPaymentBatch ACH-specific details of the payment batch. This object is present if and only if the batch's type is ach .read-only |
wireTransfer | object: wireTransferPaymentBatch Wire-specific details of the payment batch. This object is present if and only if the batch's type is wireTransfer . |
direction | string: paymentBatchDirection (required) The direction in which funds flow for this payment batch. read-only enum values: none , credit , debit , both |
allows | object: paymentBatchAllows (required) Indicates what payment batch actions are allowed for the current customer, given the user's entitlements and the state of the payment batch. |
information | string A text string with additional information about the status of the batch. read-only maxLength: 100 |
trackingNumber | string: paymentBatchTrackingNumber (required) A unique tracking number for this batch. Unlike the id , this numeric value is visible to the customer, and can be used to lookup a batch by this ID.read-only minLength: 6 maxLength: 9 pattern: ^[0-9]+$ |
remainingApprovalsCount | number (required) The number of the remaining approvals that are required before the batch can be scheduled. This property only applies if the state of the payment batch is pendingApproval .read-only minimum: 0 maximum: 3 |
derivedFrom | object: paymentBatchDerivation If this batch was copied from another, this object describes that source payment batch. This field is only be present when the payment batch was created via the copy operation. |
paymentBatchPatch
{
"company": {
"id": "123-56-7890",
"type": "taxId"
},
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"ach": {
"sameDay": false,
"discretionaryData": "Payroll adjust 22-05"
},
"settlementAccount": {
"id": "69464d06366ac48f2ef6",
"maskedNumber": "*7890",
"label": "Payroll Checking *7890",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"frequency": "monthlyFirstDay",
"recurrenceType": "fixed"
}
}
Payment Batch Patch Request (v2.0.0)
Representation used to patch an existing ACH payment batch using the JSON Merge Patch format and processing rules.
Properties
Name | Description |
---|---|
name | string The user-assigned name of this payment batch. maxLength: 10 |
description | string The user-assigned detailed description of this payment batch. maxLength: 100 |
company | object: paymentBatchCompany Identification of the company making this payment batch. |
settlementAccount | object: newPaymentSettlementAccountReference The account where the payment funds are drawn or credited. |
settlementType | string: paymentBatchSettlementType Whether the payments in the batch are applied to the settlement account as detailed transactions per payment instruction or as one summary transaction. This value is initially derived from the customer's ACH preferences. When payment batch processing begins, the preference is assigned to the payment.enum values: summary , detailed |
schedule | object: paymentBatchSchedule The target date when the payment is due, and any recurrence. |
ach | object: achPaymentBatchPatch ACH-specific details for patching the payment batch. This object is only used if type is ach . |
wireTransfer | object: wireTransferPaymentBatchPatch Wire-specific details for patching the payment batch. This object is only used if type is wireTransfer . |
paymentBatchReasonCode
"incomplete"
Payment Batch Reason Code (v1.0.0)
The reason that a payment batch is in its current state
. Normally, this explains why the state is still pending
and not eligible to be submitted or approved.
Some reasonCode
values may only be associated with specific state
values.
state: pending
may have thesereasonCode
values:incomplete
notScheduled
pastCutoff
none
state: pendingApproval
may have thesereasonCodes
values:locked
paymentBatchReasonCode
strings may have one of the following enumerated values:
Value | Description |
---|---|
incomplete | Incomplete: The payment batch is missing one or more field values required for submission |
notScheduled | Not Scheduled: The payment batch was created but does not have an assigned |
pastCutoff | Past Cutoff: The payment batch's scheduled date has exceeded the processing cutoff time and is no longer eligible for processing |
locked | Locked: The payment batch has been submitted and is unable to be modified |
none | None: The payment batch has no problems and is eligible for submission and approval |
Type: string
enum values: incomplete
, notScheduled
, pastCutoff
, locked
, none
paymentBatchReference
{
"id": "fbc7cb5d-0f98",
"type": "ach",
"name": "22/09 Pay",
"state": "processed",
"traceNumber": 86302,
"effectiveOn": "2022-09-12"
}
Payment Batch Reference (v1.0.0)
Key fields identifying a payment batch.
Properties
Name | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string: readOnlyResourceId (required) The unique ID of the payment batch that contains this payment instruction. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||||||||||||||||||
type | string: paymentBatchType (required) Defines the type of this payment batch. enum values: ach , wireTransfer | ||||||||||||||||||||||
name | string (required) The user-assigned name of the payment batch. maxLength: 10 | ||||||||||||||||||||||
traceNumber | integer (required) A unique non-negative integer for tracing the payment batch through the payment system. This is an immutable opaque string of digits, assigned by the system. read-only minimum: 1 maximum: 999999999 | ||||||||||||||||||||||
state | string: paymentBatchState (required) Defines the state of this payment batch.
enum values: pending , pendingApproval , rejected , scheduled , processing , processed , reversalPending , partiallyReversed , reversed , canceled | ||||||||||||||||||||||
effectiveOn | string(date): date The date when the batch payment or draft should be or was processed, in YYYY-MM-DD RFC 3339 date format. This may be omitted if a payment has not yet been scheduled.minLength: 10 maxLength: 10 |
paymentBatchRejectionRequest
{}
Payment Batch Rejection Request (v1.0.0)
Request data accompanying the action to reject a payment batch.
Properties
Name | Description |
---|---|
reason | string (required) The optional reason the customer is removing approvals for this batch. maxLength: 80 |
paymentBatchRejections
{}
Payment Batch Rejections (v1.0.0)
Response from the request to reject a set of payment batches.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchOperationResponseItem] The result of attempting to perform an action on a set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
paymentBatchReversalRequest
{}
Payment Batch Reversal Request (v1.2.0)
A request to reverse a payment batch or reverse a subset of the batch's payment instructions after that batch has started processing.
Properties
Name | Description |
---|---|
reason | string The optional reason the customer is reversing this batch. maxLength: 80 |
paymentInstructionIds | array: [readOnlyResourceId] When reversing a subset of a batch's payment instructions, send the subset's instruction IDs in this array. If array is omitted, reverse all applicable instructions. This operation is idempotent: instructions which have already been reversed are not changed. minItems: 1 |
paymentBatchReversals
{}
Payment Batch Reversals (v1.0.0)
Response from the request to reverse a set of payment batches.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentBatchReversalResponseItem] The result of attempting to reverse set of payment batches in the request. Items in the array correspond (in order) to each payment batch ID in the request. minItems: 1 maxItems: 999 |
paymentBatchSchedule
{
"recurrenceType": "fixed",
"scheduledOn": "2021-10-30",
"frequency": "once",
"endsOn": "2021-10-30",
"effectiveOn": "2021-10-30"
}
Payment Batch Schedule (v1.3.0)
The scheduled date when the payment should be completed, the recurrence, if any, and other derived dates based on the scheduled date.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
recurrenceType | string: paymentRecurrenceType Describes whether the payment instruction amounts in the batch vary or are fixed when the payment recurs. This is ignored if the payment frequency is
enum values: fixed , variable , automaticallyRecur | ||||||||||||||||||||||||||
scheduledOn | string(date): date The payment's target completion date, in YYYY-MM-DD RFC 3339 date format. For recurring batches, this date get recalculated after each recurrence is processed.minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
frequency | string: paymentFrequency For recurring transfers, the interval at which the money movement recurs.
enum values: once , daily , weekly , biweekly , semimonthly , monthly , monthlyFirstDay , monthlyLastDay , bimonthly , quarterly , semiyearly , yearly | ||||||||||||||||||||||||||
endsOn | string(date): date The optional date when the recurring batch schedule ends, in YYYY-MM-DD RFC 3339 date format. Subsequent recurring payments may be scheduled up to and including this date, but not after. This property is omitted if frequency is once .minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
effectiveOn | string(date): date The target date when the batch payment or draft should be processed, in YYYY-MM-DD RFC 3339 date format. This is derived from the scheduledOn date. For recurring batches, this date get recalculated after each recurrence is processed.minLength: 10 maxLength: 10 |
paymentBatchSettlementType
"summary"
Settlement Type (v1.0.0)
How the payment processing is applied to the settlement account.
paymentBatchSettlementType
strings may have one of the following enumerated values:
Value | Description |
---|---|
summary | Summary: All the payments in the batch are combined into one transaction against the account |
detailed | Detailed: Each payments in the batch is recorded as individual transactions against the account |
Type: string
enum values: summary
, detailed
paymentBatchState
"pending"
Payment Batch State (v1.0.0)
Defines the state of this payment batch.
paymentBatchState
strings may have one of the following enumerated values:
Value | Description |
---|---|
pending | Pending: A batch that has incomplete or erroneous data or has not yet be submitted for approval |
pendingApproval | Pending Approval: At least one approval is necessary before the payment batch may be scheduled |
rejected | Rejected: An approver rejected a payment batch |
scheduled | Scheduled: A payment batch that is scheduled to be processed |
processing | Processing: A payment patch that has begun payment processes |
processed | Processed: A payment batch that has completed its payment processing |
reversalPending | Reversal Pending: A customer has requested reversal which has not yet started |
partiallyReversed | Partially Reversed: Some of the payment instructions in a payment batch have been reversed |
reversed | Reversed: The entire batch has been fully reversed |
canceled | Canceled: A reversed batch has been canceled before an account has been debited |
Type: string
enum values: pending
, pendingApproval
, rejected
, scheduled
, processing
, processed
, reversalPending
, partiallyReversed
, reversed
, canceled
paymentBatchSubmitRequest
{}
Payment Batch Submit Request (v1.0.0)
Request data accompanying the action to submit a payment batch for approval and processing.
Properties
paymentBatchTrackingNumber
"15474162"
Payment Batch Tracking Number (v1.0.0)
A unique tracking number for this batch. Unlike the id
, this numeric value is visible to the customer, and can be used to lookup a batch by this ID.
Type: string
read-only
minLength: 6
maxLength: 9
pattern: ^[0-9]+$
paymentBatchType
"ach"
Payment Batch Type (v1.1.0)
Defines the type of this payment batch.
Type: string
enum values: ach
, wireTransfer
paymentBatches
{
"items": [
{
"id": "0399abed-fd3d",
"type": "ach",
"name": "Payroll 03",
"description": "2022-03 Employee Payroll",
"state": "pendingApprovals",
"toSummary": "47 payees",
"fromSummary": "Payroll Checking *7890",
"creditTotal": "2467.50",
"debitTotal": "0.00",
"creditCount": 12,
"debitCount": 30,
"trackingNumber": "15474162",
"remainingApprovalsCount": 0,
"information": "You have missed the cutoff time. Please re-schedule.",
"ach": {
"secCode": "ppd",
"imported": false,
"direction": "credit",
"companyName": "Well's Roofing",
"confidentialCustomers": [
{
"id": "64446f8d-780f",
"name": "Philip F. Duciary"
},
{
"id": "58853981-24bb",
"name": "Alice A. Tuary"
}
],
"approvalDueAt": "2022-06-09T20:30:00.000Z",
"sameDayApprovalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
},
"settlementType": "detailed",
"settlementAccount": {
"label": "Payroll Checking *7890",
"maskedNumber": "*1008",
"id": "bf23bc970-91e8",
"risk": "normal"
},
"schedule": {
"scheduledOn": "2022-05-01",
"effectiveOn": "2022-04-30",
"frequency": "monthly"
},
"allows": {
"approve": false,
"edit": true,
"requestApproval": true,
"delete": false,
"unlock": false,
"reject": false,
"reverse": false,
"reverseInstructions": false,
"copy": true
},
"createdAt": "2022-04-28T07:48:20.375Z",
"updatedAt": "2022-04-28T07:48:49.375Z"
},
{
"id": "d62c0701-0d74",
"type": "ach",
"information": "other fields for batch d62c0701-0d74 omitted here for brevity"
},
{
"id": "89382459-6e1c",
"type": "ach",
"information": "other fields for d62c0701-0d74 omitted here for brevity"
}
]
}
Payment Batch Collection (v6.0.1)
Collection of payment batches. The items in the collection are ordered in the items
array.
Properties
Name | Description |
---|---|
items | array: [paymentBatchItem] (required) An array containing the payment batch items. |
paymentContact
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Payment Contact (v5.1.0)
Representation of a payment contact resource. Payment contacts are people or companies that may be payed or drafted via ACH, wire transfers, or other payment methods.
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
name | string (required) The name of the payment contact. This can be used to represent a person or a business. maxLength: 55 | ||||||
contactIdentification | string An identifier which uniquely identifies each contact. The customer may use whatever unique string they choose. For example, if a customer has multiple payment contacts for a payroll batch with the name "Michael Scott", they can set the contactIdentification to each contact's unique Employee ID number. When this contact is used for an ACH payment, the contactIdentification (if set) is assigned to the Individual Identification Number within the NACHA file.maxLength: 55 | ||||||
address | object: address The physical address of the payment contact. | ||||||
type | string: contactType (required) The type descriptor of the contact to denote the relationship.
enum values: individual , business | ||||||
employee | boolean Indicates whether or not the contact is an employee or not. | ||||||
id | string: readOnlyResourceId (required) The unique identifier for this payment contact resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||
customerId | string: readOnlyResourceId (required) The customer identifier of the owning account associated with the contact. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||
state | string: paymentContactState (required) Indicates whether the contact is active or not. Toggle this with the activatePaymentContact and deactivatePaymentContact operations.read-only enum values: active , inactive | ||||||
paymentMethods | array: [paymentMethodItem] (required) Collection of payment methods for the payment contact. read-only |
paymentContactAchPayment
{
"accountNumber": "123123123"
}
Payment Contact ACH Payment (v1.0.0)
ACH payment instruction for a payment contact's payment history.
Properties
Name | Description |
---|---|
accountNumber | string: fullAccountNumber (required) The financial institution full account number used for the payment. minLength: 1 maxLength: 32 pattern: ^[- a-zA-Z0-9.]{1,32}$ |
paymentContactItem
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active",
"paymentMethods": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Payment Contact Item (v5.2.0)
Summary representation of a payment contact resource in payment contacts collections. Payment contacts are people or companies that may be payed or drafted via ACH, wire transfers, or other payment methods.
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
name | string (required) The name of the payment contact. This can be used to represent a person or a business. maxLength: 55 | ||||||
contactIdentification | string An identifier which uniquely identifies each contact. The customer may use whatever unique string they choose. For example, if a customer has multiple payment contacts for a payroll batch with the name "Michael Scott", they can set the contactIdentification to each contact's unique Employee ID number. When this contact is used for an ACH payment, the contactIdentification (if set) is assigned to the Individual Identification Number within the NACHA file.maxLength: 55 | ||||||
address | object: address The physical address of the payment contact. | ||||||
type | string: contactType (required) The type descriptor of the contact to denote the relationship.
enum values: individual , business | ||||||
employee | boolean Indicates whether or not the contact is an employee or not. | ||||||
id | string: readOnlyResourceId (required) The unique identifier for this payment contact resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||
customerId | string: readOnlyResourceId (required) The customer identifier of the owning account associated with the contact. This is typically a business customer ID. Note: This is not the login or access ID of the customer. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ | ||||||
state | string: paymentContactState (required) Indicates whether the contact is active or not. Toggle this with the activatePaymentContact and deactivatePaymentContact operations.read-only enum values: active , inactive | ||||||
paymentMethods | array: [paymentMethodItem] (required) Collection of payment methods for the payment contact. read-only |
paymentContactPatch
{
"state": "inactive"
}
Payment Contact Patch Request (v4.0.0)
Representation used to patch an existing payment contact using the JSON Merge Patch format and processing rules.
Properties
Name | Description | ||||||
---|---|---|---|---|---|---|---|
name | string The name of the payment contact. This can be used to represent a person or a business. maxLength: 55 | ||||||
contactIdentification | string An identifier which uniquely identifies each contact. The customer may use whatever unique string they choose. For example, if a customer has multiple payment contacts for a payroll batch with the name "Michael Scott", they can set the contactIdentification to each contact's unique Employee ID number. When this contact is used for an ACH payment, the contactIdentification (if set) is assigned to the Individual Identification Number within the NACHA file.maxLength: 55 | ||||||
address | object: address The physical address of the payment contact. | ||||||
type | string: contactType The type descriptor of the contact to denote the relationship.
enum values: individual , business | ||||||
employee | boolean Indicates whether or not the contact is an employee or not. |
paymentContactPayment
{
"paymentBatch": {
"id": "fbc7cb5d-0f98-4d8c-8004-a650d0242f66",
"traceNumber": 86302,
"type": "ach",
"name": "22/08 Pay",
"state": "processed",
"effectiveOn": "2022-08-12"
},
"amount": "1640.72",
"instructionId": "1e5a75f3-8534",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
}
Payment Contact Payment (v1.0.0)
An item in a contact's history of payments.
Properties
Name | Description |
---|---|
paymentBatch | object: paymentBatchReference (required) Key fields identifying a payment batch. |
amount | string: monetaryValue (required) The amount of money sent to or drafted from this payment contact. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
instructionId | string: readOnlyResourceId (required) The unique resource ID of the payment instruction. Combine this with the paymentBatch.id to fetch the payment instruction.read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
direction | string: paymentInstructionDirection (required) Indicates if this payment is a debit or credit, relative to this payment contact. enum values: credit , debit |
ach | object: paymentContactAchPayment If the paymentBatch.type is ach , this object contains the ACH payment details. |
wireTransfer | object: paymentContactWireTransferPayment If the paymentBatch.type is wireTransfer , this object contains the wire transfer payment details. |
paymentContactPayments
{
"paymentContactId": "4d8c-8004-a650d0242f66",
"items": [
{
"paymentBatch": {
"id": "fbc7cb5d-0f98",
"type": "ach",
"traceNumber": 86302,
"name": "22/09 Pay",
"state": "processed",
"effectiveOn": "2022-09-12"
},
"amount": "1592.58",
"instructionId": "c148e81f-ec0a",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
},
{
"paymentBatch": {
"id": "fbc7cb5d-0f98",
"type": "ach",
"traceNumber": 85932,
"name": "22/08 Pay",
"state": "processed",
"effectiveOn": "2022-08-12"
},
"amount": "1640.72",
"instructionId": "fb7c04f5-8b79",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
},
{
"paymentBatch": {
"id": "0939cdfb-c77d",
"type": "ach",
"traceNumber": 84329,
"name": "22/07 Pay",
"state": "processed",
"effectiveOn": "2022-07-12"
},
"amount": "1578.90",
"instructionId": "f674b43c-e74a",
"direction": "credit",
"ach": {
"accountNumber": "123456789"
}
}
],
"previousDateRange": "[2022-04-01,2022-07-01)"
}
Payment Contact Payments (v1.0.0)
A collection of pending/scheduled and historical payment instructions for a payment contact.
Properties
Name | Description |
---|---|
items | array: [paymentContactPayment] (required) A list of payment instructions for this contact. |
paymentContactId | string: readOnlyResourceId (required) The unique ID of the payment contact. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
nextDateRange | string: dateRange If the initial request included an effectiveOn date range, this is the next range of dates with a similar range of days.pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
previousDateRange | string: dateRange If the initial request included an effectiveOn date range, this is the previous range of dates with a similar range of days.pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
paymentContactState
"active"
Contact State (v1.0.0)
The active or inactive state of the contact.
paymentContactState
strings may have one of the following enumerated values:
Value | Description |
---|---|
active | Active: The contact is active |
inactive | Inactive: The contact is inactive |
Type: string
enum values: active
, inactive
paymentContactWireTransferPayment
{
"scope": "domestic"
}
Payment Contact Wire Transfer Payment (v1.0.0)
Wire transfer payment instruction for a payment contact's payment history.
Properties
Name | Description |
---|---|
scope | string: wireTransferPaymentScope (required) Indicates if the wire transfer is a domestic wire or an international wire.enum values: domestic , international |
paymentContacts
{
"start": "d1b48af913464aa49fcb07065dcc0616",
"limit": 10,
"nextPage_url": "https://production.api.apiture.com/payments/paymentContacts?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
"items": [
{
"id": "0399abed-fd3d",
"name": "James Bond",
"contactIdentification": "007",
"address": {
"address1": "1405 Tiburon Dr",
"locality": "Wilmington",
"regionCode": "NC",
"postalCode": "28403",
"countryCode": "US"
},
"phone": [
{
"type": "business",
"number": "+19105550007"
}
],
"email": "james.bond@mi6.gov.uk",
"type": "individual",
"employee": true,
"customerId": "0399abed-fd3d",
"state": "active"
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"name": "Dr. Stephen Strange",
"address": {
"address1": "177A Bleecker Street",
"locality": "New York",
"regionCode": "NY",
"postalCode": "10012",
"countryCode": "US"
},
"phone": [
{
"type": "cell",
"number": "+19105550007"
}
],
"email": "stephen.strange@marvel.com",
"type": "individual",
"employee": false,
"customerId": "0399abed-fd3d",
"state": "active"
}
]
}
Payment Contact Collection (v5.2.0)
Collection of payment contacts. The items in the collection are ordered in the items
array. The response object may contain the nextPage_url
pagination link.
Properties
Name | Description |
---|---|
limit | integer(int32) (required) The number of items requested for this page response. The length of the items array may be less that limit .Default: 100 minimum: 0 |
nextPage_url | string(uri-reference) The URL of the next page of resources. If this URL is omitted, there are no more resources in the collection. read-only maxLength: 8000 |
start | string The opaque cursor that specifies the starting location of this page of items. maxLength: 256 |
items | array: [paymentContactItem] (required) An array containing a page of payment contact items. |
paymentContactsCsvExport
"Customer Name,Contact Type,State,Customer Identifier,Account Type,Payment Method Type,R&T Number,Account Number John Doe,individual,active,,checking,123123123,123456789"
- (v1.0.0)*
The comma-separated values (CSV) formatted list of payment contacts and their associated payment methods. There is one row for each of the contact's payment methods. The columns are defined in the paymentContactsExport
schema.
Type: string
paymentContactsExport
{
"paymentContactIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
],
"content": "... text content not included here ..."
}
Payment Contacts Export (v1.0.0)
Result of exporting one or more payment contacts as a comma-separated values (CSV) file. The CSV content is sorted by ascending Customer Name and has these columns in order:
Column Heading | Description |
---|---|
Customer Name | The name for this payment contact |
Contact Type | The contact type (individual or business ) |
Contact State | Indicates whether the contact is active or not |
Customer Identifier | The optional identifier used to differentiate between customers, such as an employee ID |
Account Type | The type of the account |
Payment Method Type | Describes the type of the payment (ach or wireTransfer ) |
R&T Number | The routing and transit number for the payment method |
Account Number | The full, unmasked account number for this contact |
Properties
Name | Description |
---|---|
paymentContactIds | array: [resourceId] (required) The array items are the id values of the payment contact resources, not the contactIdentification string.minItems: 1 maxItems: 9999 |
content | string (required) The Base64-encoded content of the comma-separated values (CSV) formatted list of payment contacts and their associated payment methods. There is one row for each of the contact's payment methods. maxLength: 2500000 |
paymentContactsExportRequest
{
"paymentContactIds": [
"f84547a1-37f0",
"8102d76af3d6-afe3",
"699c5803-b607",
"d88a1e1e017c-94d5"
]
}
Payment Contacts Export Request (v1.0.0)
The request data for exporting one or more payment contacts as a comma-separated values file.
Properties
Name | Description |
---|---|
paymentContactIds | array: [resourceId] (required) The array items are the id values of the payment contact resources, not the contactIdentification string.minItems: 1 maxItems: 9999 |
paymentFrequency
"once"
Payment Frequency (v1.1.0)
For recurring transfers, the interval at which the money movement recurs.
transferFrequency
strings may have one of the following enumerated values:
Value | Description |
---|---|
once | once: Transfer does not repeat |
daily | daily: Repeat daily on business days |
weekly | weekly: Repeat weekly |
biweekly | biweekly: Repeat every two weeks (26 times a year) |
semimonthly | semimonthly: Repeat twice a month (24 times a year) |
monthly | monthly: Repeat monthly |
monthlyFirstDay | monthlyFirstDay: Repeat on the first business day of the month |
monthlyLastDay | monthlyLastDay: Repeat on the last business day of the month |
bimonthly | bimonthly: Repeat every other month |
quarterly | quarterly: Repeat quarterly (four times a year) |
semiyearly | semiyearly: Repeat every six months (twice a year) |
yearly | yearly: Repeat once every year |
Properties
paymentHistoryCreationType
"create"
Payment History Creation Type (v1.2.0)
Describes how a payment batch was created.
paymentHistoryCreationType
strings may have one of the following enumerated values:
Value | Description |
---|---|
create | Create: A new payment batch was created from scratch |
copy | Copy: This payment batch was created as a copy of another batch |
prenote | Prenote: The payment batch was created by prenote of another batch |
reversal | Reversal: The payment batch was created from a reversal of another batch |
partialReversal | Partial Reversal: The payment batch was created from the reversal of one or more payment instruction lines within another payment batch, but not the entire payment batch |
nachaImport | NACHA Import: This payment batch was created by importing a NACHA file |
Type: string
enum values: create
, copy
, prenote
, reversal
, partialReversal
, nachaImport
paymentHistoryRecord
{
"type": "created",
"occurredAt": "2022-07-28T12:44:46.375Z",
"creationType": "copy",
"customerId": "4242923b-714e",
"customerName": "Karl Knox",
"secondaryTrackingNumber": "62115474",
"secondaryPaymentBatchId": "45b9a55a-9811"
}
Payment History Record (v1.2.0)
Representation of payment history record resources.
Properties
Name | Description |
---|---|
type | string: paymentHistoryRecordType (required) The type of payment batch activity; this describes what the customer did with the payment batch. enum values: created , copied , prenoted , approved , requestedApproval , rejected , reversed , partiallyReversed , unlocked , updated , exported |
customerId | string: readOnlyResourceId (required) The ID of the customer who performed the action. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
customerName | string: readOnlyResourceId (required) The name of the customer who performed the action. This is the customer's name at the time the action occurred. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
occurredAt | string(date-time): readOnlyTimestamp (required) The date and time when the customer performed the action. read-only minLength: 20 maxLength: 30 |
secondaryTrackingNumber | string: paymentBatchTrackingNumber The tracking number of the related payment batch associated with this action. This field is set if type is one of copied , prenoted , reversed , partiallyReversed .read-only minLength: 6 maxLength: 9 pattern: ^[0-9]+$ |
secondaryPaymentBatchId | string: readOnlyResourceId The resource ID of the related payment batch associated with this action. This field is set if type is one of copied , prenoted , reversed , partiallyReversed .read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
approverId | string: readOnlyResourceId The ID of the customer who was asked to approve this batch This field is set only if type is approvalRequested .read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
approverName | string: readOnlyResourceId The name of the customer who was asked to approve this batch. This field is set only if type is approvalRequested .read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
reason | string The reason given for rejecting a payment batch. This field is set if type is rejected or other actions which include a reason .maxLength: 80 |
creationType | string: paymentHistoryCreationType For the type of created , this indicates how the payment batch was create.enum values: create , copy , prenote , reversal , partialReversal , nachaImport |
paymentHistoryRecordType
"created"
Payment History Record Type (v1.0.0)
The type of a payment history record.
paymentHistoryRecordType
strings may have one of the following enumerated values:
Value | Description |
---|---|
created | Created: The customer created this payment batch |
copied | Copied: The customer copied this payment batch |
prenoted | Prenoted: The customer created a prenote batch from this payment batch |
approved | Approved: The customer approved this payment batch |
requestedApproval | Requested Approval: The customer requested approval of this payment batch |
rejected | Rejected: The customer rejected this payment batch |
reversed | Reversed: The customer reversed this payment batch |
partiallyReversed | Partially Reversed: The customer reversed a subset of instructions of this payment batch |
unlocked | Unlocked: The customer unlocked this approved or scheduled payment batch |
updated | Updated: The customer updated this payment batch or its instructions |
exported | Exported: The customer exported this payment batch |
Type: string
enum values: created
, copied
, prenoted
, approved
, requestedApproval
, rejected
, reversed
, partiallyReversed
, unlocked
, updated
, exported
paymentHistoryRecords
{
"items": [
{
"type": "created",
"occurredAt": "2022-07-28T12:44:46.375Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox",
"creationType": "copy",
"secondaryTrackingNumber": "62115474",
"secondaryPaymentBatchId": "45b9a55a-9811"
},
{
"type": "updated",
"occurredAt": "2022-07-28T12:49:22.000Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox"
},
{
"type": "requestedApproval",
"occurredAt": "2022-07-28T12:54:30.000Z",
"customerId": "4242923b-714e",
"customerName": "Karl Knox"
},
{
"type": "approved",
"customerId": "b9815cc6-85a7",
"customerName": "Alex Frank",
"occurredAt": "2022-07-29T04:18:49.375Z"
}
]
}
Payment History Record Collection (v1.2.0)
Collection of payment history records.
Properties
Name | Description |
---|---|
items | array: [paymentHistoryRecord] (required) An array containing a page of payment history record items. |
paymentInstruction
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
Payment Instruction (v1.5.0)
Representation of a payment instruction resource.
Properties
Name | Description |
---|---|
name | string (required) The name of the payment contact being paid or drafted. minLength: 1 maxLength: 22 |
identifier | string A optional string, such as an employee ID, which distinguishes this payment contact from others with the same name .maxLength: 15 |
amount | string: monetaryValue (required) The amount of money to send or draft from this payment contact. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
hold | boolean (required) If true , do not process this instruction. |
contactId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the contact's id .minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
methodId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the id of that contact's payment method.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
id | string: resourceId (required) The unique identifier for this payment instruction resource. This is an immutable opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
traceNumber | integer (required) A unique non-negative integer for tracing this payment through the payment system. This is an immutable opaque string of digits, assigned by the system. read-only minimum: 1 maximum: 999999999 |
direction | string: paymentInstructionDirection (required) Indicates if this item is a debit or credit, relative to this payment contact. This field is immutable. read-only enum values: credit , debit |
ach | object: achPaymentInstruction The payment instruction details for an ACH payment. This field is used only if the payment batch type is ach . |
wireTransfer | object: wireTransferPaymentInstruction Wire-specific details of the payment instruction. This object is present if and only if the payment batch's type is wireTransfer . |
problems | array: [paymentProblem] A list of problems that prevent approving the payment batch. |
paymentInstructionDeletions
{}
Payment Instruction Deletions (v1.0.0)
Response from the request to delete a set of payment instructions.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentInstructionOperationResponseItem] The result of attempting to perform an action on a set of payment instructions in the request. Items in the array correspond (in order) to each payment instruction ID in the request. minItems: 1 maxItems: 999 |
paymentInstructionDirection
"credit"
Payment Instruction Direction (v1.0.0)
Indicates the direction of money flow for a payment instruction.
paymentInstructionDirection
strings may have one of the following enumerated values:
Value | Description |
---|---|
credit | credit: Payment is a credit in the external account, debit to the settlement account |
debit | debit: Payment is a debit in the external account, credit to the settlement account |
Type: string
enum values: credit
, debit
paymentInstructionHoldUpdate
{}
Payment Instructions Hold Update (v1.0.0)
Response from the request to set the hold
value on a set of payment instructions.
Properties
Name | Description |
---|---|
items | array: [bulkPaymentInstructionOperationResponseItem] The result of attempting to perform an action on a set of payment instructions in the request. Items in the array correspond (in order) to each payment instruction ID in the request. minItems: 1 maxItems: 999 |
paymentInstructionIds
[
"string"
]
Payment Batch Instruction Ids (v1.0.0)
A list of payment batch instruction IDs to apply an operation to.
paymentInstructionIds
is an array schema.
Array Elements
Name | Description |
---|---|
Payment Batch Instruction Ids (v1.0.0) | array: [resourceId] A list of payment batch instruction IDs to apply an operation to. minItems: 1 maxItems: 999 |
paymentInstructionItem
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking"
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
}
Payment Instruction Item (v1.4.0)
Summary representation of a payment instruction resource in payment instructions collections.
Properties
Name | Description |
---|---|
name | string (required) The name of the payment contact being paid or drafted. minLength: 1 maxLength: 22 |
identifier | string A optional string, such as an employee ID, which distinguishes this payment contact from others with the same name .maxLength: 15 |
amount | string: monetaryValue (required) The amount of money to send or draft from this payment contact. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
hold | boolean (required) If true , do not process this instruction. |
contactId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the contact's id .minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
methodId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the id of that contact's payment method.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
id | string: resourceId (required) The unique identifier for this payment instruction resource. This is an immutable opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
traceNumber | integer (required) A unique non-negative integer for tracing this payment through the payment system. This is an immutable opaque string of digits, assigned by the system. read-only minimum: 1 maximum: 999999999 |
direction | string: paymentInstructionDirection (required) Indicates if this item is a debit or credit, relative to this payment contact. This field is immutable. read-only enum values: credit , debit |
ach | object: achPaymentInstruction The payment instruction details for an ACH payment. This field is used only if the payment batch type is ach . |
paymentInstructionPatch
{
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": true,
"ach": {
"accountNumber": "123456789"
}
}
Payment Instruction Patch (v1.3.0)
Representation of a patch to a payment instruction resource.
Properties
Name | Description |
---|---|
name | string The name of the payment contact being paid or drafted. minLength: 1 maxLength: 22 |
identifier | string A optional string, such as an employee ID, which distinguishes this payment contact from others with the same name .maxLength: 15 |
amount | string: monetaryValue The amount of money to send or draft from this payment contact. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
hold | boolean If true , do not process this instruction. |
contactId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the contact's id .minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
methodId | string: resourceId If this payment instruction is derived from a contact in the list of payment contacts, this is the id of that contact's payment method.minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: achPaymentInstructionPatch The payment instruction details for an ACH payment. This field is used only if the payment batch type is ach . |
paymentInstructions
{
"items": [
{
"id": "0399abed-fd3d",
"traceNumber": 8706658,
"name": "Pauline Stonemason",
"identifier": "C-00523",
"amount": "1287.65",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"prenote": false
},
"methodId": "ach0001",
"contactId": "3e8375b1-8c34"
},
{
"id": "0399abed-fd3d",
"traceNumber": 8764783,
"name": "Pauline Stonemason",
"identifier": "C-012295",
"amount": "2090.35",
"hold": false,
"direction": "credit",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "234567890",
"prenote": false
},
"methodId": "ach0002",
"contactId": "3a32a4a8-5502"
}
]
}
Payment Instruction Collection (v1.4.0)
Collection of payment instructions. The items in the collection are ordered in the items
array.
Properties
Name | Description |
---|---|
items | array: [paymentInstructionItem] An array containing a page of payment instruction items. |
paymentMethod
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Payment Method (v1.3.0)
Representation of a payment method resource.
Properties
Name | Description |
---|---|
type | string: paymentBatchType (required) The type of the payment method. This determines which sub-resource fields must be present. For example, if type is ach , the ach field is required and contains the fields required for an ACH payment.enum values: ach , wireTransfer |
id | string: readOnlyResourceId (required) The unique identifier for this payment method resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: achPaymentMethod Enumerates the payment method details for an ACH payment. This object is required when the type is ach . |
wireTransfer | object: wireTransferPaymentMethod Enumerates the payment method details for a wire transfer payment. This object is required when the type is wireTransfer . |
paymentMethodItem
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
}
Payment Method Item (v1.3.0)
Summary representation of a payment method resource in payment method collections. To fetch the full representation of this payment method, use the getPaymentMethod
operation, passing this item's id
field as the paymentMethodId
path parameter.
Properties
Name | Description |
---|---|
type | string: paymentBatchType (required) The type of the payment method. This determines which sub-resource fields must be present. For example, if type is ach , the ach field is required and contains the fields required for an ACH payment.enum values: ach , wireTransfer |
id | string: readOnlyResourceId (required) The unique identifier for this payment method resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
ach | object: achPaymentMethod Enumerates the payment method details for an ACH payment. This object is required when the type is ach . |
wireTransfer | object: wireTransferPaymentMethod Enumerates the payment method details for a wire transfer payment. This object is required when the type is wireTransfer . |
paymentMethodPatch
{
"type": "ach",
"ach": {
"accountNumber": "123456789"
}
}
Payment Method Patch (v1.3.0)
Representation used to patch an existing payment method using the JSON Merge Patch format and processing rules.
Properties
Name | Description |
---|---|
type | string: paymentBatchType The type of the payment method. This determines which sub-resource fields must be present. For example, if type is ach , the ach field is required and contains the fields required for an ACH payment.enum values: ach , wireTransfer |
ach | object: achPaymentMethodPatch Enumerates the payment method details for an ACH payment. This object is required when the type is ach . |
wireTransfer | object: wireTransferPaymentMethodPatch Enumerates the payment method details for a wire transfer payment. This object is required when the type is wireTransfer . |
paymentMethods
{
"items": [
{
"id": "0399abed-fd3d",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123456789",
"type": "checking",
"primary": true
}
},
{
"id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"type": "ach",
"ach": {
"routingNumber": "123123123",
"accountNumber": "123457780",
"type": "checking",
"primary": false
}
}
]
}
Payment Method Collection (v1.3.0)
Collection of payment methods. The items in the collection are ordered in the items
array.
Properties
Name | Description |
---|---|
items | array: [paymentMethodItem] (required) An array containing the contact's payment method items. |
paymentProblem
{
"type": "https://production.api.apiture.com/errors/pastCutoffTime/v1.0.0",
"title": "Past cutoff time",
"detail": "The current time is past the financial institution's cutoff time.",
"attributes": {
"referencedAt": "2022-07-13T020:52:19.375Z",
"cutoffAt": "2022-07-13T10:00:00.000Z"
}
}
Payment Problem (v1.0.1)
Describes a problem with a payment batch or payment instruction that prevents applying an operation change to the batch. Clients should get the most recent revision of the payment batch and its instructions to check for problems.
Properties
Name | Description |
---|---|
type | string(uri-reference) (required) A URI reference (RFC3986) that identifies the problem type. This is the URL of human-readable HTML documentation for the problem type. |
title | string (required) A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
detail | string (required) A human-readable explanation specific to this occurrence of the problem. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
paymentRecurrenceType
"fixed"
Payment Recurrence Type (v1.1.0)
Describes whether the payment instruction amounts in the batch vary or are fixed when the payment recurs. This is ignored if the payment frequency is once
.
paymentRecurrenceType
strings may have one of the following enumerated values:
Value | Description |
---|---|
fixed | Fixed: The payment amounts are the same each time a payment recurs |
variable | Variable: The payment amounts vary and must be entered/verified each time a payment recurs |
automaticallyRecur | Automatically Recur: The payment batch will automatically recur after processing (but with no scheduled date) |
Type: string
enum values: fixed
, variable
, automaticallyRecur
paymentSettlementAccountReference
{
"label": "Payroll Checking *1008",
"maskedNumber": "*1008",
"id": "bf23bc970b78d27691e",
"risk": "normal"
}
Payment Settlement Account Reference (v2.0.0)
Descriptive fields that identify a payment's internal settlement account.
Properties
Name | Description |
---|---|
id | string: readOnlyResourceId (required) The account's unique, opaque resource ID. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
label | string (required) A text label which describes this account. This is derived from the account.label .read-only maxLength: 80 |
risk | string: achAccountRisk The risk level determines how the batch processes: how many days it takes to process the batch ( 2, 3 or 4 days ), when the customer gets debited, and how early the batch has to look ahead of the effective date. This is normally determined from the risk associated with the settlement account. enum values: early , normal , float , sameDay |
maskedNumber | string: maskedAccountNumber (required) The account number, masked for partial display. read-only minLength: 2 maxLength: 5 pattern: ^\*[- _a-zA-Z0-9.]{1,4}$ |
problemResponse
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Problem Response (v0.3.0)
API problem or error response, as per RFC 7807 application/problem+json.
Properties
Name | Description |
---|---|
type | string(uri-reference) A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank" . |
title | string A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
status | integer(int32) The HTTP status code for this occurrence of the problem. minimum: 100 maximum: 599 |
detail | string A human-readable explanation specific to this occurrence of the problem. |
instance | string(uri-reference) A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment |
id | string: readOnlyResourceId The unique identifier for this problem. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
occurredAt | string(date-time): readOnlyTimestamp The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.read-only minLength: 20 maxLength: 30 |
problems | array: [apiProblem] Optional root-causes if there are multiple problems in the request or API call processing. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
rePresentedCheck
{
"checkNumber": 43318
}
Re-Presented Check (v1.0.0)
A re-presented check (RCK) ACH payment instruction. An RCK instruction represents a check that was returned for non-sufficient or uncollected funds and is being presented again for payment.
Properties
Name | Description |
---|---|
checkNumber | integer (required) The check number that was presented again. minimum: 1 maximum: 999999999999999 |
rePresentedCheckPatch
{
"checkNumber": 43318
}
Re-Presented Check Patch (v1.0.0)
A patch request to an RCK ACH payment instruction.
Properties
Name | Description |
---|---|
checkNumber | integer (required) The check number that was presented again. minimum: 1 maximum: 999999999999999 |
readOnlyResourceId
"string"
Read-only Resource Identifier (v1.0.0)
The unique, opaque system-assigned identifier for a resource. This case-sensitive ID is also used in URLs as path parameters or in other properties or parameters that reference a resource by ID rather than URL. Resource IDs are immutable.
Type: string
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
readOnlyTimestamp
"2021-10-30T19:06:04.250Z"
Read-Only Timestamp (v1.0.0)
A readonly or derived timestamp (an instant in time) formatted in RFC 3339 date-time
UTC format: YYYY-MM-DDThh:mm:ss.sssZ
.
The schema readOnlyTimestamp
was added on version 0.4.0
of the API.
Type: string(date-time)
read-only
minLength: 20
maxLength: 30
resourceId
"string"
Resource Identifier (v1.0.0)
The unique, opaque system identifier for a resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.
Type: string
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
simpleInstitution
{
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber"
}
Simple Institution (v1.0.1)
A simple representation of a financial institution.
Properties
Name | Description |
---|---|
name | string (required) The financial institution's name. maxLength: 35 |
address | object: address (required) The financial institution's postal mailing address. |
locator | string (required) The American Bankers Association routing number, SWIFT Business Identifier Code (BIC) code, or IBAN account number of the institution. The form of this institution locator string is set with the locatorType property.maxLength: 36 |
locatorType | string: institutionLocatorType (required) Indicates the type of this institution's locator .enum values: abaRoutingNumber , swiftBicCode , ibanAccountNumber |
simplePhoneNumber
"+19105550155"
Simple Phone Number (v1.0.0)
The phone number as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix is +1
. Phone numbers are returned in responses in E.164 format with a leading +
, country code (up to 3 digits) and subscriber number for a total of up to 15 digits. See Phone Number Representations for more information.
The schema simplePhoneNumber
was added on version 0.5.0
of the API.
Type: string(phone-number)
minLength: 8
maxLength: 20
transferFrequency
"once"
Transfer Frequency (v1.0.0)
For recurring transfers, the interval at which the money movement recurs.
transferFrequency
strings may have one of the following enumerated values:
Value | Description |
---|---|
once | once: Transfer does not repeat |
daily | daily: Repeat daily on business days |
weekly | weekly: Repeat weekly |
biweekly | biweekly: Repeat every two weeks (26 times a year) |
semimonthly | semimonthly: Repeat twice a month (24 times a year) |
monthly | monthly: Repeat monthly |
monthlyFirstDay | monthlyFirstDay: Repeat on the first business day of the month |
monthlyLastDay | monthlyLastDay: Repeat on the last business day of the month |
bimonthly | bimonthly: Repeat every other month |
quarterly | quarterly: Repeat quarterly (four times a year) |
semiyearly | semiyearly: Repeat every six months (twice a year) |
yearly | yearly: Repeat once every year |
Type: string
enum values: once
, daily
, weekly
, biweekly
, semimonthly
, monthly
, monthlyFirstDay
, monthlyLastDay
, bimonthly
, quarterly
, semiyearly
, yearly
vendorCreditAddendum
{
"description": "Addenda",
"adjustmentDescription": "Dup",
"adjustmentType": "extensionError",
"discountAmount": "22.00",
"invoiceAmount": "20.00",
"invoicedOn": "2022-04-22",
"invoiceNumber": "123123",
"referenceIdType": "billOfLading",
"referenceId": "123123",
"remittanceAmount": "22.00",
"adjustmentAmount": "32.00"
}
ACH Payment Vendor Credit Addendum (v1.1.0)
Details of a Vendor Credit Corporate Trade Exchange (CTX) ACH batch payment.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
description | string (required) The description of this payment addendum. maxLength: 80 | ||||||||||||||||||||||||||
adjustmentDescription | string (required) The description of the adjustment. maxLength: 8 | ||||||||||||||||||||||||||
adjustmentAmount | string: monetaryValue (required) The value of the adjustment as an exact decimal amount. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
adjustmentType | string: vendorCreditAdjustmentType (required) The type of a vendor credit adjustment.
enum values: none , pricingError , extensionError , damaged , qualityConcern , qualityContested , wrongProduct , returnsDueToDamage , returnsDueToQuality , itemNotReceived , creditAdAgreed , creditMemo | ||||||||||||||||||||||||||
discountAmount | string: monetaryValue (required) The monetary value of the discount, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoiceAmount | string: monetaryValue (required) The monetary value of the invoice, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoicedOn | string(date): date (required) The date the original purchase was invoiced. minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
invoiceNumber | string (required) The invoice number maxLength: 6 | ||||||||||||||||||||||||||
referenceIdType | string: vendorCreditReferenceIdType (required) A list of codes which describe the type of the
enum values: none , billOfLading , purchaseOrder , accountReceivableItem , voucher | ||||||||||||||||||||||||||
referenceId | string (required) The vendor's reference ID. This ID number is of type described by referenceIdType .maxLength: 6 | ||||||||||||||||||||||||||
remittanceAmount | string: monetaryValue (required) The amount of the adjustment/remittance. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
vendorCreditAddendumPatch
{
"description": "Addenda",
"adjustmentDescription": "Dup",
"adjustmentType": "extensionError",
"discountAmount": "22.00",
"invoiceAmount": "20.00",
"invoicedOn": "2022-04-22",
"invoiceNumber": "123123",
"referenceIdType": "billOfLading",
"referenceId": "123123",
"remittanceAmount": "22.00"
}
ACH Payment Vendor Credit Addendum Patch (v1.1.0)
Patch request of a Vendor Credit ACH batch payment.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
description | string The description of this payment addendum. maxLength: 80 | ||||||||||||||||||||||||||
adjustmentDescription | string The description of the adjustment. maxLength: 8 | ||||||||||||||||||||||||||
adjustmentAmount | string: monetaryValue The value of the adjustment as an exact decimal amount. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
adjustmentType | string: vendorCreditAdjustmentType The type of a vendor credit adjustment.
enum values: none , pricingError , extensionError , damaged , qualityConcern , qualityContested , wrongProduct , returnsDueToDamage , returnsDueToQuality , itemNotReceived , creditAdAgreed , creditMemo | ||||||||||||||||||||||||||
discountAmount | string: monetaryValue The monetary value of the discount, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoiceAmount | string: monetaryValue The monetary value of the invoice, if any. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ | ||||||||||||||||||||||||||
invoicedOn | string(date): date The date the original purchase was invoiced. minLength: 10 maxLength: 10 | ||||||||||||||||||||||||||
invoiceNumber | string The invoice number maxLength: 6 | ||||||||||||||||||||||||||
referenceIdType | string: vendorCreditReferenceIdType A list of codes which describe the type of the
enum values: none , billOfLading , purchaseOrder , accountReceivableItem , voucher | ||||||||||||||||||||||||||
referenceId | string The vendor's reference ID. This ID number is of type described by referenceIdType .maxLength: 6 | ||||||||||||||||||||||||||
remittanceAmount | string: monetaryValue The amount of the adjustment/remittance. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
vendorCreditAdjustmentType
"none"
Vendor Credit Adjustment Type (v1.0.0)
The type of a vendor credit adjustment.
vendorCreditAdjustmentType
strings may have one of the following enumerated values:
Value | Description |
---|---|
none | None |
pricingError | Pricing Error |
extensionError | Extension Error |
damaged | Damaged |
qualityConcern | Quality Concern |
qualityContested | Quality Contested |
wrongProduct | Wrong Product |
returnsDueToDamage | Returns-Damage |
returnsDueToQuality | Returns-Quality |
itemNotReceived | Item Not Received |
creditAdAgreed | Credit as Agreed |
creditMemo | Credit Memo |
Type: string
enum values: none
, pricingError
, extensionError
, damaged
, qualityConcern
, qualityContested
, wrongProduct
, returnsDueToDamage
, returnsDueToQuality
, itemNotReceived
, creditAdAgreed
, creditMemo
vendorCreditReferenceIdType
"none"
Vendor Credit Reference Id Type (v1.0.0)
A list of codes which describe the type of the referenceId
.
vendorCreditReferenceIdType
strings may have one of the following enumerated values:
Value | Description |
---|---|
none | None |
billOfLading | Bill of Lading |
purchaseOrder | Purchase Order |
accountReceivableItem | Accts Recv Item |
voucher | Voucher |
Type: string
enum values: none
, billOfLading
, purchaseOrder
, accountReceivableItem
, voucher
wireTransferBeneficiary
{
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
}
Wire Transfer Beneficiary (v1.0.0)
The individual or business entity which is the recipient of the wire transfer funds. Note: The beneficiary's name is in the payment instruction's name
.
Properties
Name | Description |
---|---|
taxId | string The Tax ID of the wire transfer originator. minLength: 2 maxLength: 11 |
address | object: address The beneficiary's postal mailing address. |
phoneNumber | string(phone-number): simplePhoneNumber The beneficiary's phone number. minLength: 8 maxLength: 20 |
wireTransferBeneficiaryInstitution
{
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber"
}
Wire Transfer Beneficiary Institution (v1.0.2)
Describes the beneficiary institution for a wire transfer.
Properties
Name | Description |
---|---|
name | string (required) The financial institution's name. maxLength: 35 |
address | object: address (required) The financial institution's postal mailing address. |
locator | string (required) The American Bankers Association routing number, SWIFT Business Identifier Code (BIC) code, or IBAN account number of the institution. The form of this institution locator string is set with the locatorType property.maxLength: 36 |
locatorType | string: institutionLocatorType (required) Indicates the type of this institution's locator .enum values: abaRoutingNumber , swiftBicCode , ibanAccountNumber |
wireTransferInstitutionFields
{
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
}
}
Wire Transfer Institution Fields (v1.0.0)
Describes a financial institution used within a wire transfer. May be a domestic US institution or an international institution.
Properties
Name | Description |
---|---|
name | string (required) The financial institution's name. maxLength: 35 |
address | object: address The financial institution's postal mailing address. |
wireTransferIntermediaryInstitution
{
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
}
Wire Transfer Intermediary Institution (v1.0.0)
Describes the intermediary institution for a wire transfer.
Properties
Name | Description |
---|---|
name | string (required) The financial institution's name. maxLength: 35 |
address | object: address The financial institution's postal mailing address. |
routingNumber | string: accountRoutingNumber (required) The routing number of the intermediary financial institution. minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
wireTransferLocatorType
"abaRoutingNumber"
Wire Transfer Locator Type (v1.0.1)
Indicates the type of the institution locator
.
institutionLocatorType
strings may have one of the following enumerated values:
Value | Description |
---|---|
abaRoutingNumber | ABA Routing Number: The American Bankers Association routing number of a financial institution |
swiftBicCode | swiftBicCode: The SWIFT Business Identifier Code (BIC) code of a financial institution |
ibanAccountNumber | IBAN: |
Properties
wireTransferOriginator
{
"name": "Phil Duciary",
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
}
Wire Transfer Originator (v1.0.0)
Describes the originator of a wire transfer.
Properties
Name | Description |
---|---|
name | string (required) The name of the person who created the wire transfer. maxLength: 35 |
taxId | string The Tax ID of the wire transfer originator. minLength: 2 maxLength: 11 |
address | object: address The originator's postal mailing address. |
phoneNumber | string(phone-number): simplePhoneNumber The phone number of the wire transfer originator. minLength: 8 maxLength: 20 |
wireTransferOriginatorPatch
{
"name": "Phil Duciary",
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
}
Wire Transfer Originator Patch (v1.0.0)
Fragment schema use to build other wire transfer originator schemas.
Properties
wireTransferPaymentBatch
{
"originator": {
"name": "Phil Duciary",
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"confidentialCustomers": [
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
},
{
"id": "eaf488ab-fbf7",
"name": "Stephen Walker"
}
],
"localClearingCode": "TBD",
"scope": "domestic",
"approvalDue": [
"2022-06-09T15:00:00.000Z",
"2022-06-09T18:00:00.000Z",
"2022-06-09T20:30:00.000Z"
]
}
Wire Transfer Payment Batch (v1.1.1)
Properties of a wire transfer payment.
Properties
Name | Description |
---|---|
originator | object: wireTransferOriginator The person who created the wire transfer. |
confidentialCustomers | array: [confidentialWireCustomer] A list of customers entitled to view and manage this confidential wire transfer payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
scope | string: wireTransferPaymentScope (required) Indicates if the wire transfer is a domestic wire or an international wire. This must be assigned when creating a wire transfer and is immutable after.read-only enum values: domestic , international |
approvalDue | array: [string] A list of date-times, in ascending order, when a wire transfer payment must be fully approved so that it can be processed at the financial institution's cutoff time. These times reflect either the financial institution's domestic or international wire cut off times, as determined by this wire transfer's scope . The financial institution may process wire transfers batches multiple times per day. The time component of each date-time is the financial institution's cutoff time. This is expressed in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ date-time format. Note: Some of these times may be in the past.read-only minItems: 1 maxItems: 8 |
wireTransferPaymentBatchPatch
{
"originator": {
"name": "Phil Duciary",
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"confidentialCustomers": [
{
"id": "f48291b6-14ce",
"name": "Amanda Cummins"
}
]
}
Wire Transfer Payment Batch Patch (v1.0.0)
Mutable properties of a patch to a wire transfer payment.
Properties
Name | Description |
---|---|
originator | object: wireTransferOriginatorPatch The person who created the wire transfer. |
confidentialCustomers | array: [confidentialWireCustomer] A list of customers entitled to view and manage this confidential wire transfer payment batch. If this property is omitted, the batch is not confidential. To remove confidential customers in a batch and make the batch non-confidential, set this property to null in a patchPaymentBatch operation.minItems: 1 |
wireTransferPaymentInstruction
{
"beneficiary": {
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"intermediaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
},
"beneficiaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber",
"instructions": "Account should be a savings account."
},
"receivingInstitution": {
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
},
"localClearingCode": "TBD"
}
Wire Transfer Payment Instruction (v1.0.3)
A payment instruction for sending funds via a wire transfer. Note: The wire originator information is in the containing paymentBatch.wireTransfer
object.
Properties
Name | Description |
---|---|
beneficiary | object: wireTransferBeneficiary The individual or business who receives the wire transfer funds. |
beneficiaryInstitution | object: wireTransferBeneficiaryInstitution The beneficiary financial institution. A receivingInstitution branch of this beneficiary financial institution may be the ultimate location where the wire transfer is deposited. |
intermediaryInstitution | object: wireTransferIntermediaryInstitution This financial institution serves as an intermediary between the issuer and beneficiary institutions to processes the wire transfer. Required for international wire transfers where the issuing financial institution is unable to process the international wire. |
receivingInstitution | object: wireTransferReceivingInstitution For international wires, a receiving institution may be used if the beneficiary's account at the beneficiary's institution should be routed to a local branch. The receiving institution represents the local branch. |
localClearingCode | string TBD. maxLength: 63 |
wireTransferPaymentMethod
{
"beneficiary": {
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"intermediaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
},
"beneficiaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber",
"instructions": "Account should be a savings account."
},
"receivingInstitution": {
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
},
"localClearingCode": "TBD",
"scope": "domestic"
}
Wire Transfer Payment Method (v1.0.2)
Data necessary for defining the customer's wire transfer payment method.
Properties
Name | Description |
---|---|
beneficiary | object: wireTransferBeneficiary (required) The individual or business who receives the wire transfer funds. |
beneficiaryInstitution | object: wireTransferBeneficiaryInstitution (required) The beneficiary financial institution. A receivingInstitution branch of this beneficiary financial institution may be the ultimate location where the wire transfer is deposited. |
intermediaryInstitution | object: wireTransferIntermediaryInstitution This financial institution serves as an intermediary between the issuer and beneficiary institutions to processes the wire transfer. Required for international wire transfers where the issuing financial institution is unable to process the international wire. |
receivingInstitution | object: wireTransferReceivingInstitution For international wires, a receiving institution may be used if the beneficiary's account at the beneficiary's institution should be routed to a local branch. The receiving institution represents the local branch. |
localClearingCode | string TBD. maxLength: 63 |
scope | string: wireTransferPaymentScope (required) Indicates if the wire transfer is a domestic wire or an international wire.enum values: domestic , international |
wireTransferPaymentMethodPatch
{
"beneficiary": {
"taxId": "112-22-3333",
"address": {
"address1": "1805 Tiburon Dr.",
"address2": "Building 14, Suite 1500",
"locality": "Wilmington",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28412"
},
"phoneNumber": "+9105551234"
},
"intermediaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"routingNumber": "503000196"
},
"beneficiaryInstitution": {
"name": "First Bank of Andalasia",
"address": {
"address1": "239 West Princess Ave.",
"locality": "Andalasia",
"regionCode": "NC",
"countryCode": "US",
"postalCode": "28407"
},
"locator": "503000196",
"locatorType": "abaRoutingNumber",
"instructions": "Account should be a savings account."
},
"receivingInstitution": {
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
},
"localClearingCode": "TBD",
"type": "checking",
"accountNumber": "123456789"
}
Wire Transfer Payment Method Patch Request (v1.0.2)
Representation used to patch an existing payment method using the JSON Merge Patch format and processing rules.
Properties
Name | Description |
---|---|
beneficiary | object: wireTransferBeneficiary The individual or business who receives the wire transfer funds. |
beneficiaryInstitution | object: wireTransferBeneficiaryInstitution The beneficiary financial institution. A receivingInstitution branch of this beneficiary financial institution may be the ultimate location where the wire transfer is deposited. |
intermediaryInstitution | object: wireTransferIntermediaryInstitution This financial institution serves as an intermediary between the issuer and beneficiary institutions to processes the wire transfer. Required for international wire transfers where the issuing financial institution is unable to process the international wire. |
receivingInstitution | object: wireTransferReceivingInstitution For international wires, a receiving institution may be used if the beneficiary's account at the beneficiary's institution should be routed to a local branch. The receiving institution represents the local branch. |
localClearingCode | string TBD. maxLength: 63 |
wireTransferPaymentScope
"domestic"
Wire Transfer Payment Scope (v1.0.0)
Indicates if the wire transfer is a domestic
wire or an international
wire.
wireTransferPaymentScope
strings may have one of the following enumerated values:
Value | Description |
---|---|
domestic | Domestic: A wire transfer in which both the sender and beneficiary (recipient) financial institutions are in the US. |
international | International: A wire transfer in which the beneficiary (recipient) financial institution is not in the US. |
Type: string
enum values: domestic
, international
wireTransferReceivingInstitution
{
"name": "Old State Federal Savings Bank",
"routingNumber": "503000196",
"instructions": "Account should be a savings account."
}
Wire Transfer Receiving Institution (v1.0.0)
For international wires, the beneficiary may designate a receiving institution if they wish to receive the wire transfer funds at a local branch.
Properties
Name | Description |
---|---|
name | string (required) The name of the receiving institution (the beneficiary financial institution's branch name). maxLength: 35 |
routingNumber | string: accountRoutingNumber (required) The routing number of the beneficiary's account at the local branch (receiving institution). minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ |
instructions | string Additional or special instructions for the receiving institution to process the wire transfer. maxLength: 195 |