Shell HTTP JavaScript Node.JS Ruby Python Java Go

Payments v0.1.0

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

The payments API allows banking customers to submit requests to pay people or businesses using one of several payment methods, such as wire transfers, bill payment, or person to person payment. This API does not process or execute the payments.

The customer can create payees and manage the details of each payee's payment methods. Payees may be people or businesses (or other non-person entity).

The API provides metadata which describes each available payment method and the details of the payment methods, such as the terms and conditions of use, whether the payment method supports scheduling payments in the future or editing or canceling payment requests, and other constraints of using that payment method.

Finally, the customer can view their payment history.

Error Types

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

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
banking/read Read access to accounts and account-related resources such as transfers and transactions.
banking/write Write (update) access to accounts and account-related resources such as transfers and transactions.
banking/delete Delete access to If deletable accounts and account-related resources such as transfers.
banking/readBalance Read access to account balances. This must be granted in addition to the banking/read scope in order to view balances, but is included in the banking/full scope.
banking/full Full access to accounts and account-related resources such as transfers and transactions.

Default

updatePayeeWireTransferMethod

Code samples

# You can also use wget
curl -X PUT /payments/payees/{payeeId}/paymentMethods/wireTransfer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT /payments/payees/{payeeId}/paymentMethods/wireTransfer HTTP/1.1

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

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: '/payments/payees/{payeeId}/paymentMethods/wireTransfer',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "institution": {
    "name": "3rd Party Bank",
    "address": {
      "streetAddress1": "500 N. Elm St",
      "city": "Normal",
      "regionCode": "OK",
      "postalCode": "73070"
    }
  },
  "routingNumber": "021000021",
  "accountNumber": "9876543210"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('/payments/payees/{payeeId}/paymentMethods/wireTransfer',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put '/payments/payees/{payeeId}/paymentMethods/wireTransfer',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('/payments/payees/{payeeId}/paymentMethods/wireTransfer', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/payments/payees/{payeeId}/paymentMethods/wireTransfer", data)
    req.Header = headers

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

Update the payee's write transfer parameters.

PUT /payees/{payeeId}/paymentMethods/wireTransfer

Body parameter

{
  "institution": {
    "name": "3rd Party Bank",
    "address": {
      "streetAddress1": "500 N. Elm St",
      "city": "Normal",
      "regionCode": "OK",
      "postalCode": "73070"
    }
  },
  "routingNumber": "021000021",
  "accountNumber": "9876543210"
}

Parameters

Parameter Description
body
(body)
payeeWirePaymentMethod
The data necessary to request a wire transfer from this payee
payeeId
(path)
string (required)
The unique identifier of this payee. This is an opaque string.

Try It

Example responses

200 Response

{
  "institution": {
    "name": "3rd Party Bank",
    "address": {
      "streetAddress1": "500 N. Elm St",
      "city": "Normal",
      "regionCode": "OK",
      "postalCode": "73070"
    }
  },
  "routingNumber": "021000021",
  "accountNumber": "9876543210"
}

Responses

StatusDescription
200 OK
OK
Schema: payeeWirePaymentMethod
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payee resource at the specified {payeeId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

Payment Requests

Requests to Make a Payment

getPaymentRequests

Code samples

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

GET /payments/paymentRequests HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/payments/paymentRequests',
  method: 'get',

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

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

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

};

fetch('/payments/paymentRequests',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/paymentRequests',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/paymentRequests', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/paymentRequests", data)
    req.Header = headers

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

Return a collection of payment requests

GET /paymentRequests

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

Parameters

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

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequests/v1.0.0/profile.json",
  "name": "paymentRequests",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/paymentRequests?start=10&limit=10"
    },
    "first": {
      "href": "/payments/paymentRequests?start=0&limit=10"
    },
    "next": {
      "href": "/payments/paymentRequests?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/paymentRequests"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/paymentRequests/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/paymentRequests/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: paymentRequests
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

createPaymentRequest

Code samples

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

POST /payments/paymentRequests HTTP/1.1

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

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

};

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/paymentRequests',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post '/payments/paymentRequests',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('/payments/paymentRequests', params={

}, headers = headers)

print r.json()

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

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

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

Create a new payment request

POST /paymentRequests

Create a new payment request in the payment requests collection.

Body parameter

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

Parameters

Parameter Description
body
(body)
paymentRequest
The data necessary to create a new payment request.

Try It

Example responses

201 Response

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

Responses

StatusDescription
201 Created
Created
Schema: paymentRequest
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host
201 ETag string
An entity tag which may be passed in the If-Match request header for PUT or PATCH operations which update the resource.

getPaymentRequest

Code samples

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

GET /payments/paymentRequests/{paymentRequestId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/paymentRequests/{paymentRequestId}',
  method: 'get',

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

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

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

};

fetch('/payments/paymentRequests/{paymentRequestId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/paymentRequests/{paymentRequestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/paymentRequests/{paymentRequestId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/paymentRequests/{paymentRequestId}");
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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/paymentRequests/{paymentRequestId}", data)
    req.Header = headers

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

Fetch a representation of this payment request

GET /paymentRequests/{paymentRequestId}

Return a HAL representation of this payment request resource.

Parameters

Parameter Description
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
paymentRequestId
(path)
string (required)
The unique identifier of this payment request. This is an opaque string.

Try It

Example responses

200 Response

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

Responses

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

Response Headers

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

updatePaymentRequest

Code samples

# You can also use wget
curl -X PUT /payments/paymentRequests/{paymentRequestId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT /payments/paymentRequests/{paymentRequestId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/paymentRequests/{paymentRequestId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/paymentRequests/{paymentRequestId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put '/payments/paymentRequests/{paymentRequestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('/payments/paymentRequests/{paymentRequestId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/payments/paymentRequests/{paymentRequestId}", data)
    req.Header = headers

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

Update this payment request

PUT /paymentRequests/{paymentRequestId}

Perform a complete replacement of this payment request.

Body parameter

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

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
paymentRequest
A new payment request
paymentRequestId
(path)
string (required)
The unique identifier of this payment request. This is an opaque string.

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK
Schema: paymentRequest
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payment request resource at the specified {paymentRequestId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

patchPaymentRequest

Code samples

# You can also use wget
curl -X PATCH /payments/paymentRequests/{paymentRequestId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH /payments/paymentRequests/{paymentRequestId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/paymentRequests/{paymentRequestId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/paymentRequests/{paymentRequestId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch '/payments/paymentRequests/{paymentRequestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('/payments/paymentRequests/{paymentRequestId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/paymentRequests/{paymentRequestId}");
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/json"},
        "Accept": []string{"application/json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "/payments/paymentRequests/{paymentRequestId}", data)
    req.Header = headers

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

Update this payment request

PATCH /paymentRequests/{paymentRequestId}

Perform a partial update of this payment request. Fields which are omitted are not updated. Nested _embedded and _links are ignored if included.

Body parameter

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

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
paymentRequest
The new payment request.
paymentRequestId
(path)
string (required)
The unique identifier of this payment request. This is an opaque string.

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK
Schema: paymentRequest
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payment request resource at the specified {paymentRequestId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

deletePaymentRequest

Code samples

# You can also use wget
curl -X DELETE /payments/paymentRequests/{paymentRequestId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /payments/paymentRequests/{paymentRequestId} HTTP/1.1

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

};

$.ajax({
  url: '/payments/paymentRequests/{paymentRequestId}',
  method: 'delete',

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

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

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

};

fetch('/payments/paymentRequests/{paymentRequestId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete '/payments/paymentRequests/{paymentRequestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('/payments/paymentRequests/{paymentRequestId}', params={

}, headers = headers)

print r.json()

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/payments/paymentRequests/{paymentRequestId}", data)
    req.Header = headers

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

Delete this payment request resource

DELETE /paymentRequests/{paymentRequestId}

Delete this payment request resource and any resources that are owned by it. Only payment request with the state of pending may be deleted.

Parameters

Parameter Description
paymentRequestId
(path)
string (required)
The unique identifier of this payment request. This is an opaque string.

Try It

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.

Payees

Payment Recipients

getPayees

Code samples

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

GET /payments/payees HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/payments/payees',
  method: 'get',

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

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

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

};

fetch('/payments/payees',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/payees',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/payees', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/payees", data)
    req.Header = headers

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

Return a collection of payees

GET /payees

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

Parameters

Parameter Description
type
(query)
string
Filter the response to list only payees of this type.
Enumerated values:
person
organization
start
(query)
integer(int64)
The zero-based index of the first payee item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of payee representations to return in this page.
Default: {}
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by following properties:
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by following properties and functions:
• Property state using functions eq, ne
q
(query)
string
Optional search string. See searching.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/payments/payees/v1.0.0/profile.json",
  "name": "payees",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/payees?start=10&limit=10"
    },
    "first": {
      "href": "/payments/payees?start=0&limit=10"
    },
    "next": {
      "href": "/payments/payees?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/payees"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/payees/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/payees/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: payees
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

createPayee

Code samples

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

POST /payments/payees HTTP/1.1

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

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

};

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/payees',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post '/payments/payees',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('/payments/payees', params={

}, headers = headers)

print r.json()

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

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

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

Create a new payee

POST /payees

Create a new payee in the payees collection.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Parameters

Parameter Description
body
(body)
payee
The data necessary to create a new payee.

Try It

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Responses

StatusDescription
201 Created
Created
Schema: payee
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host
201 ETag string
An entity tag which may be passed in the If-Match request header for PUT or PATCH operations which update the resource.

getPayee

Code samples

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

GET /payments/payees/{payeeId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/payees/{payeeId}',
  method: 'get',

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

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

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

};

fetch('/payments/payees/{payeeId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/payees/{payeeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/payees/{payeeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/payees/{payeeId}");
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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/payees/{payeeId}", data)
    req.Header = headers

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

Fetch a representation of this payee

GET /payees/{payeeId}

Return a HAL representation of this payee resource.

Parameters

Parameter Description
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
payeeId
(path)
string (required)
The unique identifier of this payee. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Responses

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

Response Headers

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

updatePayee

Code samples

# You can also use wget
curl -X PUT /payments/payees/{payeeId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT /payments/payees/{payeeId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/payees/{payeeId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/payees/{payeeId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put '/payments/payees/{payeeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('/payments/payees/{payeeId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/payments/payees/{payeeId}", data)
    req.Header = headers

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

Update this payee

PUT /payees/{payeeId}

Perform a complete replacement of this payee.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Parameters

Parameter Description
If-Match
(header)
string
The entity tag that was returned in the ETag response. If passed, this must match the current entity tag of the resource.
body
(body)
payee
A new payee
payeeId
(path)
string (required)
The unique identifier of this payee. This is an opaque string.

Try It

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Responses

StatusDescription
200 OK
OK
Schema: payee
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payee resource at the specified {payeeId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

patchPayee

Code samples

# You can also use wget
curl -X PATCH /payments/payees/{payeeId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH /payments/payees/{payeeId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/payees/{payeeId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/payments/payees/{payeeId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch '/payments/payees/{payeeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('/payments/payees/{payeeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/payees/{payeeId}");
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/json"},
        "Accept": []string{"application/json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "/payments/payees/{payeeId}", data)
    req.Header = headers

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

Update this payee

PATCH /payees/{payeeId}

Perform a partial update of this payee. Fields which are omitted are not updated. Nested _embedded and _links are ignored if included.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Parameters

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

Try It

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Responses

StatusDescription
200 OK
OK
Schema: payee
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payee resource at the specified {payeeId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

deletePayee

Code samples

# You can also use wget
curl -X DELETE /payments/payees/{payeeId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /payments/payees/{payeeId} HTTP/1.1

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

};

$.ajax({
  url: '/payments/payees/{payeeId}',
  method: 'delete',

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

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

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

};

fetch('/payments/payees/{payeeId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete '/payments/payees/{payeeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('/payments/payees/{payeeId}', params={

}, headers = headers)

print r.json()

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/payments/payees/{payeeId}", data)
    req.Header = headers

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

Delete this payee resource

DELETE /payees/{payeeId}

Delete this payee resource and any resources that are owned by it.

Parameters

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

Try It

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.

Payments

Completed Payments

getHistory

Code samples

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

GET /payments/history HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/payments/history',
  method: 'get',

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

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

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

};

fetch('/payments/history',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/history',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/history', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/history", data)
    req.Header = headers

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

Return a collection of payments

GET /history

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

Parameters

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

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/payments/history/v1.0.0/profile.json",
  "name": "history",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/history?start=10&limit=10"
    },
    "first": {
      "href": "/payments/history?start=0&limit=10"
    },
    "next": {
      "href": "/payments/history?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/history"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/payment/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/history/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/payment/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/history/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: history
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

getPayment

Code samples

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

GET /payments/history/{paymentId} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/history/{paymentId}',
  method: 'get',

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

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

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

};

fetch('/payments/history/{paymentId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/history/{paymentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/history/{paymentId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/history/{paymentId}");
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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/history/{paymentId}", data)
    req.Header = headers

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

Fetch a representation of this payment

GET /history/{paymentId}

Return a HAL representation of this payment resource.

Parameters

Parameter Description
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
paymentId
(path)
string (required)
The unique identifier of this payment. This is an opaque string.

Try It

Example responses

200 Response

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

Responses

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

Response Headers

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

Payment Methods

Methods of Making Payments

getPaymentMethods

Code samples

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

GET /payments/paymentMethodDefinitions HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/payments/paymentMethodDefinitions',
  method: 'get',

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

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

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

};

fetch('/payments/paymentMethodDefinitions',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/payments/paymentMethodDefinitions',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/paymentMethodDefinitions', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/paymentMethodDefinitions", data)
    req.Header = headers

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

Return a collection of payment methods definition

GET /paymentMethodDefinitions

Return a collection of payment methods definitions. This is a small, fixed collection, so there is no pagination or filtering.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinitions/v1.0.0/profile.json",
  "name": "paymentMethodDefinitions",
  "start": 10,
  "limit": 10,
  "count": 3,
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/payments/paymentMethodDefinitions"
    }
  },
  "_embedded": {
    "items": [
      {
        "name": "wireTransfer",
        "label": "Wire transfer",
        "description": "A request to send funds via _wire transfer_, also as Real Time Gross Settlement (RTGS). In the US, wire transfers are processed by Fedwire, the US Federal Reserve Bank network. *Note*: There is a fee for each submitted wire transfer.",
        "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinition/v1.0.0/profile.json",
        "termsAndConditionsUri": "https://cdn.apiture.com/documents/terms/wireTransfer/2020-07-10.pdf",
        "termsAndConditionsContextUri": "https://api.devbank.apiture.com/payments/paymentMethodDefintions/billPayment",
        "consentNeeded": "perRequest",
        "authorizers": [
          "sms",
          "email"
        ],
        "transactionFee": {
          "value": "19.00",
          "currency": "USD"
        },
        "draftsAllowed": false,
        "schedulingAllowed": false,
        "recurringSchedulesAllowed": false,
        "cancelAllowed": false,
        "updateAllowed": false,
        "presentInstructionsAfter": "P180D",
        "expirationPeriod": "P7D",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/payments/paymentMethodDefinitions/wireTransfer"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: paymentMethodDefinitions

getPaymentMethod

Code samples

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

GET /payments/paymentMethods/{paymentMethodName} HTTP/1.1

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

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

};

$.ajax({
  url: '/payments/paymentMethods/{paymentMethodName}',
  method: 'get',

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

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

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

};

fetch('/payments/paymentMethods/{paymentMethodName}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/paymentMethods/{paymentMethodName}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/payments/paymentMethods/{paymentMethodName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/paymentMethods/{paymentMethodName}");
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"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/paymentMethods/{paymentMethodName}", data)
    req.Header = headers

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

Fetch a representation of this payment method

GET /paymentMethods/{paymentMethodName}

Return a HAL representation of this payment method resource.

Parameters

Parameter Description
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
paymentMethodName
(path)
string (required)
The unique name of a payment method definition, corresponding to the name property of the paymentMethodDefinition.

Try It

Example responses

200 Response

{
  "name": "wireTransfer",
  "label": "Wire transfer",
  "description": "A request to send funds via _wire transfer_, also as Real Time Gross Settlement (RTGS). In the US, wire transfers are processed by Fedwire, the US Federal Reserve Bank network. *Note*: There is a fee for each submitted wire transfer.",
  "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinition/v1.0.0/profile.json",
  "termsAndConditionsUri": "https://cdn.apiture.com/documents/terms/wireTransfer/2020-07-10.pdf",
  "termsAndConditionsContextUri": "https://api.devbank.apiture.com/payments/paymentMethodDefintions/billPayment",
  "consentNeeded": "perRequest",
  "authorizers": [
    "sms",
    "email"
  ],
  "fees": {
    "transaction": {
      "value": "19.00",
      "currency": "USD"
    }
  },
  "draftsAllowed": false,
  "schedulingAllowed": false,
  "recurringSchedulesAllowed": false,
  "cancelAllowed": false,
  "updateAllowed": false,
  "presentInstructionsAfter": "P180D",
  "expirationPeriod": "P7D"
}

Responses

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

Response Headers

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

getPayeeWireTransferMethod

Code samples

# You can also use wget
curl -X GET /payments/payees/{payeeId}/paymentMethods/wireTransfer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

GET /payments/payees/{payeeId}/paymentMethods/wireTransfer HTTP/1.1

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

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: '/payments/payees/{payeeId}/paymentMethods/wireTransfer',
  method: 'get',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('/payments/payees/{payeeId}/paymentMethods/wireTransfer',
{
  method: 'GET',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.get '/payments/payees/{payeeId}/paymentMethods/wireTransfer',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.get('/payments/payees/{payeeId}/paymentMethods/wireTransfer', params={

}, headers = headers)

print r.json()

URL obj = new URL("/payments/payees/{payeeId}/paymentMethods/wireTransfer");
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{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/payees/{payeeId}/paymentMethods/wireTransfer", data)
    req.Header = headers

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

Fetch a representation of the payee's write transfer parameters.

GET /payees/{payeeId}/paymentMethods/wireTransfer

Body parameter

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

Parameters

Parameter Description
body
(body)
paymentRequest
The data necessary to create a new payment request.
payeeId
(path)
string (required)
The unique identifier of this payee. This is an opaque string.

Try It

Example responses

200 Response

{
  "institution": {
    "name": "3rd Party Bank",
    "address": {
      "streetAddress1": "500 N. Elm St",
      "city": "Normal",
      "regionCode": "OK",
      "postalCode": "73070"
    }
  },
  "routingNumber": "021000021",
  "accountNumber": "9876543210"
}

Responses

StatusDescription
200 OK
OK
Schema: payeeWirePaymentMethod
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such payee resource at the specified {payeeId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

API

The Payments API

getApi

Code samples

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

GET /payments/ HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/payments/',
  method: 'get',

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

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

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

};

fetch('/payments/',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/payments/',
  params: {
  }, headers: headers

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("/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/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

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

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

Top-level resources and operations in this API

GET /

Return links to the top-level resources and operations in this API.

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

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

GET /payments/apiDoc HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/payments/apiDoc',
  method: 'get',

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

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

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

};

fetch('/payments/apiDoc',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/payments/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/payments/apiDoc", data)
    req.Header = headers

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

Return API definition document

GET /apiDoc

Return the OpenAPI document that describes this API.

Try It

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Schemas

abstractRequest

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

Abstract Request (v2.0.0)

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

This schema was resolved from common/abstractRequest.

Properties

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

abstractResource

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

Abstract Resource (v2.0.0)

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

This schema was resolved from common/abstractResource.

Properties

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

attributeValue

{}

Attribute Value (v2.0.0)

The data associated with this attribute.

This schema was resolved from common/attributeValue.

Properties

attributes

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

Attributes (v2.0.0)

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

This schema was resolved from common/attributes.

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

This schema was resolved from common/attributeValue.

collection

{
  "_links": {
    "property1": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    },
    "property2": {
      "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Applicant"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection (v2.0.0)

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

This schema was resolved from common/collection.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

error

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

Error (v2.0.0)

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

This schema was resolved from common/error.

Properties

NameDescription
message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
read-only
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors [error]
An optional array of nested error objects. This property is not always present.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

errorResponse

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://api.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (v2.0.0)

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

This schema was resolved from common/errorResponse.

Properties

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

history

{
  "_profile": "https://api.apiture.com/schemas/payments/history/v1.0.0/profile.json",
  "name": "history",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/history?start=10&limit=10"
    },
    "first": {
      "href": "/payments/history?start=0&limit=10"
    },
    "next": {
      "href": "/payments/history?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/history"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/payment/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/history/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/payment/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/history/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Payment Collection (v1.0.0)

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
» items [payment]
An array containing a page of payment items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

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

Link (v1.0.0)

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

This schema was resolved from common/link.

Properties

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

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

Links (v1.0.0)

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

Properties

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

This schema was resolved from common/link.

organizationPayee

{
  "name": "string"
}

Person (v1.0.0)

Properties of a payee that is an organization.

Properties

NameDescription
name string (required)
The organization's name.
maxLength: 128

payee

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
  "type": "person",
  "person": {
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith"
  },
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  },
  "_embedded": {
    "wireTransfer": {}
  }
}

Payee (v1.0.0)

The recipient of payments. This is also referred to as the beneficiary or receiver in specific payment methods. With some payment methods, the bank customer may also requests a payment from this person or organization. A payee represents a person or an oganization and contains their name and address. Also, each payee may store details for fulfilling payment requests using each of the supported payment methods. These data may be used to pay the payee again using the stored details. If the type is person, the person property contains the person's name and the organization property is ignored. If the type is organization, the organization property contains the organization's name and the person property is ignored.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded payeeEmbeddedObjects
Related objects embedded in a payee.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
type payeeType (required)
The type of the payee, either a person or an organization.
person personPayee
Properties of a person payee.
organization organizationPayee
Properties of an organization payee.
address simpleAddress (required)
The payee's primary or mailing address. This is used to verify the payee and for some payment methods such as bill payment, a check is sent to this address.
_id string
The unique identifier for this payee. This is an immutable opaque string.
read-only
maxLength: 64
createdAt string(date-time)
The date-time the customer created this payee (but not their payment method details). This is in RFC 3339 format, UTC. This is derived and immutable.
read-only
updatedAt string(date-time)
The date-time the payee last updated this payee (but not their payment method details) This is in RFC 3339 format, UTC. This is derived and immutable.
read-only

payeeEmbeddedObjects

{
  "wireTranfer": {
    "institution": {
      "name": "3rd Party Bank",
      "address": {
        "streetAddress1": "500 N. Elm St",
        "city": "Normal",
        "regionCode": "OK",
        "postalCode": 73070
      }
    },
    "routingNumber": "021000021",
    "accountNumber": "9876543210"
  }
}

Payee Embedded Objects (v1.0.0)

Objects embedded in a payee resource. These are not returned in a payee within the payees collection. Embedded objects are ignored in payee updates (update the referenced resources directly.)

Properties

NameDescription
wireTransfer payeeWirePaymentMethod
The data used to pay this payee via wire transfer.

payeeType

"person"

Payee Type (v1.0.0)

The type of the payee, either a person or an organization.

Type: string
Enumerated values:
person
organization

payeeWirePaymentMethod

{
  "institution": {
    "name": "3rd Party Bank",
    "address": {
      "streetAddress1": "500 N. Elm St",
      "city": "Normal",
      "regionCode": "OK",
      "postalCode": "73070"
    }
  },
  "routingNumber": "021000021",
  "accountNumber": "9876543210"
}

Payee Wire Payment Method (v1.0.0)

The data used to pay a payee via wire transfer.

Properties

NameDescription
institution any
The payee's financial institution.

allOf

The data used to pay a payee via wire transfer.

NameDescription
» anonymous paymentInstitution
An external financial institution that a payee uses to receive payments.

and

The data used to pay a payee via wire transfer.

NameDescription
» anonymous object
»» accountNumber string
The full account number.
minLength: 4
maxLength: 17
»» routingNumber string
The account routing number which identifies the financial institution.
minLength: 9
maxLength: 9
pattern: ^[0-9]{9}

payees

{
  "_profile": "https://api.apiture.com/schemas/payments/payees/v1.0.0/profile.json",
  "name": "payees",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/payees?start=10&limit=10"
    },
    "first": {
      "href": "/payments/payees?start=0&limit=10"
    },
    "next": {
      "href": "/payments/payees?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/payees"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/payees/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/payee/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/payees/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Payee Collection (v1.0.0)

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
» items [payee]
An array containing a page of payees.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

payment

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

Payment (v1.0.0)

Representation of payment resources.

Properties

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

paymentInstitution

{
  "name": "string",
  "address": {
    "addressLine1": "555 N Front Street",
    "addressLine2": "Suite 5555",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401-5405",
    "countryCode": "US"
  }
}

Payment Institution (v1.0.0)

An external financial institution that a payee uses to receive payments.

Properties

NameDescription
name string (required)
The name of the payee's financial institution.
maxLength: 128
address simpleAddress (required)
The address of the payee's financial institution.

paymentMethodConsentNeeded

"oneTime"

Payment Method Consent Needed (v1.0.0)

How often the financial institution requires the banking customer to give consent to this payment method's terms and conditions.

Type: string
Enumerated values:
none
oneTime
perRequest

paymentMethodDefinition

{
  "name": "wireTransfer",
  "label": "Wire transfer",
  "description": "A request to send funds via _wire transfer_, also as Real Time Gross Settlement (RTGS). In the US, wire transfers are processed by Fedwire, the US Federal Reserve Bank network. *Note*: There is a fee for each submitted wire transfer.",
  "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinition/v1.0.0/profile.json",
  "termsAndConditionsUri": "https://cdn.apiture.com/documents/terms/wireTransfer/2020-07-10.pdf",
  "termsAndConditionsContextUri": "https://api.devbank.apiture.com/payments/paymentMethodDefintions/billPayment",
  "consentNeeded": "perRequest",
  "authorizers": [
    "sms",
    "email"
  ],
  "fees": {
    "transaction": {
      "value": "19.00",
      "currency": "USD"
    }
  },
  "draftsAllowed": false,
  "schedulingAllowed": false,
  "recurringSchedulesAllowed": false,
  "cancelAllowed": false,
  "updateAllowed": false,
  "presentInstructionsAfter": "P180D",
  "expirationPeriod": "P7D"
}

Payment Method Definition (v1.0.0)

Defines a payment method and its fees and its contraints. Payment methods are also known as payment channels. Each payment request uses exactly one payment method and the request has data fields that are specific to that payment method. The paymentMethodDefinitions resource contains the complete set of payment method definitions that the Payments API supports.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The name of this payment method. This is the {paymentMethodName} in the getPaymentMethod operation.
minLength: 4
maxLength: 16
label string
A title or label for this payment method, suitable for use in the user interface.
minLength: 4
maxLength: 32
description string(markdown)
The name of this transfer method. This is the {transferMethod}.
minLength: 4
maxLength: 256
termsAndConditionsUri string(uri)
The URI of a document that lists the terms and conditions for using this payment method
maxLength: 2048
termsAndConditionsContextUri string(uri)
The context in which banking customer gives terms and conditions consent. If different payment methods use the same document URI and same context URI, then the user need only give consent one time to use all the payment methods. If different payment methods share the same document URIs but have a different context URI, or they have different document URIs, the payments service will require the customer to give consent to use each payment method. For the first case, the financial institution may use URI of the /payments/paymentMethodDefintions/ collection resource; for the second case, the financial institution may use the URI of each individual payment method definition, such as /payments/paymentMethodDefintions/billPayment or /payments/paymentMethodDefintions/personToPerson.
maxLength: 2048
consentNeeded paymentMethodConsentNeeded
How often the financial institution requires the banking customer to give consent to this payment method's terms and conditions.
enabled boolean
Whether this payment method is globally enabled or not. This value is also defined at a banking product level and at an account level. The global setting and the account-level setting must be true to create and submit a payment request using this payment method.
Default: false
authorizers [string]
A list of multi-factor authentication (MFA) authorizers that the user may select from when using the payment method. If the array is empty, no MFA is required. If the length is one, the user must use that authorizer. Each value in the array must match the name of an authorizer from the Authentication API's getAuthenticorTypes operation.
fees paymentMethodFees
Fees that the financial institution charges for this payment method.
draftsAllowed boolean
If true, the bank customer can use this payment method to request a draft or payment from the payee.
schedulingAllowed boolean
If true, banking customers can schedule payments to be made in the future; if false, the payment is execued soon after the customer submits it.
recurringSchedulesAllowed boolean
If true, banking customers can schedule recurring payments; if false, only one time payments may be scheduled. This is always false if schedulingAllowed
cancelAllowed boolean
If true, banking customers can cancel a payments request after submitting it. if false, customers can cancel only pending payments.
updateAllowed boolean
If true, banking customers can update a payment request after submitting it. if false, customers can modify only pending payments.
presentInstructionsAfter string(period)
The length of time that must pass before the interface presents help or instructions (if any) for using this payment method. This value is an ISO 8601 duration string, using the form P[n]M[n]D to specify the number of months or days only. For example, if the value is P180D, the client only presents the instructions to a customer if more than 180 days have passed since the customer last used this payment method.
pattern: ^P[0-9]+(M|D)
expirationPeriod string
If set, the Payments service will automatically delete pending payments of this payment method if the customer does not submit them within this time period after they created the request. This value is an ISO 8601 duration string, using the form P[n]M[n]D to specify the number of months or days only. For example, if the value is P7D, the service periodically deletes pending payment requsts that are older than 7 days.

paymentMethodDefinitions

{
  "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinitions/v1.0.0/profile.json",
  "name": "paymentMethodDefinitions",
  "start": 10,
  "limit": 10,
  "count": 3,
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/payments/paymentMethodDefinitions"
    }
  },
  "_embedded": {
    "items": [
      {
        "name": "wireTransfer",
        "label": "Wire transfer",
        "description": "A request to send funds via _wire transfer_, also as Real Time Gross Settlement (RTGS). In the US, wire transfers are processed by Fedwire, the US Federal Reserve Bank network. *Note*: There is a fee for each submitted wire transfer.",
        "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinition/v1.0.0/profile.json",
        "termsAndConditionsUri": "https://cdn.apiture.com/documents/terms/wireTransfer/2020-07-10.pdf",
        "termsAndConditionsContextUri": "https://api.devbank.apiture.com/payments/paymentMethodDefintions/billPayment",
        "consentNeeded": "perRequest",
        "authorizers": [
          "sms",
          "email"
        ],
        "transactionFee": {
          "value": "19.00",
          "currency": "USD"
        },
        "draftsAllowed": false,
        "schedulingAllowed": false,
        "recurringSchedulesAllowed": false,
        "cancelAllowed": false,
        "updateAllowed": false,
        "presentInstructionsAfter": "P180D",
        "expirationPeriod": "P7D",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/payments/paymentMethodDefinitions/wireTransfer"
          }
        }
      }
    ]
  }
}

Payment Method Collection (v1.0.0)

Collection of payment method definitions. The items in the collection are ordered in the _embedded.items array; the collection name is paymentMethodDefinitions. This resource contains each paymentMethodDefinition that the Payments API supports.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded paymentMethodDefinitionsEmbedded
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

paymentMethodDefinitionsEmbedded

{
  "items": [
    {
      "name": "wireTransfer",
      "label": "Wire transfer",
      "description": "A request to send funds via _wire transfer_, also as Real Time Gross Settlement (RTGS). In the US, wire transfers are processed by Fedwire, the US Federal Reserve Bank network. *Note*: There is a fee for each submitted wire transfer.",
      "_profile": "https://api.apiture.com/schemas/payments/paymentMethodDefinition/v1.0.0/profile.json",
      "termsAndConditionsUri": "https://cdn.apiture.com/documents/terms/wireTransfer/2020-07-10.pdf",
      "termsAndConditionsContextUri": "https://api.devbank.apiture.com/payments/paymentMethodDefintions/billPayment",
      "consentNeeded": "perRequest",
      "authorizers": [
        "sms",
        "email"
      ],
      "fees": {
        "transaction": {
          "value": "19.00",
          "currency": "USD"
        }
      },
      "draftsAllowed": false,
      "schedulingAllowed": false,
      "recurringSchedulesAllowed": false,
      "cancelAllowed": false,
      "updateAllowed": false,
      "presentInstructionsAfter": "P180D",
      "expirationPeriod": "P7D"
    }
  ]
}

Payment Method Definitions Embedded Objects (v1.0.0)

Payment method definitions embedded objects.

Properties

NameDescription
items [paymentMethodDefinition]
An array containing payment method items.

paymentMethodFees

{
  "currency": "USD",
  "transaction": "19.00"
}

Payment Method Fees (v1.0.0)

Itemized fees for using a payment method.

Properties

NameDescription
currency string
The ISO 4217 three-character currency code for the fees. This is always upper case ASCII.
Default: "USD"
minLength: 3
maxLength: 3
transaction string
The per-payment transaction fee, in the given currency, that the financial institution chargees to process payments using this payment method. The numeric value is represented as a string so that it can be exact with no loss of precision.

paymentRequest

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

Payment Request (v1.0.0)

Representation of payment request resources.

Properties

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

paymentRequests

{
  "_profile": "https://api.apiture.com/schemas/payments/paymentRequests/v1.0.0/profile.json",
  "name": "paymentRequests",
  "start": 10,
  "limit": 10,
  "count": 67,
  "_links": {
    "self": {
      "href": "/payments/paymentRequests?start=10&limit=10"
    },
    "first": {
      "href": "/payments/paymentRequests?start=0&limit=10"
    },
    "next": {
      "href": "/payments/paymentRequests?start=20&limit=10"
    },
    "collection": {
      "href": "/payments/paymentRequests"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/paymentRequests/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/payments/paymentRequest/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/payments/paymentRequests/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Payment Request Collection (v1.0.0)

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
» items [paymentRequest]
An array containing a page of payment request items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

personPayee

{
  "firstName": "string",
  "middleName": "string",
  "lastName": "string"
}

Person (v1.0.0)

Attributes of a payee that is a person.

Properties

NameDescription
firstName string (required)
The person's first name (or given name).
middleName string
The person's middle name.
lastName string (required)
The person's last name (or surname).

root

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

API Root (v2.0.1)

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

This schema was resolved from common/root.

Properties

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

simpleAddress

{
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US"
}

Simple Address (v1.0.0)

A postal address.

This schema was resolved from contacts/simpleAddress.

Properties

NameDescription
addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: ^[0-9]{5}(?:-[0-9]{4})?$
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$