Receeve Debt Servicing Platform v1.53.1
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
This is the API definition for interacting with Receeve's debt servicing platform. Use this reference to understand available endpoints, request payloads, and response schemas. Each endpoint description contains all necessary context to integrate successfully.
Authentication
- API Key (api_key)
- Parameter Name: Authorization, in: header.
Security
Authentication endpoints. Use the OAuth2 token endpoint to obtain a Bearer token by providing your client ID and client secret via Basic Auth. Pass the resulting access token in the Authorization header of all subsequent requests.
getOauth2Token
Code samples
# You can also use wget
curl -X POST /v1/oauth2/token \
-H 'Accept: application/json' \
-H 'Authorization: Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==' \
-H 'Content-Type: application/x-www-form-urlencoded'
POST /v1/oauth2/token HTTP/1.1
Accept: application/json
Authorization: Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==
Content-Type: application/x-www-form-urlencoded
const headers = {
'Accept':'application/json',
'Authorization':'Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==',
'Content-Type':'application/x-www-form-urlencoded'
};
fetch('/v1/oauth2/token',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==',
'Content-Type' => 'application/x-www-form-urlencoded'
}
result = RestClient.post '/v1/oauth2/token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==',
'Content-Type': 'application/x-www-form-urlencoded'
}
r = requests.post('/v1/oauth2/token', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA==',
'Content-Type' => 'application/x-www-form-urlencoded',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/oauth2/token', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/oauth2/token");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Basic NGExdm42azRhYzRocDV1dTNxMnF2NTU1NTU6MTE5NXVpdjlzdWI0Z2tjZ2RsOHRpb2UyMDlsdmNtdml2dTU1YjFlZjYwcjdsaFhYWFhYWA=="},
"Content-Type": []string{"application/x-www-form-urlencoded"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/oauth2/token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/oauth2/token
Get OAuth2 token
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| Authorization | header | string | true | Basic Auth header containing your OAuth2 client credentials. Encode your client ID and client secret as Base64 in the format Basic Base64(clientId:clientSecret) and pass it as the value of this header. The Content-Type must be application/x-www-form-urlencoded. On success, the response contains an access_token (Bearer) valid for 3600 seconds, which must be passed in the Authorization header of all other API calls. |
| Content-Type | header | string | true | must be application/x-www-form-urlencoded |
Detailed descriptions
Authorization: Basic Auth header containing your OAuth2 client credentials. Encode your client ID and client secret as Base64 in the format Basic Base64(clientId:clientSecret) and pass it as the value of this header. The Content-Type must be application/x-www-form-urlencoded. On success, the response contains an access_token (Bearer) valid for 3600 seconds, which must be passed in the Authorization header of all other API calls.
Example responses
200 Response
{
"access_token": "Bearer <access_token>",
"expires_in": 3600,
"token_type": "Bearer"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request to get oauth2 token was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » access_token | string | false | none | Access Token used in all the other API Endpoints |
| » expires_in | integer | false | none | Time in seconds until the token expires, please refresh the token before it expires. |
| » token_type | string | false | none | OAuth2 token type |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Account
An Account represents a formal business arrangement with a debtor, tracking outstanding balances and related entities. An Account groups together the Debtor(s), Products, Ledger Entries, and Claims. It is the top-level entity you create first before adding any other data.
getAccount
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_account?accountReference=ACCOUNT_REFERENCE_002 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_account?accountReference=ACCOUNT_REFERENCE_002 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_account?accountReference=ACCOUNT_REFERENCE_002',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_account',
params: {
'accountReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_account', params={
'accountReference': 'ACCOUNT_REFERENCE_002'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_account', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_account?accountReference=ACCOUNT_REFERENCE_002");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_account", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_account
Retrieve a single Account with all its sub-entities
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| accountReference | query | string | true | The unique reference identifying the Account in your system |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"currency": "EUR",
"paymentReference": "paymentReference1",
"meta": {
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME_1",
"debtorReference": "EXTERNAL_DEBTOR_REF_001",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_account is successful | Account |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
createAccounts
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/create_accounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/create_accounts HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"ACCOUNT_REFERENCE_002": {
"currency": "EUR",
"paymentReference": "ACCOUNT_PAYMENT_REFERENCE",
"meta": {
"accountMetaKey002": "value002",
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "NL",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/create_accounts',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/create_accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/create_accounts', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/create_accounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/create_accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/create_accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/create_accounts
Create one or more Accounts in Receeve
Creates one or more Accounts in the platform. The request body is a map where each key is your accountReference and the value is the Account object.
An Account is the top-level entity that groups all related data: Debtor information, Products, Ledger Entries, and Claims. Sub-entities (debtors, products, scores, ledgerEntries) are optional at creation time and can be added in subsequent calls via their dedicated endpoints.
Notes:
- currency is required and must be a 3-letter ISO 4217 code (e.g. EUR).
- accountReference must be unique per client and is your own identifier for this account.
- paymentReference is an optional text reference used to map money transactions to external systems.
Body parameter
{
"ACCOUNT_REFERENCE_002": {
"currency": "EUR",
"paymentReference": "ACCOUNT_PAYMENT_REFERENCE",
"meta": {
"accountMetaKey002": "value002",
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "NL",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | object | true | none |
| » additionalProperties | body | any | false | Input for create_account endpoint. |
| »» anonymous | body | Account | false | A formal business arrangement providing for regular dealings or services (such as banking, advertising, or store credit) and involving the establishment and maintenance of an Account. |
| »»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»» portfolioReference | body | PortfolioReference | false | An optional grouping field for reporting and filtering purposes. |
| »»» currency | body | Currency | false | 3-digit currency code (ISO 4217) |
| »»» scores | body | [AccountScore] | false | List of provided scores related with the Account. |
| »»»» type | body | string | true | Type of score |
| »»»» value | body | any | true | none |
| »»»»» anonymous | body | string | false | The score's value |
| »»»»» anonymous | body | object | false | composed value |
| »»»»» anonymous | body | null | false | No value |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» debtors | body | [allOf] | false | List of debtors related with the Account. |
| »»»» anonymous | body | BaseDebtor | false | none |
| »»»»» birthday | body | string(date) | false | Birthday of the debtor |
| »»»»» gender | body | string | false | Gender of the debtor |
| »»»»» firstName | body | string | false | First name of the debtor (required if type is 'natural') |
| »»»»» lastName | body | string | false | Last name of the debtor (required if type is 'natural') |
| »»»»» middleName | body | string | false | Middle name of the debtor |
| »»»»» title | body | string | false | Title of the debtor |
| »»»»» companyName | body | string | false | Company Name of the debtor (required if type is 'legal') |
| »»»»» debtorReference | body | DebtorReference | false | Your customer ID for this person or company |
| »»»»» SSN | body | string | false | National Identification Number of the debtor |
| »»»»» type | body | string | false | Type of the debtor (default: natural) |
| »»»»» contactInformation | body | BaseContactInformation | false | none |
| »»»»»» country | body | string | false | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»» city | body | string | false | City |
| »»»»»» mobileNumber | body | string | false | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» postalCode | body | string | false | Postal Code |
| »»»»»» houseNumber | body | string | false | House number as part of the address |
| »»»»»» addressLine1 | body | string | false | Address Line 1 |
| »»»»»» addressLine2 | body | string | false | Address Line 2 |
| »»»»»» addressLine3 | body | string | false | Address Line 3 |
| »»»»»» landLine | body | string | false | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» state | body | string | false | State |
| body | string | false | Email Address | |
| »»»»»» additionalContactInformation | body | [oneOf] | false | none |
| »»»»»»» anonymous | body | object | false | none |
| body | string | true | Email Address | |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» mobileNumber | body | string | true | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» landLine | body | string | true | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» workPhoneNumber | body | string | true | Work phone number in E.164 format (e.g. +49555555555) |
| »»»» anonymous | body | object | false | none |
| »»»»» contactInformation | body | any | true | Contact information of the debtor, used for communication purposes. |
| »»»»»» anonymous | body | BaseContactInformation | false | none |
| »»»»»» anonymous | body | object | false | none |
| »»» products | body | [Product] | false | List of products related with the Account. |
| »»»» productReference | body | ProductReference | true | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»» type | body | string | false | Type of product |
| »»»» name | body | string | false | Product name |
| »»»» code | body | string | false | Product code |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» ledgerEntries | body | [oneOf] | false | Ledger used to create Managed Claims. |
| »»»» anonymous | body | FeeLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Fee Ledger Entry |
| »»»»» feeDetails | body | object | true | none |
| »»»»»» type | body | string | false | Type of fee |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | body | string | false | Relationship of the fee with another ledger entry |
| »»»» anonymous | body | InvoiceLedgerEntry | false | An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system. |
| »»»»» ledgerEntryReference | body | LedgerEntryReference | true | Reference of the Ledger Entry (unique per Account) |
| »»»»» invoiceDetails | body | object | true | none |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» createdAt | body | LedgerEntryCreatedAt | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» dueDate | body | DueDate(date) | true | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the Ledger Entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» externalDebtorReference | body | DebtorReference | false | Your customer ID for this person or company |
| »»»» anonymous | body | PaymentLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Payment Ledger Entry |
| »»»»» paymentDetails | body | object | true | none |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» paymentProvider | body | string | false | Name of the provider used for the transaction |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | body | string | false | Defines the target of the payment ledger entry |
| »»»» anonymous | body | AdjustmentLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Adjustment Ledger Entry |
| »»»»» adjustmentDetails | body | object | true | none |
| »»»»»» reason | body | string | false | Reason for the adjustment |
| »»»»»» amount | body | RelativeAmount | true | Monetary value in cents (positive or negative number) |
| »»»»»» dueDate | body | DueDate(date) | false | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | body | string | false | Defines the target of the payment ledger entry |
| »»»» anonymous | body | ChargebackLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Chargeback Ledger Entry |
| »»»»» chargebackDetails | body | object | true | none |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | body | string | true | Defines the target of the chargeback ledger entry |
| »»»» anonymous | body | DiscountLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Discount Ledger Entry |
| »»»»» discountDetails | body | object | true | none |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | body | string | true | Defines the target of the discount ledger entry |
| »»»» anonymous | body | ReportingLedgerEntry | false | none |
| »»»»» ledgerEntryReference | body | string | true | Reference of the Reporting Ledger Entry |
| »»»»» reportingDetails | body | object | true | none |
| »»»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»»»» createdAt | body | integer | false | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»»» context | body | object | true | Describes the specific context of the entry |
| »»»»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »» anonymous | body | object | false | none |
| »»» currency | body | Currency | true | 3-digit currency code (ISO 4217) |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
Enumerated Values
| Parameter | Value |
|---|---|
| »»»» type | INTERNAL |
| »»»» type | EXTERNAL |
| »»»» type | COLLECTION |
| »»»» type | BEHAVIORAL |
| »»»»» type | natural |
| »»»»» type | legal |
Example responses
200 Response
{
"ACCOUNT_REFERENCE_002": {
"messages": [
"Successfully created Account ACCOUNT_REFERENCE_002"
],
"success": true,
"data": {
"currency": "EUR",
"paymentReference": "ACCOUNT_PAYMENT_REFERENCE",
"meta": {
"accountMetaKey002": "value002",
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "NL",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
},
"messageIds": [
"ef61c1b5-fd4a-41df-a1a3-bc4e4e4ca11a"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response for creating one or more Accounts | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | Account | false | none | A formal business arrangement providing for regular dealings or services (such as banking, advertising, or store credit) and involving the establishment and maintenance of an Account. |
| »»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»» portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| »»»» currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| »»»» scores | [AccountScore] | false | none | List of provided scores related with the Account. |
| »»»»» type | string | true | none | Type of score |
| »»»»» value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» debtors | [allOf] | false | none | List of debtors related with the Account. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseDebtor | false | none | none |
| »»»»»» birthday | string(date) | false | none | Birthday of the debtor |
| »»»»»» gender | string | false | none | Gender of the debtor |
| »»»»»» firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| »»»»»» lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| »»»»»» middleName | string | false | none | Middle name of the debtor |
| »»»»»» title | string | false | none | Title of the debtor |
| »»»»»» companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| »»»»»» debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| »»»»»» SSN | string | false | none | National Identification Number of the debtor |
| »»»»»» type | string | false | none | Type of the debtor (default: natural) |
| »»»»»» contactInformation | BaseContactInformation | false | none | none |
| »»»»»»» country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»»» city | string | false | none | City |
| »»»»»»» mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»»» postalCode | string | false | none | Postal Code |
| »»»»»»» houseNumber | string | false | none | House number as part of the address |
| »»»»»»» addressLine1 | string | false | none | Address Line 1 |
| »»»»»»» addressLine2 | string | false | none | Address Line 2 |
| »»»»»»» addressLine3 | string | false | none | Address Line 3 |
| »»»»»»» landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»»» state | string | false | none | State |
| string | false | none | Email Address | |
| »»»»»»» additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» contactInformation | any | true | none | Contact information of the debtor, used for communication purposes. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» products | [Product] | false | none | List of products related with the Account. |
| »»»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»» type | string | false | none | Type of product |
| »»»»» name | string | false | none | Product name |
| »»»»» code | string | false | none | Product code |
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» ledgerEntries | [oneOf] | false | none | Ledger used to create Managed Claims. |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | FeeLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Fee Ledger Entry |
| »»»»»» feeDetails | object | true | none | none |
| »»»»»»» type | string | false | none | Type of fee |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» ledgerEntryReference | string | false | none | Relationship of the fee with another ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | InvoiceLedgerEntry | false | none | An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system. |
| »»»»»» ledgerEntryReference | LedgerEntryReference | true | none | Reference of the Ledger Entry (unique per Account) |
| »»»»»» invoiceDetails | object | true | none | none |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» createdAt | LedgerEntryCreatedAt | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» dueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the Ledger Entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» externalDebtorReference | DebtorReference | false | none | Your customer ID for this person or company |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | PaymentLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Payment Ledger Entry |
| »»»»»» paymentDetails | object | true | none | none |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» paymentProvider | string | false | none | Name of the provider used for the transaction |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AdjustmentLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Adjustment Ledger Entry |
| »»»»»» adjustmentDetails | object | true | none | none |
| »»»»»»» reason | string | false | none | Reason for the adjustment |
| »»»»»»» amount | RelativeAmount | true | none | Monetary value in cents (positive or negative number) |
| »»»»»»» dueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ChargebackLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Chargeback Ledger Entry |
| »»»»»» chargebackDetails | object | true | none | none |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» ledgerEntryReference | string | true | none | Defines the target of the chargeback ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DiscountLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Discount Ledger Entry |
| »»»»»» discountDetails | object | true | none | none |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»»» ledgerEntryReference | string | true | none | Defines the target of the discount ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ReportingLedgerEntry | false | none | none |
| »»»»»» ledgerEntryReference | string | true | none | Reference of the Reporting Ledger Entry |
| »»»»»» reportingDetails | object | true | none | none |
| »»»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
| type | natural |
| type | legal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateAccountMeta
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_account_meta \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_account_meta HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"ACCOUNT_REFERENCE_002": {
"updateAccountMeta002": "updateAccountMetaValue002"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_account_meta',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_account_meta',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_account_meta', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_account_meta', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_account_meta");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_account_meta", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_account_meta
Merge key-value metadata onto one or more Accounts
Updates the metadata on one or more Accounts. The request body is a map where each key is the accountReference and the value is an object of key-value metadata pairs.
The provided metadata is merged with any existing metadata — fields not included in the request are left unchanged. Account-level metadata is inherited by Claims created under that Account, making it useful for storing attributes that apply across all claims (e.g. segment, portfolio, customer tier).
Body parameter
{
"ACCOUNT_REFERENCE_002": {
"updateAccountMeta002": "updateAccountMetaValue002"
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | object | true | none |
| » additionalProperties | body | Metadata | false | Additional information related to the entity. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
addAccountLedgerEntries
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/add_account_ledger_entries \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/add_account_ledger_entries HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"context": {},
"invoiceDetails": {
"amount": 13025,
"dueDate": "2020-01-01",
"meta": {}
},
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/add_account_ledger_entries',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/add_account_ledger_entries',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/add_account_ledger_entries', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/add_account_ledger_entries', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/add_account_ledger_entries");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/add_account_ledger_entries", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/add_account_ledger_entries
Add Ledger Entries to Accounts to create or update Managed Claims
Adds Ledger Entries to one or more Accounts. Ledger Entries are the mechanism for creating and updating Managed Claims — claims whose amount is derived from the Ledger rather than set directly.
Each entry in the request array must include an accountReference to identify which Account it belongs to. The platform processes entries and automatically creates or updates the corresponding Claims.
Entry type is determined by which details field you include — do not set a type field explicitly:
| Details field | Entry type | Creates / affects | |---|---|---| | invoiceDetails | Invoice | Creates a new Managed Claim | | feeDetails | Fee | Adds fees to an existing Claim | | paymentDetails | Payment | Records a payment against a Claim | | adjustmentDetails | Adjustment | Adjusts the amount of an existing Claim | | chargebackDetails | Chargeback | Records a chargeback against a Claim | | discountDetails | Discount | Applies a discount to an existing Claim |
ReportingLedgerEntry (using reportingDetails) is deprecated — do not use.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"context": {},
"invoiceDetails": {
"amount": 13025,
"dueDate": "2020-01-01",
"meta": {}
},
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"ACCOUNT_REFERENCE_002": {
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"context": {},
"invoiceDetails": {
"amount": 13025,
"dueDate": "2020-01-01",
"meta": {}
},
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
}
],
"messageIds": [
"cddddeb1-f352-46f3-a59d-0008a84e9bd5"
],
"messages": [
"Successfully added Ledger Entries: INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response when adding account ledger entries is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | Response of any action that adds ledger entries to an account. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [oneOf] | false | none | [A Ledger Entry is a record of a transaction in the Ledger.] |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | FeeLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Fee Ledger Entry |
| »»»»» feeDetails | object | true | none | none |
| »»»»»» type | string | false | none | Type of fee |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Relationship of the fee with another ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | InvoiceLedgerEntry | false | none | An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system. |
| »»»»» ledgerEntryReference | LedgerEntryReference | true | none | Reference of the Ledger Entry (unique per Account) |
| »»»»» invoiceDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | LedgerEntryCreatedAt | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» dueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the Ledger Entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» externalDebtorReference | DebtorReference | false | none | Your customer ID for this person or company |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | PaymentLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Payment Ledger Entry |
| »»»»» paymentDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» paymentProvider | string | false | none | Name of the provider used for the transaction |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | AdjustmentLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Adjustment Ledger Entry |
| »»»»» adjustmentDetails | object | true | none | none |
| »»»»»» reason | string | false | none | Reason for the adjustment |
| »»»»»» amount | RelativeAmount | true | none | Monetary value in cents (positive or negative number) |
| »»»»»» dueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ChargebackLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Chargeback Ledger Entry |
| »»»»» chargebackDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | true | none | Defines the target of the chargeback ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | DiscountLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Discount Ledger Entry |
| »»»»» discountDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | true | none | Defines the target of the discount ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ReportingLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Reporting Ledger Entry |
| »»»»» reportingDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
addAccountProducts
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/add_account_products \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/add_account_products HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/add_account_products',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/add_account_products',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/add_account_products', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/add_account_products', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/add_account_products");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/add_account_products", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/add_account_products
Add Products to one or more Accounts
Adds Products to one or more Accounts. The request body is an array where each item includes the accountReference and the Product data.
A Product represents a service or item (e.g. a loan, insurance policy, or subscription) that provides context for the Claims under the Account. Products are referenced by productReference in Claims and Ledger Entries to enable grouping, filtering, and reporting.
Required fields per item: accountReference, productReference. Optional fields: type, name, code, paymentReference, meta.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"ACCOUNT_REFERENCE_002": {
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022",
"meta": {}
}
],
"messageIds": [
"931120dd-06bf-4ec9-9f44-2167585e76d1"
],
"messages": [
"Successfully added Product PRODUCT_REFERENCE_002_2"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for add/update account product is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [Product] | false | none | [A product is a service or item used to give context to the Claim or Ledger Entry] |
| »»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»» type | string | false | none | Type of product |
| »»»» name | string | false | none | Product name |
| »»»» code | string | false | none | Product code |
| »»»» meta | Metadata | false | none | Additional information related to the entity. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateAccountProducts
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_account_products \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_account_products HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_account_products',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_account_products',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_account_products', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_account_products', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_account_products");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_account_products", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_account_products
Update existing Products on one or more Accounts
Updates existing Products on one or more Accounts. The request body is an array where each item includes the accountReference and the updated Product data identified by productReference.
Only the fields provided in the request are updated. The productReference is used to identify which existing Product to modify. Use add_account_products to create new Products.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"ACCOUNT_REFERENCE_002": {
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_002_2",
"type": "Computer",
"name": "MacBook Air",
"code": "2022",
"meta": {}
}
],
"messageIds": [
"931120dd-06bf-4ec9-9f44-2167585e76d1"
],
"messages": [
"Successfully added Product PRODUCT_REFERENCE_002_2"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for add/update account product is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [Product] | false | none | [A product is a service or item used to give context to the Claim or Ledger Entry] |
| »»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»» type | string | false | none | Type of product |
| »»»» name | string | false | none | Product name |
| »»»» code | string | false | none | Product code |
| »»»» meta | Metadata | false | none | Additional information related to the entity. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
addAccountDebtors
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/add_account_debtors \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/add_account_debtors HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
},
"firstName": "First_2",
"lastName": "Last_2"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/add_account_debtors',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/add_account_debtors',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/add_account_debtors', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/add_account_debtors', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/add_account_debtors");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/add_account_debtors", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/add_account_debtors
Add Debtors to one or more Accounts
Adds Debtors to one or more Accounts. The request body is an array where each item includes the accountReference and the Debtor data.
A Debtor is the person or company that owes the money described by the Account. Natural persons require firstName and lastName; legal entities require companyName. The debtorReference is your own identifier for this person or company and must be unique per client.
contactInformation is required and must include at least country (ISO 3166-1 alpha-2, e.g. DE). Other contact fields (email, mobileNumber, address) are optional but recommended for communications.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
},
"firstName": "First_2",
"lastName": "Last_2"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response for debtor add/update account debtor request is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [allOf] | false | none | [The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. ] |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | BaseDebtor | false | none | none |
| »»»»» birthday | string(date) | false | none | Birthday of the debtor |
| »»»»» gender | string | false | none | Gender of the debtor |
| »»»»» firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| »»»»» lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| »»»»» middleName | string | false | none | Middle name of the debtor |
| »»»»» title | string | false | none | Title of the debtor |
| »»»»» companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| »»»»» debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| »»»»» SSN | string | false | none | National Identification Number of the debtor |
| »»»»» type | string | false | none | Type of the debtor (default: natural) |
| »»»»» contactInformation | BaseContactInformation | false | none | none |
| »»»»»» country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»» city | string | false | none | City |
| »»»»»» mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» postalCode | string | false | none | Postal Code |
| »»»»»» houseNumber | string | false | none | House number as part of the address |
| »»»»»» addressLine1 | string | false | none | Address Line 1 |
| »»»»»» addressLine2 | string | false | none | Address Line 2 |
| »»»»»» addressLine3 | string | false | none | Address Line 3 |
| »»»»»» landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» state | string | false | none | State |
| string | false | none | Email Address | |
| »»»»»» additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
| »»»»» contactInformation | any | true | none | Contact information of the debtor, used for communication purposes. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | natural |
| type | legal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateAccountDebtors
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_account_debtors \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_account_debtors HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
},
"firstName": "First_2",
"lastName": "Last_2"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_account_debtors',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_account_debtors',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_account_debtors', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_account_debtors', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_account_debtors");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_account_debtors", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_account_debtors
Update existing Debtors on one or more Accounts
Updates existing Debtors on one or more Accounts. The request body is an array where each item includes the accountReference and the updated Debtor data identified by debtorReference.
Only the fields provided are updated; omitted fields are left unchanged. Use add_account_debtors to add new Debtors that do not yet exist on the Account.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
},
"firstName": "First_2",
"lastName": "Last_2"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| sequential | query | boolean | false | The request body items are executed one after another one |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
getAccountClaims
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_account_claims?accountReference=ACCOUNT_REFERENCE_002 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_account_claims?accountReference=ACCOUNT_REFERENCE_002 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_account_claims?accountReference=ACCOUNT_REFERENCE_002',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_account_claims',
params: {
'accountReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_account_claims', params={
'accountReference': 'ACCOUNT_REFERENCE_002'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_account_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_account_claims?accountReference=ACCOUNT_REFERENCE_002");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_account_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_account_claims
Retrieve paginated Claims for an Account, with optional status filter
Retrieves the Claims associated with a given Account, identified by accountReference. Supports filtering by status (ACTIVE or RESOLVED) and pagination via paginationId and limit.
A Claim is an outstanding payment owed under the Account. Active Claims have an existing debt; Resolved Claims no longer have an outstanding balance (e.g. paid, sold, discarded). The response returns a page of Claims and a paginationId to fetch the next page — it is null when there are no more results.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| accountReference | query | string | true | The unique reference identifying the Account in your system |
| status | query | string | false | Claim Status filter |
| paginationId | query | string | false | Opaque pagination cursor returned in the previous response. Pass this value to fetch the next page of Claims. Omit on the first request. The response returns null when no further pages exist. |
| limit | query | integer | false | amount of events per page, default is 1000 |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Enumerated Values
| Parameter | Value |
|---|---|
| status | ACTIVE |
| status | RESOLVED |
Example responses
200 Response
[
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
},
"claimReference": "string",
"status": "ACTIVE"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request of get_account_claims is Successfull | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
| type | natural |
| type | legal |
| status | ACTIVE |
| status | RESOLVED |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
SetAccountScores
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/set_account_scores \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/set_account_scores HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"type": "EXTERNAL",
"value": "SCORE1",
"meta": {}
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/set_account_scores',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/set_account_scores',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/set_account_scores', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/set_account_scores', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/set_account_scores");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/set_account_scores", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/set_account_scores
Set or overwrite risk/behavioural scores on one or more Accounts
The intention of the endpoint is to set the scores for the Account.
Scores provide additional contextual signals about the Account that can be used to drive collection strategy logic (e.g. risk segmentation, behavioral scoring). Each score has a type (INTERNAL, EXTERNAL, COLLECTION, or BEHAVIORAL) and a value. Multiple scores of different types can be set per Account. Existing scores of the same type are overwritten.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"type": "EXTERNAL",
"value": "SCORE1",
"meta": {}
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"messages": [
"Successfully set the score of EXTERNAL"
],
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"type": "EXTERNAL",
"value": "SCORE1",
"meta": {}
}
],
"messageIds": [
"0fdf533f-e453-4b64-9e4a-e1e2a2b81bf4"
]
},
"property2": {
"messages": [
"Successfully set the score of EXTERNAL"
],
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"type": "EXTERNAL",
"value": "SCORE1",
"meta": {}
}
],
"messageIds": [
"0fdf533f-e453-4b64-9e4a-e1e2a2b81bf4"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for set_account_score is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | Response of the set_account_score endpoint |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [AccountScore] | false | none | [An account score is a score that is calculated for a specific account. It can be used to determine the risk of a debtor or any other information that is relevant for the account.] |
| »»»» type | string | true | none | Type of score |
| »»»» value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» meta | Metadata | false | none | Additional information related to the entity. |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
MatchAccountPayment
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/match_account_payment \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/match_account_payment HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"currency": "EUR",
"totalAmount": 100000,
"matchStrategy": "ORDERED_INVOICES_WITH_FEES_THEN_ACCOUNT_ENTRIES",
"providerName": "trustly",
"trackingId": "TRACKING_ID_2",
"paymentReference": "PAYMENT_REFERENCE_2",
"context": {
"productReference": "PRODUCT_REFERENCE_2"
},
"meta": {}
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/match_account_payment',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/match_account_payment',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/match_account_payment', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/match_account_payment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/match_account_payment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/match_account_payment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/match_account_payment
Apply a payment to an Account and distribute it across Claims using a matching strategy
The intention of the endpoint is to register a payment for an account. The payment amount will be matched to the different claims of the account using the indicated matching strategy.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"currency": "EUR",
"totalAmount": 100000,
"matchStrategy": "ORDERED_INVOICES_WITH_FEES_THEN_ACCOUNT_ENTRIES",
"providerName": "trustly",
"trackingId": "TRACKING_ID_2",
"paymentReference": "PAYMENT_REFERENCE_2",
"context": {
"productReference": "PRODUCT_REFERENCE_2"
},
"meta": {}
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[any] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response for matching the payment with the account | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [oneOf] | false | none | [A Ledger Entry is a record of a transaction in the Ledger.] |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | FeeLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Fee Ledger Entry |
| »»»»» feeDetails | object | true | none | none |
| »»»»»» type | string | false | none | Type of fee |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Relationship of the fee with another ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | InvoiceLedgerEntry | false | none | An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system. |
| »»»»» ledgerEntryReference | LedgerEntryReference | true | none | Reference of the Ledger Entry (unique per Account) |
| »»»»» invoiceDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | LedgerEntryCreatedAt | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» dueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the Ledger Entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» externalDebtorReference | DebtorReference | false | none | Your customer ID for this person or company |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | PaymentLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Payment Ledger Entry |
| »»»»» paymentDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» paymentProvider | string | false | none | Name of the provider used for the transaction |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | AdjustmentLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Adjustment Ledger Entry |
| »»»»» adjustmentDetails | object | true | none | none |
| »»»»»» reason | string | false | none | Reason for the adjustment |
| »»»»»» amount | RelativeAmount | true | none | Monetary value in cents (positive or negative number) |
| »»»»»» dueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ChargebackLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Chargeback Ledger Entry |
| »»»»» chargebackDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | true | none | Defines the target of the chargeback ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | DiscountLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Discount Ledger Entry |
| »»»»» discountDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» ledgerEntryReference | string | true | none | Defines the target of the discount ledger entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | ReportingLedgerEntry | false | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Reporting Ledger Entry |
| »»»»» reportingDetails | object | true | none | none |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»»» createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» context | object | true | none | Describes the specific context of the entry |
| »»»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateAccountLedgerEntriesAmounts
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_account_ledger_entries_amounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_account_ledger_entries_amounts HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"amount": 10000,
"reason": "CHARGEBACK",
"meta": {}
},
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2",
"amount": 0,
"reason": "PAYMENT",
"meta": {}
}
]
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_account_ledger_entries_amounts',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_account_ledger_entries_amounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_account_ledger_entries_amounts', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_account_ledger_entries_amounts', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_account_ledger_entries_amounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_account_ledger_entries_amounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_account_ledger_entries_amounts
Update Ledger Entry amounts to a target value, creating typed adjustment entries
The intention of the endpoint is to update the amounts of the Account ledger entries.
This is an abstraction over adding directly the Ledger Entries to the Account, the objective is to simplify the process of updating the amounts of the ledger entries, using the target amount in the request, instead of the individual entries.
Notes:
- The calculations are executed first, and the claims related to those invoices will be updated only once.
- The reason field is mandatory, and it will be used to identify the reason of the update, PAYMENT and CHARGEBACK are special values that will affect the creation of the ledger entries, creating Payment Ledger Entries and Chargeback Ledger Entries, any other reason is mapped to Adjustment Ledger Entries.
- The last value in the array is the one that will be used to update the claim refered by the ledgerEntryReference, but the previous values are used to give context of the changes.
Body parameter
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"amount": 10000,
"reason": "CHARGEBACK",
"meta": {}
},
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2",
"amount": 0,
"reason": "PAYMENT",
"meta": {}
}
]
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | UpdateAccountLedgerEntriesAmountsInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "string",
"amount": 13025,
"reason": "PAYMENT",
"meta": {
"sourceSystem": "system1"
}
}
]
}
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "string",
"amount": 13025,
"reason": "PAYMENT",
"meta": {
"sourceSystem": "system1"
}
}
]
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for update_account_ledger_entries_amounts is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [UpdateAccountLedgerEntriesAmountsInput] | false | none | [Input for update_account_ledger_entries_amounts endpoint.] |
| »»»» accountReference | AccountReference | true | none | Account reference in your system |
| »»»» ledgerEntries | [object] | true | none | none |
| »»»»» ledgerEntryReference | string | true | none | Reference of the Ledger Entry (Invoice or Fee) |
| »»»»» amount | integer | true | none | Amount in cents |
| »»»»» reason | string | true | none | Reason for the amount update. Special values: PAYMENT creates a Payment Ledger Entry; CHARGEBACK creates a Chargeback Ledger Entry. Any other string (e.g. INVALID, WRITE_OFF) creates an Adjustment Ledger Entry. |
| »»»»» meta | Metadata | true | none | Additional information related to the entity. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
getDebtorAccountsAndClaims
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_debtor_accounts_and_claims?debtorReference=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_debtor_accounts_and_claims?debtorReference=string HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_debtor_accounts_and_claims?debtorReference=string',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_debtor_accounts_and_claims',
params: {
'debtorReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_debtor_accounts_and_claims', params={
'debtorReference': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_debtor_accounts_and_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_debtor_accounts_and_claims?debtorReference=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_debtor_accounts_and_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_debtor_accounts_and_claims
Retrieve all Accounts and their Claims for a given Debtor reference
The intention of the endpoint is to retrieve information about a debtor's accounts and claims.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| debtorReference | query | string | true | Identifier of the debtor |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
[
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"paymentReference": "paymentReference1",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"currency": "EUR",
"claims": [
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
],
"debtors": [
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
]
}
]
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_debtor_accounts_and_claims is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [DebtorAccountsAndClaims] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» accountReference | AccountReference | true | none | Account reference in your system |
| »» meta | Metadata | false | none | Additional information related to the entity. |
| »» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »» portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| »» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» claims | [allOf] | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»»» amount | Amount | false | none | Monetary value in cents (natural number) |
| »»»» currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| »»»» product | Product | false | none | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»» type | string | false | none | Type of product |
| »»»»» name | string | false | none | Product name |
| »»»»» code | string | false | none | Product code |
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| »»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» creditorReference | string | false | none | Reference of the person/company to whom money is owed |
| »»»» totalFees | Amount | false | none | Monetary value in cents (natural number) |
| »»»» currentDueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»» originalDueDate | OriginalDueDate(date) | false | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»» scores | [ClaimScore] | false | none | List of scores |
| »»»»» type | string | true | none | Type of score |
| »»»»» value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» reason | string | false | none | Reason for updating a claim (the reason must not be part of the Entity) |
| »»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»» accountNumber | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AccountReference | false | none | Account reference in your system |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | number | false | none | Account number in your system (DEPRECATED, use accountReference) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» accountReference | AccountReference | false | none | Account reference in your system |
| »»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»» fees | [Fee] | false | none | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»»» name | string | true | none | Name of the fee. |
| »»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»» linkGroupId | any | false | none | Group id to link claims together |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | null | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | string(uuid) | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» primaryDebtor | BaseDebtor | false | none | none |
| »»»»» birthday | string(date) | false | none | Birthday of the debtor |
| »»»»» gender | string | false | none | Gender of the debtor |
| »»»»» firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| »»»»» lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| »»»»» middleName | string | false | none | Middle name of the debtor |
| »»»»» title | string | false | none | Title of the debtor |
| »»»»» companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| »»»»» debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| »»»»» SSN | string | false | none | National Identification Number of the debtor |
| »»»»» type | string | false | none | Type of the debtor (default: natural) |
| »»»»» contactInformation | BaseContactInformation | false | none | none |
| »»»»»» country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»» city | string | false | none | City |
| »»»»»» mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» postalCode | string | false | none | Postal Code |
| »»»»»» houseNumber | string | false | none | House number as part of the address |
| »»»»»» addressLine1 | string | false | none | Address Line 1 |
| »»»»»» addressLine2 | string | false | none | Address Line 2 |
| »»»»»» addressLine3 | string | false | none | Address Line 3 |
| »»»»»» landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» state | string | false | none | State |
| string | false | none | Email Address | |
| »»»»»» additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» primaryDebtor | any | true | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseDebtor | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» contactInformation | any | true | none | Contact information of the debtor, used for communication purposes. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» debtors | [allOf] | true | none | [The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. ] |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
| type | natural |
| type | legal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Claim
A Claim is an outstanding payment owed under an Account. Each Claim has an amount, currency, due dates, and a primary Debtor. Claims can be created directly or managed via the Ledger. They transition through states: Active (debt exists) and Resolved (debt no longer exists, e.g. paid, sold, or discarded).
createClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/create_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/create_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"totalFees": 0,
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/create_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/create_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/create_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/create_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/create_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/create_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/create_claims
Create new Claims in Receeve (fails if Claim already exists)
The intetion of this endpoint is to create Claims in Receeve.
Notes:
- This endpoint throws an error if the Claim already exists (even if it was previously deleted). Use recreate_claims to reopen a deleted Claim, or import_claims for an upsert (create-or-update) behaviour.
- Claims created with this endpoint are not managed by the Ledger. To create Ledger-managed Claims, use add_account_ledger_entries instead.
- The request body is a map where each key is your claimReference and the value is the Claim object. Required fields: amount, currency, currentDueDate, originalDueDate, accountReference, primaryDebtor.
Body parameter
{
"CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"totalFees": 0,
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | any | false | Input for create_claims endpoint. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of creating a set of claims | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | any | false | none | Used when creating or importing claims |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»»»» amount | Amount | false | none | Monetary value in cents (natural number) |
| »»»»» currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| »»»»» product | Product | false | none | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» type | string | false | none | Type of product |
| »»»»»» name | string | false | none | Product name |
| »»»»»» code | string | false | none | Product code |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| »»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»» creditorReference | string | false | none | Reference of the person/company to whom money is owed |
| »»»»» totalFees | Amount | false | none | Monetary value in cents (natural number) |
| »»»»» currentDueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»» originalDueDate | OriginalDueDate(date) | false | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»»» scores | [ClaimScore] | false | none | List of scores |
| »»»»»» type | string | true | none | Type of score |
| »»»»»» value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» reason | string | false | none | Reason for updating a claim (the reason must not be part of the Entity) |
| »»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»» accountNumber | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AccountReference | false | none | Account reference in your system |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | number | false | none | Account number in your system (DEPRECATED, use accountReference) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» accountReference | AccountReference | false | none | Account reference in your system |
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» fees | [Fee] | false | none | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»»»» name | string | true | none | Name of the fee. |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»» linkGroupId | any | false | none | Group id to link claims together |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | null | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | string(uuid) | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» primaryDebtor | BaseDebtor | false | none | none |
| »»»»»» birthday | string(date) | false | none | Birthday of the debtor |
| »»»»»» gender | string | false | none | Gender of the debtor |
| »»»»»» firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| »»»»»» lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| »»»»»» middleName | string | false | none | Middle name of the debtor |
| »»»»»» title | string | false | none | Title of the debtor |
| »»»»»» companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| »»»»»» debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| »»»»»» SSN | string | false | none | National Identification Number of the debtor |
| »»»»»» type | string | false | none | Type of the debtor (default: natural) |
| »»»»»» contactInformation | BaseContactInformation | false | none | none |
| »»»»»»» country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»»» city | string | false | none | City |
| »»»»»»» mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»»» postalCode | string | false | none | Postal Code |
| »»»»»»» houseNumber | string | false | none | House number as part of the address |
| »»»»»»» addressLine1 | string | false | none | Address Line 1 |
| »»»»»»» addressLine2 | string | false | none | Address Line 2 |
| »»»»»»» addressLine3 | string | false | none | Address Line 3 |
| »»»»»»» landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»»» state | string | false | none | State |
| string | false | none | Email Address | |
| »»»»»»» additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
| »»»»» originalDueDate | OriginalDueDate(date) | true | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»»» currentDueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | The accountReference is optional, but primaryDebtor and currency are required |
| »»»»»» primaryDebtor | any | true | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | BaseDebtor | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» contactInformation | any | true | none | Contact information of the debtor, used for communication purposes. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | The primaryDebtor and the currency of the Account is used if not specified in the Claim |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
| type | natural |
| type | legal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
recreateClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/recreate_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/recreate_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"totalFees": 0,
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/recreate_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/recreate_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/recreate_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/recreate_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/recreate_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/recreate_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/recreate_claims
Reopen previously deleted Claims and restart their collection lifecycle
The intetion of this endpoint is to recreate Claims in Receeve.
Notes:
- This endpoint throws an error if the Claim is not in a deleted state. Use create_claims for brand-new Claims that have never existed.
- Recreated Claims are not managed by the Ledger.
- Recreating a Claim restarts its entire lifecycle, including the Collections Strategy — the strategy will begin from the first step again as if the Claim were new.
- The request body is a map where each key is the claimReference and the value is the full Claim object (same schema as create_claims).
Required fields per Claim: amount, currency, currentDueDate, originalDueDate, and either (primaryDebtor + currency) or accountReference.
Body parameter
{
"CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"totalFees": 0,
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | any | false | Used when creating or importing claims |
| »» anonymous | body | BaseClaim | false | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»» amount | body | Amount | false | Monetary value in cents (natural number) |
| »»» currency | body | Currency | false | 3-digit currency code (ISO 4217) |
| »»» product | body | Product | false | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»» productReference | body | ProductReference | true | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»» type | body | string | false | Type of product |
| »»»» name | body | string | false | Product name |
| »»»» code | body | string | false | Product code |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» portfolioReference | body | PortfolioReference | false | An optional grouping field for reporting and filtering purposes. |
| »»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»» creditorReference | body | string | false | Reference of the person/company to whom money is owed |
| »»» totalFees | body | Amount | false | Monetary value in cents (natural number) |
| »»» currentDueDate | body | DueDate(date) | false | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»» originalDueDate | body | OriginalDueDate(date) | false | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»» scores | body | [ClaimScore] | false | List of scores |
| »»»» type | body | string | true | Type of score |
| »»»» value | body | any | true | none |
| »»»»» anonymous | body | string | false | The score's value |
| »»»»» anonymous | body | object | false | composed value |
| »»»»» anonymous | body | null | false | No value |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» reason | body | string | false | Reason for updating a claim (the reason must not be part of the Entity) |
| »»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»» accountNumber | body | any | false | none |
| »»»» anonymous | body | AccountReference | false | Account reference in your system |
| »»»» anonymous | body | number | false | Account number in your system (DEPRECATED, use accountReference) |
| »»» accountReference | body | AccountReference | false | Account reference in your system |
| »»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» fees | body | [Fee] | false | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»» name | body | string | true | Name of the fee. |
| »»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»» linkGroupId | body | any | false | Group id to link claims together |
| »»»» anonymous | body | null | false | none |
| »»»» anonymous | body | string(uuid) | false | none |
| »»» primaryDebtor | body | BaseDebtor | false | none |
| »»»» birthday | body | string(date) | false | Birthday of the debtor |
| »»»» gender | body | string | false | Gender of the debtor |
| »»»» firstName | body | string | false | First name of the debtor (required if type is 'natural') |
| »»»» lastName | body | string | false | Last name of the debtor (required if type is 'natural') |
| »»»» middleName | body | string | false | Middle name of the debtor |
| »»»» title | body | string | false | Title of the debtor |
| »»»» companyName | body | string | false | Company Name of the debtor (required if type is 'legal') |
| »»»» debtorReference | body | DebtorReference | false | Your customer ID for this person or company |
| »»»» SSN | body | string | false | National Identification Number of the debtor |
| »»»» type | body | string | false | Type of the debtor (default: natural) |
| »»»» contactInformation | body | BaseContactInformation | false | none |
| »»»»» country | body | string | false | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»» city | body | string | false | City |
| »»»»» mobileNumber | body | string | false | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»» postalCode | body | string | false | Postal Code |
| »»»»» houseNumber | body | string | false | House number as part of the address |
| »»»»» addressLine1 | body | string | false | Address Line 1 |
| »»»»» addressLine2 | body | string | false | Address Line 2 |
| »»»»» addressLine3 | body | string | false | Address Line 3 |
| »»»»» landLine | body | string | false | Landline number in E.164 format (e.g. +49555555555) |
| »»»»» state | body | string | false | State |
| body | string | false | Email Address | |
| »»»»» additionalContactInformation | body | [oneOf] | false | none |
| »»»»»» anonymous | body | object | false | none |
| body | string | true | Email Address | |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» mobileNumber | body | string | true | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» landLine | body | string | true | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» workPhoneNumber | body | string | true | Work phone number in E.164 format (e.g. +49555555555) |
| »» anonymous | body | object | false | none |
| »»» originalDueDate | body | OriginalDueDate(date) | true | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»» currentDueDate | body | DueDate(date) | true | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »» anonymous | body | any | false | none |
| »»» anonymous | body | object | false | The accountReference is optional, but primaryDebtor and currency are required |
| »»»» primaryDebtor | body | any | true | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). |
| »»»»» anonymous | body | BaseDebtor | false | none |
| »»»»» anonymous | body | object | false | none |
| »»»»»» contactInformation | body | any | true | Contact information of the debtor, used for communication purposes. |
| »»»»»»» anonymous | body | BaseContactInformation | false | none |
| »»»»»»» anonymous | body | object | false | none |
| »»» anonymous | body | object | false | The primaryDebtor and the currency of the Account is used if not specified in the Claim |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»» primaryDebtor: The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required.
Enumerated Values
| Parameter | Value |
|---|---|
| »»»» type | INTERNAL |
| »»»» type | EXTERNAL |
| »»»» type | COLLECTION |
| »»»» type | BEHAVIORAL |
| »»»» type | natural |
| »»»» type | legal |
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of recreating a set of claims | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | any | false | none | Used when creating or importing claims |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»»»» amount | Amount | false | none | Monetary value in cents (natural number) |
| »»»»» currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| »»»»» product | Product | false | none | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»»»» productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»»» type | string | false | none | Type of product |
| »»»»»» name | string | false | none | Product name |
| »»»»»» code | string | false | none | Product code |
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| »»»»» productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»» creditorReference | string | false | none | Reference of the person/company to whom money is owed |
| »»»»» totalFees | Amount | false | none | Monetary value in cents (natural number) |
| »»»»» currentDueDate | DueDate(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»»» originalDueDate | OriginalDueDate(date) | false | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»»» scores | [ClaimScore] | false | none | List of scores |
| »»»»»» type | string | true | none | Type of score |
| »»»»»» value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» reason | string | false | none | Reason for updating a claim (the reason must not be part of the Entity) |
| »»»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| »»»»» accountNumber | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AccountReference | false | none | Account reference in your system |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | number | false | none | Account number in your system (DEPRECATED, use accountReference) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» accountReference | AccountReference | false | none | Account reference in your system |
| »»»»» meta | Metadata | false | none | Additional information related to the entity. |
| »»»»» fees | [Fee] | false | none | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»»»» name | string | true | none | Name of the fee. |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»»» linkGroupId | any | false | none | Group id to link claims together |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | null | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | string(uuid) | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» primaryDebtor | BaseDebtor | false | none | none |
| »»»»»» birthday | string(date) | false | none | Birthday of the debtor |
| »»»»»» gender | string | false | none | Gender of the debtor |
| »»»»»» firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| »»»»»» lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| »»»»»» middleName | string | false | none | Middle name of the debtor |
| »»»»»» title | string | false | none | Title of the debtor |
| »»»»»» companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| »»»»»» debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| »»»»»» SSN | string | false | none | National Identification Number of the debtor |
| »»»»»» type | string | false | none | Type of the debtor (default: natural) |
| »»»»»» contactInformation | BaseContactInformation | false | none | none |
| »»»»»»» country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»»» city | string | false | none | City |
| »»»»»»» mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»»» postalCode | string | false | none | Postal Code |
| »»»»»»» houseNumber | string | false | none | House number as part of the address |
| »»»»»»» addressLine1 | string | false | none | Address Line 1 |
| »»»»»»» addressLine2 | string | false | none | Address Line 2 |
| »»»»»»» addressLine3 | string | false | none | Address Line 3 |
| »»»»»»» landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»»» state | string | false | none | State |
| string | false | none | Email Address | |
| »»»»»»» additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
| »»»»» originalDueDate | OriginalDueDate(date) | true | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»»» currentDueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | The accountReference is optional, but primaryDebtor and currency are required |
| »»»»»» primaryDebtor | any | true | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | BaseDebtor | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» contactInformation | any | true | none | Contact information of the debtor, used for communication purposes. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | The primaryDebtor and the currency of the Account is used if not specified in the Claim |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
| type | natural |
| type | legal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"CLAIM_REF_002_1": {
"amount": 5000
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_claims
Partially update existing Claims (fails if Claim does not exist)
The intetion of this endpoint is to update existing Claims in Receeve.
Notes:
- This endpoint throws an error if the Claim does not exist. Use import_claims for upsert behaviour (create-or-update).
- Claims updated with this endpoint are not managed by the Ledger. To update the amounts of Ledger-managed Claims, use update_account_ledger_entries_amounts instead.
- The payload uses the same schema as create_claims but all fields are optional — only the fields present in the request will be updated.
- The optional forceAmountCheck query parameter, when true, forces the claim status to be re-evaluated after an amount update.
Body parameter
{
"CLAIM_REF_002_1": {
"amount": 5000
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| forceAmountCheck | query | boolean | false | When true, forces re-evaluation of the Claim status after an amount update (e.g. to auto-resolve a Claim whose amount has been set to zero). Defaults to false. |
| body | body | object | true | none |
| » additionalProperties | body | any | false | Input for update_claims endpoint. |
| »» anonymous | body | BaseClaim | false | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»» amount | body | Amount | false | Monetary value in cents (natural number) |
| »»» currency | body | Currency | false | 3-digit currency code (ISO 4217) |
| »»» product | body | Product | false | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»» productReference | body | ProductReference | true | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»» type | body | string | false | Type of product |
| »»»» name | body | string | false | Product name |
| »»»» code | body | string | false | Product code |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» portfolioReference | body | PortfolioReference | false | An optional grouping field for reporting and filtering purposes. |
| »»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»» creditorReference | body | string | false | Reference of the person/company to whom money is owed |
| »»» totalFees | body | Amount | false | Monetary value in cents (natural number) |
| »»» currentDueDate | body | DueDate(date) | false | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»» originalDueDate | body | OriginalDueDate(date) | false | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»» scores | body | [ClaimScore] | false | List of scores |
| »»»» type | body | string | true | Type of score |
| »»»» value | body | any | true | none |
| »»»»» anonymous | body | string | false | The score's value |
| »»»»» anonymous | body | object | false | composed value |
| »»»»» anonymous | body | null | false | No value |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» reason | body | string | false | Reason for updating a claim (the reason must not be part of the Entity) |
| »»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»» accountNumber | body | any | false | none |
| »»»» anonymous | body | AccountReference | false | Account reference in your system |
| »»»» anonymous | body | number | false | Account number in your system (DEPRECATED, use accountReference) |
| »»» accountReference | body | AccountReference | false | Account reference in your system |
| »»» meta | body | Metadata | false | Additional information related to the entity. |
| »»» fees | body | [Fee] | false | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»» name | body | string | true | Name of the fee. |
| »»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»» linkGroupId | body | any | false | Group id to link claims together |
| »»»» anonymous | body | null | false | none |
| »»»» anonymous | body | string(uuid) | false | none |
| »»» primaryDebtor | body | BaseDebtor | false | none |
| »»»» birthday | body | string(date) | false | Birthday of the debtor |
| »»»» gender | body | string | false | Gender of the debtor |
| »»»» firstName | body | string | false | First name of the debtor (required if type is 'natural') |
| »»»» lastName | body | string | false | Last name of the debtor (required if type is 'natural') |
| »»»» middleName | body | string | false | Middle name of the debtor |
| »»»» title | body | string | false | Title of the debtor |
| »»»» companyName | body | string | false | Company Name of the debtor (required if type is 'legal') |
| »»»» debtorReference | body | DebtorReference | false | Your customer ID for this person or company |
| »»»» SSN | body | string | false | National Identification Number of the debtor |
| »»»» type | body | string | false | Type of the debtor (default: natural) |
| »»»» contactInformation | body | BaseContactInformation | false | none |
| »»»»» country | body | string | false | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»» city | body | string | false | City |
| »»»»» mobileNumber | body | string | false | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»» postalCode | body | string | false | Postal Code |
| »»»»» houseNumber | body | string | false | House number as part of the address |
| »»»»» addressLine1 | body | string | false | Address Line 1 |
| »»»»» addressLine2 | body | string | false | Address Line 2 |
| »»»»» addressLine3 | body | string | false | Address Line 3 |
| »»»»» landLine | body | string | false | Landline number in E.164 format (e.g. +49555555555) |
| »»»»» state | body | string | false | State |
| body | string | false | Email Address | |
| »»»»» additionalContactInformation | body | [oneOf] | false | none |
| »»»»»» anonymous | body | object | false | none |
| body | string | true | Email Address | |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» mobileNumber | body | string | true | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» landLine | body | string | true | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» workPhoneNumber | body | string | true | Work phone number in E.164 format (e.g. +49555555555) |
| »» anonymous | body | object | false | Additional modifiers when updating claims |
| »»» options | body | object | false | none |
| »»»» forceAmountCheck | body | boolean | false | When true, forces re-evaluation of the Claim status after an amount update (e.g. to auto-resolve a Claim whose amount has been set to zero). |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
Enumerated Values
| Parameter | Value |
|---|---|
| »»»» type | INTERNAL |
| »»»» type | EXTERNAL |
| »»»» type | COLLECTION |
| »»»» type | BEHAVIORAL |
| »»»» type | natural |
| »»»» type | legal |
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
importClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/import_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/import_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"API_CLAIM_REF_002": {
"amount": 3002,
"totalFees": 40,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {
"claimMeta1": "value1",
"claimMeta2": "value2"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/import_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/import_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/import_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/import_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/import_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/import_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/import_claims
Upsert Claims — creates if not exists, updates if already exists
Upserts one or more Claims. Notes:
- If the Claim does not exist it is created; if it already exists it is updated. This is the recommended endpoint for bulk integrations where you cannot track whether a Claim was previously submitted.
- Claims managed by this endpoint are not Ledger-managed. To manage Claims via the Ledger, use add_account_ledger_entries.
- Unlike update_claims, this endpoint requires the full Claim payload on every call — partial updates are not supported here.
Required fields per Claim: amount, currency, currentDueDate, originalDueDate, and either (primaryDebtor + currency) or accountReference.
Body parameter
{
"API_CLAIM_REF_002": {
"amount": 3002,
"totalFees": 40,
"currency": "EUR",
"currentDueDate": "2019-02-15",
"originalDueDate": "2019-09-09",
"productReference": "PRODUCT_REFERENCE_002",
"accountReference": "ACCOUNT_REFERENCE_002",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"primaryDebtor": {
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"firstName": "F_N",
"lastName": "L_N",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
},
"meta": {
"claimMeta1": "value1",
"claimMeta2": "value2"
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | any | false | Input for import_claims endpoint (upsert — create or update). |
| »» anonymous | body | any | false | Used when creating or importing claims |
| »»» anonymous | body | BaseClaim | false | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
| »»»» amount | body | Amount | false | Monetary value in cents (natural number) |
| »»»» currency | body | Currency | false | 3-digit currency code (ISO 4217) |
| »»»» product | body | Product | false | A product is a service or item used to give context to the Claim or Ledger Entry |
| »»»»» productReference | body | ProductReference | true | Identifier for a product in your system. It is used for grouping purposes. |
| »»»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»»» type | body | string | false | Type of product |
| »»»»» name | body | string | false | Product name |
| »»»»» code | body | string | false | Product code |
| »»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»» portfolioReference | body | PortfolioReference | false | An optional grouping field for reporting and filtering purposes. |
| »»»» productReference | body | ProductReference | false | Identifier for a product in your system. It is used for grouping purposes. |
| »»»» creditorReference | body | string | false | Reference of the person/company to whom money is owed |
| »»»» totalFees | body | Amount | false | Monetary value in cents (natural number) |
| »»»» currentDueDate | body | DueDate(date) | false | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»»» originalDueDate | body | OriginalDueDate(date) | false | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»» scores | body | [ClaimScore] | false | List of scores |
| »»»»» type | body | string | true | Type of score |
| »»»»» value | body | any | true | none |
| »»»»»» anonymous | body | string | false | The score's value |
| »»»»»» anonymous | body | object | false | composed value |
| »»»»»» anonymous | body | null | false | No value |
| »»»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»» reason | body | string | false | Reason for updating a claim (the reason must not be part of the Entity) |
| »»»» paymentReference | body | PaymentReference | false | Payment reference used in online transactions. |
| »»»» accountNumber | body | any | false | none |
| »»»»» anonymous | body | AccountReference | false | Account reference in your system |
| »»»»» anonymous | body | number | false | Account number in your system (DEPRECATED, use accountReference) |
| »»»» accountReference | body | AccountReference | false | Account reference in your system |
| »»»» meta | body | Metadata | false | Additional information related to the entity. |
| »»»» fees | body | [Fee] | false | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| »»»»» name | body | string | true | Name of the fee. |
| »»»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »»»» linkGroupId | body | any | false | Group id to link claims together |
| »»»»» anonymous | body | null | false | none |
| »»»»» anonymous | body | string(uuid) | false | none |
| »»»» primaryDebtor | body | BaseDebtor | false | none |
| »»»»» birthday | body | string(date) | false | Birthday of the debtor |
| »»»»» gender | body | string | false | Gender of the debtor |
| »»»»» firstName | body | string | false | First name of the debtor (required if type is 'natural') |
| »»»»» lastName | body | string | false | Last name of the debtor (required if type is 'natural') |
| »»»»» middleName | body | string | false | Middle name of the debtor |
| »»»»» title | body | string | false | Title of the debtor |
| »»»»» companyName | body | string | false | Company Name of the debtor (required if type is 'legal') |
| »»»»» debtorReference | body | DebtorReference | false | Your customer ID for this person or company |
| »»»»» SSN | body | string | false | National Identification Number of the debtor |
| »»»»» type | body | string | false | Type of the debtor (default: natural) |
| »»»»» contactInformation | body | BaseContactInformation | false | none |
| »»»»»» country | body | string | false | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| »»»»»» city | body | string | false | City |
| »»»»»» mobileNumber | body | string | false | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»» postalCode | body | string | false | Postal Code |
| »»»»»» houseNumber | body | string | false | House number as part of the address |
| »»»»»» addressLine1 | body | string | false | Address Line 1 |
| »»»»»» addressLine2 | body | string | false | Address Line 2 |
| »»»»»» addressLine3 | body | string | false | Address Line 3 |
| »»»»»» landLine | body | string | false | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»» state | body | string | false | State |
| body | string | false | Email Address | |
| »»»»»» additionalContactInformation | body | [oneOf] | false | none |
| »»»»»»» anonymous | body | object | false | none |
| body | string | true | Email Address | |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» mobileNumber | body | string | true | Mobile number in E.164 format (e.g. +49555555555) |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» landLine | body | string | true | Landline number in E.164 format (e.g. +49555555555) |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» workPhoneNumber | body | string | true | Work phone number in E.164 format (e.g. +49555555555) |
| »»» anonymous | body | object | false | none |
| »»»» originalDueDate | body | OriginalDueDate(date) | true | Original due date in your system. This is the day when it went past due. DPD 0. |
| »»»» currentDueDate | body | DueDate(date) | true | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | object | false | The accountReference is optional, but primaryDebtor and currency are required |
| »»»»» primaryDebtor | body | any | true | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). |
| »»»»»» anonymous | body | BaseDebtor | false | none |
| »»»»»» anonymous | body | object | false | none |
| »»»»»»» contactInformation | body | any | true | Contact information of the debtor, used for communication purposes. |
| »»»»»»»» anonymous | body | BaseContactInformation | false | none |
| »»»»»»»» anonymous | body | object | false | none |
| »»»» anonymous | body | object | false | The primaryDebtor and the currency of the Account is used if not specified in the Claim |
| »» anonymous | body | object | false | Additional modifiers when updating claims |
| »»» options | body | object | false | none |
| »»»» forceAmountCheck | body | boolean | false | When true, forces re-evaluation of the Claim status after an amount update (e.g. to auto-resolve a Claim whose amount has been set to zero). |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
»»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»» paymentReference: Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
»»»»» primaryDebtor: The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required.
Enumerated Values
| Parameter | Value |
|---|---|
| »»»»» type | INTERNAL |
| »»»»» type | EXTERNAL |
| »»»»» type | COLLECTION |
| »»»»» type | BEHAVIORAL |
| »»»»» type | natural |
| »»»»» type | legal |
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
resolveClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/resolve_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/resolve_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
[
{
"ref": "API_CLAIM_REF_002_1",
"reason": "CLAIM_SOLD"
}
]
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/resolve_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/resolve_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/resolve_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/resolve_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/resolve_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/resolve_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/resolve_claims
Resolve active Claims with a reason (e.g. paid, sold, discarded)
The intetion of this endpoint is to resolve active Claims in Receeve.
Notes:
- Resolving a Claim changes its state to Resolved but does not modify other properties such as amount or due dates.
- Each item in the request array requires a ref (the claimReference) and a reason. Valid reasons: CLAIM_PAID, CLAIM_SOLD, FRAUDULENT, CLAIM_DISCARDED, CLAIM_DISCHARGED, CLAIM_INVALIDATED.
- To resolve a Claim and zero out its amount in one step, use update_claims and set amount to 0 alongside setting the reason to CLAIM_PAID.
Body parameter
[
[
{
"ref": "API_CLAIM_REF_002_1",
"reason": "CLAIM_SOLD"
}
]
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[object] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
creditClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/credit_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/credit_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"API_CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with flat fee reduction",
"paymentDistributionPriority": "AMOUNT_FIRST"
},
"API_CLAIM_REF_002_2": {
"amount": 1000,
"fees": 500,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with flat fee reduction",
"paymentDistributionPriority": "AMOUNT_FIRST"
},
"API_CLAIM_REF_002_3": {
"amount": 1000,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with named fee reduction",
"paymentDistributionPriority": "FEES_FIRST",
"fees": [
{
"name": "Processing Fee",
"amount": 25
},
{
"name": "Late Fee",
"amount": 15
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/credit_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/credit_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/credit_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/credit_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/credit_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/credit_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/credit_claims
Decrease a Claim's amount or fees, auto-resolving if balance reaches zero
The intention of this endpoint is to credit claims in Receeve.
Notes:
- Crediting decreases the Claim's amount and/or totalFees.
- If the resulting Claim amount reaches zero, the Claim is automatically resolved.
- The request body is a map where each key is the claimReference.
- fees can be a number (reduces totalFees directly) or an array of named fee objects:
- If a fee with the same name already exists, its amount is subtracted.
- If no matching fee name exists, the entry is ignored.
- To credit fees only, set amount to 0 and provide fees.
- To credit fees first and apply any remaining amount to the Claim balance, omit the fees field and provide only amount.
- paymentDistributionPriority controls whether the credit is applied to the amount or fees first (AMOUNT_FIRST or FEES_FIRST).
Body parameter
{
"API_CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with flat fee reduction",
"paymentDistributionPriority": "AMOUNT_FIRST"
},
"API_CLAIM_REF_002_2": {
"amount": 1000,
"fees": 500,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with flat fee reduction",
"paymentDistributionPriority": "AMOUNT_FIRST"
},
"API_CLAIM_REF_002_3": {
"amount": 1000,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "Credit with named fee reduction",
"paymentDistributionPriority": "FEES_FIRST",
"fees": [
{
"name": "Processing Fee",
"amount": 25
},
{
"name": "Late Fee",
"amount": 15
}
]
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | CreditClaimInput | false | none |
| »» amount | body | Amount | true | Monetary value in cents (natural number) |
| »» fees | body | any | false | Optional fee credit. Omit to apply the full amount to the Claim balance. Provide fees to reduce specific fees; set amount to 0 to credit fees only. |
| »»» anonymous | body | number | false | Flat fee reduction in cents — subtracted directly from totalFees. |
| »»» anonymous | body | [Fee] | false | Named fee reductions. Each entry matches by name and subtracts the given amount from that fee. Unmatched names are ignored. |
| »»»» name | body | string | true | Name of the fee. |
| »»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »» currency | body | Currency | true | 3-digit currency code (ISO 4217) |
| »» originator | body | string | true | Who initiated this credit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| »» paymentDistributionPriority | body | string | false | Controls how the credit amount is distributed when both principal and fees are outstanding. AMOUNT_FIRST reduces the principal balance first, then fees. FEES_FIRST reduces fees first, then the principal balance. |
| »» date | body | number | false | Timestamp of the credit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| »» descriptionText | body | string | false | Human-readable note explaining the reason for this credit. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Enumerated Values
| Parameter | Value |
|---|---|
| »» originator | DCA |
| »» originator | CLIENT |
| »» paymentDistributionPriority | FEES_FIRST |
| »» paymentDistributionPriority | AMOUNT_FIRST |
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"paymentDistributionPriority": "FEES_FIRST",
"date": 1647526514000,
"descriptionText": "string"
}
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"paymentDistributionPriority": "FEES_FIRST",
"date": 1647526514000,
"descriptionText": "string"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of Credit Claim | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | CreditClaimInput | false | none | none |
| »»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»» fees | any | false | none | Optional fee credit. Omit to apply the full amount to the Claim balance. Provide fees to reduce specific fees; set amount to 0 to credit fees only. |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | number | false | none | Flat fee reduction in cents — subtracted directly from totalFees. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | [Fee] | false | none | Named fee reductions. Each entry matches by name and subtracts the given amount from that fee. Unmatched names are ignored. |
| »»»»»» name | string | true | none | Name of the fee. |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| »»»» originator | string | true | none | Who initiated this credit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| »»»» paymentDistributionPriority | string | false | none | Controls how the credit amount is distributed when both principal and fees are outstanding. AMOUNT_FIRST reduces the principal balance first, then fees. FEES_FIRST reduces fees first, then the principal balance. |
| »»»» date | number | false | none | Timestamp of the credit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| »»»» descriptionText | string | false | none | Human-readable note explaining the reason for this credit. |
Enumerated Values
| Property | Value |
|---|---|
| originator | DCA |
| originator | CLIENT |
| paymentDistributionPriority | FEES_FIRST |
| paymentDistributionPriority | AMOUNT_FIRST |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
debitClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/debit_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/debit_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"API_CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"originator": "CLIENT",
"date": 1647526514000,
"fees": 50
},
"API_CLAIM_REF_002_2": {
"amount": 1500,
"currency": "EUR",
"originator": "CLIENT",
"date": 1647526514000,
"fees": [
{
"name": "Processing Fee",
"amount": 25
},
{
"name": "Late Fee",
"amount": 15
}
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/debit_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/debit_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/debit_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/debit_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/debit_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/debit_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/debit_claims
Increase a Claim's amount or fees (e.g. add interest or penalty charges)
The intention of this endpoint is to debit claims in Receeve.
Notes:
- Debiting increases the Claim's amount and/or totalFees.
- The request body is a map where each key is the claimReference.
- fees can be a number (added directly to totalFees) or an array of named fee objects:
- If a fee with the same name already exists, the amounts are added together.
- If no matching fee name exists, a new fee entry is created with that name.
- To debit fees only without changing the Claim amount, set amount to 0 and provide fees.
- Required fields per entry: amount, currency, originator, date.
Body parameter
{
"API_CLAIM_REF_002_1": {
"amount": 1000,
"currency": "EUR",
"originator": "CLIENT",
"date": 1647526514000,
"fees": 50
},
"API_CLAIM_REF_002_2": {
"amount": 1500,
"currency": "EUR",
"originator": "CLIENT",
"date": 1647526514000,
"fees": [
{
"name": "Processing Fee",
"amount": 25
},
{
"name": "Late Fee",
"amount": 15
}
]
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | DebitClaimInput | false | none |
| »» amount | body | Amount | true | Monetary value in cents (natural number) |
| »» fees | body | any | false | Optional fee debit. Omit to add amount to the Claim balance only. Provide fees to increase specific fees; set amount to 0 to debit fees only without changing the principal balance. |
| »»» anonymous | body | number | false | Flat fee addition in cents — added directly to totalFees. |
| »»» anonymous | body | [Fee] | false | Named fee additions. Each entry matches by name and adds the given amount to that fee. If no fee with that name exists, a new fee entry is created. |
| »»»» name | body | string | true | Name of the fee. |
| »»»» amount | body | Amount | true | Monetary value in cents (natural number) |
| »» currency | body | Currency | true | 3-digit currency code (ISO 4217) |
| »» originator | body | string | true | Who initiated this debit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| »» date | body | number | true | Timestamp of the debit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| »» descriptionText | body | string | false | Human-readable note explaining the reason for this debit. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Enumerated Values
| Parameter | Value |
|---|---|
| »» originator | DCA |
| »» originator | CLIENT |
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "string"
}
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "string"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of Debit Claim | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | DebitClaimInput | false | none | none |
| »»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»» fees | any | false | none | Optional fee debit. Omit to add amount to the Claim balance only. Provide fees to increase specific fees; set amount to 0 to debit fees only without changing the principal balance. |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | number | false | none | Flat fee addition in cents — added directly to totalFees. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | [Fee] | false | none | Named fee additions. Each entry matches by name and adds the given amount to that fee. If no fee with that name exists, a new fee entry is created. |
| »»»»»» name | string | true | none | Name of the fee. |
| »»»»»» amount | Amount | true | none | Monetary value in cents (natural number) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| »»»» originator | string | true | none | Who initiated this debit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| »»»» date | number | true | none | Timestamp of the debit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| »»»» descriptionText | string | false | none | Human-readable note explaining the reason for this debit. |
Enumerated Values
| Property | Value |
|---|---|
| originator | DCA |
| originator | CLIENT |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
setLinkClaims
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/set_link_claims \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/set_link_claims HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"API_CLAIM_REF_002": "API_CLAIM_REF_001",
"API_CLAIM_REF_003": "API_CLAIM_REF_001",
"API_CLAIM_REF_004": null
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/set_link_claims',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/set_link_claims',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/set_link_claims', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/set_link_claims', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/set_link_claims");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/set_link_claims", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/set_link_claims
Link Claims together into a group, or remove an existing link
The intention of this endpoint is to link claims together or break existing links.
Notes:
- The request body is a map where each key is the claimReference to be linked.
- The value is the claimReference of the target Claim to link it to, or null to remove an existing link.
- Linked Claims share a linkGroupId, which can be used in strategy and reporting contexts to treat grouped Claims together.
Body parameter
{
"API_CLAIM_REF_002": "API_CLAIM_REF_001",
"API_CLAIM_REF_003": "API_CLAIM_REF_001",
"API_CLAIM_REF_004": null
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | any | false | none |
| »» anonymous | body | string | false | none |
| »» anonymous | body | null | false | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Journey
A Journey (Strategy) is the automated collection workflow applied to a Claim. Journeys can be paused, resumed, or stopped. Stopping a Journey ends all processing on the Claim permanently. These endpoints are deprecated — use the strategy execution endpoints where available.
pauseJourneys
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/pause_journeys \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/pause_journeys HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"ref": "CLAIM_REF_002"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/pause_journeys',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/pause_journeys',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/pause_journeys', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/pause_journeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/pause_journeys");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/pause_journeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/pause_journeys
(DEPRECATED) Pause the collection Journey for one or more Claims
Body parameter
[
{
"ref": "CLAIM_REF_002"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[object] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
resumeJourneys
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/resume_journeys \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/resume_journeys HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"ref": "CLAIM_REF_002"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/resume_journeys',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/resume_journeys',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/resume_journeys', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/resume_journeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/resume_journeys");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/resume_journeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/resume_journeys
(DEPRECATED) Resume a previously paused collection Journey
Body parameter
[
{
"ref": "CLAIM_REF_002"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[object] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
stopJourneys
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/stop_journeys \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/stop_journeys HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"ref": "CLAIM_REF_002",
"reason": "CLAIM_PAID",
"description": "Direct bank transfer received"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/stop_journeys',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/stop_journeys',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/stop_journeys', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/stop_journeys', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/stop_journeys");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/stop_journeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/stop_journeys
(DEPRECATED) Permanently stop the collection Journey for one or more Claims
Body parameter
[
{
"ref": "CLAIM_REF_002",
"reason": "CLAIM_PAID",
"description": "Direct bank transfer received"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | array[object] | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
LandingPage
The Landing Page is a hosted page presented to the Debtor to view and pay their Claims. Use the get_landing_page_url endpoint to retrieve a time-limited URL for a specific Claim that can be shared with the Debtor.
getLandingPageURL
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_landing_page_url?claimReference=CLAIM_REFERENCE_002 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_landing_page_url?claimReference=CLAIM_REFERENCE_002 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_landing_page_url?claimReference=CLAIM_REFERENCE_002',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_landing_page_url',
params: {
'claimReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_landing_page_url', params={
'claimReference': 'CLAIM_REFERENCE_002'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_landing_page_url', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_landing_page_url?claimReference=CLAIM_REFERENCE_002");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_landing_page_url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_landing_page_url
Generate a time-limited debtor self-service Landing Page URL for a Claim
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| claimReference | query | string | true | The unique reference identifying the Claim in your system |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"URL": "https://domain.com/c/btXXskwXX"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_landing_page_url is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 404 | Not Found | Not found | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » URL | string | true | none | URL of Landing Page |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 404
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Event
Events are records of things that happened in the Receeve platform, such as a Claim being created, an email being delivered, or a Promise to Pay being resolved. Use the get_events endpoint to retrieve events by type and date for reporting and reconciliation.
getEvents
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_events?eventType=event.claim.created&date=2019-05-28 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_events?eventType=event.claim.created&date=2019-05-28 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_events?eventType=event.claim.created&date=2019-05-28',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_events',
params: {
'eventType' => 'string',
'date' => 'string(date)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_events', params={
'eventType': 'event.claim.created', 'date': '2019-05-28'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_events', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_events?eventType=event.claim.created&date=2019-05-28");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_events
Retrieve platform events by type and date, paginated
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| eventType | query | string | true | type of event that happened in Receeve system |
| date | query | string(date) | true | date which to get the events for |
| limit | query | integer | false | amount of events per page, default is 1000 |
| page | query | integer | false | number of page to retrieve the events for, default is 1 |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"events": [
{
"messageId": "51a35d12-9145-4c97-8285-08156681e47",
"timestamp": "2020-04-17T08:14:29.863Z",
"details": {
"messageType": "event.claim.created.v1",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2020-01-15",
"amount": 2000,
"currency": "EUR",
"dueDate": "2019-06-28"
}
}
],
"limit": 1000,
"page": 1,
"numberOfPages": 2
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_events is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » events | [anyOf] | true | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ClaimCreatedEvent | false | none | none |
| »»» messageId | string | true | none | message identifier in Receeve system |
| »»» timestamp | string | true | none | UTC timestamp |
| »»» details | object | true | none | none |
| »»»» messageType | string | true | none | type of event that happened in Receeve system |
| »»»» claimRef | string | true | none | reference to the Claim in external(your) system |
| »»»» receeveClaimRef | string | true | none | reference to the Claim in Receeve system |
| »»»» amount | integer | true | none | Amount of the claim without fees in cents |
| »»»» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| »»»» dueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ClaimDebtPaymentProcessingEvent | false | none | none |
| »»» messageId | string | true | none | message identifier in Receeve system |
| »»» timestamp | string | true | none | UTC timestamp |
| »»» details | object | true | none | none |
| »»»» messageType | string | true | none | type of event that happened in Receeve system |
| »»»» claimRef | string | true | none | reference to the Claim in external(your) system |
| »»»» receeveClaimRef | string | true | none | reference to the Claim in Receeve system |
| »»»» providerName | string | true | none | Name of payment provider |
| »»»» amount | integer | true | none | Amount of the payment transaction in cents |
| »»»» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| »»»» trackingId | string | true | none | Tracking id from payment provider |
| »»»» paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » limit | integer | true | none | amount of events per current page |
| » page | integer | true | none | current page number |
| » numberOfPages | integer | true | none | amount of pages with limit that is given for that request |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Message
Messages are outbound communications (email, SMS, letter) sent to Debtors by the platform. Use get_communication_message_urls to list message URLs for a Claim, then use get_message to fetch the full .eml content of a specific email message.
getMessage
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_message?messageURL=%2FOperations%2Femail%2FMessage%2F3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_message?messageURL=%2FOperations%2Femail%2FMessage%2F3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml HTTP/1.1
Accept: text/plain
Authorization: Bearer <access_token>
const headers = {
'Accept':'text/plain',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_message?messageURL=%2FOperations%2Femail%2FMessage%2F3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_message',
params: {
'messageURL' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_message', params={
'messageURL': '/Operations/email/Message/3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_message', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_message?messageURL=%2FOperations%2Femail%2FMessage%2F3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml");
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{"text/plain"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_message", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_message
Fetch the full .eml content of an outbound email message
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| messageURL | query | string | true | URL of the message |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
"Content-Type: text/plain; charset=utf-8 Message-ID: <f533311e-9dd6-5209-2969-1ad8d3e64636@169.169.169.93> Content-Transfer-Encoding: quoted-printable Date: Thu, 12 Mar 2020 14:19:04 +0000 MIME-Version: 1.0\nSMS Text =E2=82=AC20.42"
400 Response
{
"error": "string",
"message": "Missing required request parameters: [Authorization]"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_message is successful | string |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
getCommunicationMessageURLs
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_communication_message_urls?claimReference=CLAIM_REFERENCE_002 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_communication_message_urls?claimReference=CLAIM_REFERENCE_002 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_communication_message_urls?claimReference=CLAIM_REFERENCE_002',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_communication_message_urls',
params: {
'claimReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_communication_message_urls', params={
'claimReference': 'CLAIM_REFERENCE_002'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_communication_message_urls', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_communication_message_urls?claimReference=CLAIM_REFERENCE_002");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_communication_message_urls", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_communication_message_urls
List outbound message URLs for a Claim, filterable by communication type
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| claimReference | query | string | true | The unique reference identifying the Claim in your system |
| communicationType | query | string | false | type of communication that happened in Receeve system. Leave it unspecified to get message URLs related to all communication types. |
| startDate | query | string(date) | false | date from which to start getting the events |
| limit | query | integer | false | amount of events per page, default is 1000 |
| page | query | integer | false | number of page to retrieve the events for, default is 1 |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Enumerated Values
| Parameter | Value |
|---|---|
| communicationType | |
| communicationType | letter |
| communicationType | SMS |
Example responses
200 Response
{
"communicationMessageURLs": [
{
"communicationType": "email",
"messageURL": "/Operations/email/Message/3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml",
"dateTime": 1621536535901,
"bundleId": "00000000-0000-0000-0000-000000000000",
"bundleName": "Default Email Template"
}
],
"limit": 1000,
"page": 1,
"numberOfPages": 2
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_communication_message_urls is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » communicationMessageURLs | [CommunicationMessageURL] | true | none | none |
| »» communicationType | string | true | none | type of communication that happened in Receeve system |
| »» messageURL | string | true | none | URL of the message |
| »» dateTime | integer | true | none | Timestamp when the communication event occured |
| »» bundleId | string(uuid) | true | none | template id of communication that happened in Receeve system |
| »» bundleName | string | true | none | template display name of communication that happened in Receeve system |
| » limit | integer | true | none | amount of events per current page |
| » page | integer | true | none | current page number |
| » numberOfPages | integer | true | none | amount of pages with limit that is given for that request |
Enumerated Values
| Property | Value |
|---|---|
| communicationType | |
| communicationType | letter |
| communicationType | SMS |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
PromiseToPay
A Promise to Pay (PTP) is a commitment made by a Debtor to pay an outstanding Claim by a specified date. These endpoints allow you to create, retrieve, update, and delete PTPs for a given Account.
createPromisesToPay
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/create_promises_to_pay \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/create_promises_to_pay HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"CLAIM_REF_002_1": {
"amount": 5000,
"currency": "EUR",
"dueDate": "2024-06-30"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/create_promises_to_pay',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/create_promises_to_pay',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/create_promises_to_pay', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/create_promises_to_pay', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/create_promises_to_pay");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/create_promises_to_pay", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/create_promises_to_pay
Create a Promise to Pay — a commitment to pay a minimum amount by a due date
Body parameter
{
"CLAIM_REF_002_1": {
"amount": 5000,
"currency": "EUR",
"dueDate": "2024-06-30"
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | PromiseToPay | false | A promise to pay is a commitment from a debtor to pay a certain amount at a certain date. |
| »» amount | body | Amount | true | Monetary value in cents (natural number) |
| »» currency | body | Currency | true | 3-digit currency code (ISO 4217) |
| »» dueDate | body | DueDate(date) | true | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"dueDate": "2019-06-28"
}
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"dueDate": "2019-06-28"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of creating a set of promises to pay | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | PromiseToPay | false | none | A promise to pay is a commitment from a debtor to pay a certain amount at a certain date. |
| »»»» amount | Amount | true | none | Monetary value in cents (natural number) |
| »»»» currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| »»»» dueDate | DueDate(date) | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
CustomTriggers
Custom Triggers allow you to fire bespoke events on a Claim to drive branching logic within a Collections Strategy. Use these endpoints to send trigger events that the strategy can act on.
executeCustomTriggers
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/execute_custom_triggers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/execute_custom_triggers HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"CLAIM_REF_002_1": "callDebtor",
"CLAIM_REF_002_2": {
"triggerName": "sendReminder",
"triggerContext": {
"loan_type": "House Loan",
"initial_instalment": 40000
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/execute_custom_triggers',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/execute_custom_triggers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/execute_custom_triggers', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/execute_custom_triggers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/execute_custom_triggers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/execute_custom_triggers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/execute_custom_triggers
Fire custom Reaction triggers on one or more Claims by name
Body parameter
{
"CLAIM_REF_002_1": "callDebtor",
"CLAIM_REF_002_2": {
"triggerName": "sendReminder",
"triggerContext": {
"loan_type": "House Loan",
"initial_instalment": 40000
}
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | object | true | none |
| » additionalProperties | body | any | false | none |
| »» anonymous | body | string | false | Custom Trigger Name |
| »» anonymous | body | object | false | ClaimReference as key and the Custom Trigger Name as the value |
| »»» triggerName | body | string | true | Custom Trigger Name |
| »»» triggerContext | body | object | false | key-value pairs to attach additional information to the trigger |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
AccountMandate
An Account Mandate is a payment method authorization (e.g. direct debit, card, or open-banking mandate) stored against an Account. These endpoints manage the lifecycle of mandates — creating, listing, and deleting them — across multiple payment providers (Trustly, Paylands, Ferratum, etc.).
createAccountMandates
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/create_account_mandates \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/create_account_mandates HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
]
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/create_account_mandates',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/create_account_mandates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/create_account_mandates', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/create_account_mandates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/create_account_mandates");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/create_account_mandates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/create_account_mandates
Register direct-debit or payment mandates on one or more Accounts
Registers one or more payment mandates on Accounts. A mandate authorises the platform to initiate recurring payments from the debtor via the specified payment provider.
Required fields: mandateId, accountReference, providerName, debtorReference, productReferences.
Provider-specific requirements:
- paylandsenBizum and paylandsenCards additionally require clientIpAddress (the debtor's IP address, needed by the Paylands provider).
- All other providers (trustly, split, ferratumCheckoutCreditCardV2) use the base fields only.
The mandateRepresentation field is optional and allows storing card or bank account details for display purposes (use MandateCardTypeRepresentation for cards, MandateAccountTypeRepresentation for bank accounts).
Body parameter
[
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
]
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | AccountMandateInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "ferratumCheckoutCreditCardV2",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "ferratumCheckoutCreditCardV2",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Response of creating a set of account mandates | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »»» success | boolean | true | none | Whether the action was accepted successfully |
| »»» messages | [string] | true | none | none |
| »»» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» data | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseAccountMandateInput | false | none | none |
| »»»»»» mandateId | string | true | none | mandate id (can be the mandate id of external system) |
| »»»»»» accountReference | AccountReference | true | none | Account reference in your system |
| »»»»»» providerName | string | true | none | Name of payment provider |
| »»»»»» debtorReference | DebtorReference | true | none | Your customer ID for this person or company |
| »»»»»» productReferences | [ProductReference] | true | none | Product References |
| »»»»»» mandateRepresentation | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | MandateAccountTypeRepresentation | false | none | none |
| »»»»»»»» holderName | string | false | none | none |
| »»»»»»»» bankName | string | true | none | none |
| »»»»»»»» accountNumber | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | MandateCardTypeRepresentation | false | none | none |
| »»»»»»»» cardIssuer | string | true | none | none |
| »»»»»»»» lastDigits | string | true | none | none |
| »»»»»»»» holderName | string | false | none | none |
| »»»»»»»» expiryMonth | string | false | none | none |
| »»»»»»»» expiryYear | string | false | none | none |
| »»»»»»»» bankName | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» providerName | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» providerName | string | true | none | none |
| »»»»»» clientIpAddress | string | true | none | The customer ip address is needed for Paylands mandate to work |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» providerName | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» providerName | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| providerName | ferratumCheckoutCreditCardV2 |
| providerName | paylandsenBizum |
| providerName | paylandsenCards |
| providerName | split |
| providerName | trustly |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
deleteAccountMandates
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/delete_account_mandates \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/delete_account_mandates HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '[
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/delete_account_mandates',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/delete_account_mandates',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/delete_account_mandates', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/delete_account_mandates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/delete_account_mandates");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/delete_account_mandates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/delete_account_mandates
Remove payment mandates from one or more Accounts
Body parameter
[
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| sequential | query | boolean | false | The request body items are executed one after another one |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | AccountMandateDeleteInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
getAccountMandates
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/get_account_mandates?accountReference=ACCOUNT_REFERENCE_002 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/get_account_mandates?accountReference=ACCOUNT_REFERENCE_002 HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/get_account_mandates?accountReference=ACCOUNT_REFERENCE_002',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/get_account_mandates',
params: {
'accountReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/get_account_mandates', params={
'accountReference': 'ACCOUNT_REFERENCE_002'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/get_account_mandates', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/get_account_mandates?accountReference=ACCOUNT_REFERENCE_002");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/get_account_mandates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/get_account_mandates
Retrieve all active payment mandates for an Account
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| accountReference | query | string | true | The unique reference identifying the Account in your system |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
[
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request for get_account_mandates is successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [AccountMandate] | false | none | none |
| » mandateId | string | true | none | mandate id (can be the mandate id of external system) |
| » accountReference | AccountReference | true | none | Account reference in your system |
| » providerName | string | true | none | Name of payment provider |
| » debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| » productReferences | [ProductReference] | false | none | Product References |
| » mandateRepresentation | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | MandateAccountTypeRepresentation | false | none | none |
| »»» holderName | string | false | none | none |
| »»» bankName | string | true | none | none |
| »»» accountNumber | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | MandateCardTypeRepresentation | false | none | none |
| »»» cardIssuer | string | true | none | none |
| »»» lastDigits | string | true | none | none |
| »»» holderName | string | false | none | none |
| »»» expiryMonth | string | false | none | none |
| »»» expiryYear | string | false | none | none |
| »»» bankName | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Files
The Files endpoints allow you to upload documents associated with an Account. Uploaded files are stored securely and can be referenced from other parts of the platform.
uploadFiles
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/upload_files \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/upload_files HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/upload_files',
{
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' => 'multipart/form-data',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/upload_files',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/upload_files', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/upload_files', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/upload_files");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/upload_files", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/upload_files
Upload a document file and associate it with an Account or Claim
Body parameter
{}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| body | body | object | true | none |
| » file | body | string(binary) | true | The file to upload |
| » accountId | body | string | true | The account identifier — corresponds to the accountReference used in all other endpoints. |
| » documentType | body | string | false | Type of the document as specified in the backoffice e.g 'CSV', 'Invoice' |
| » externalClaimRef | body | string | false | External claim reference |
| » productReference | body | string | false | Product reference |
| » anonymous | body | object | false | none |
| » anonymous | body | object | false | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"property1": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
},
"property2": {
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Request was successful | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
| »» success | boolean | true | none | Whether the action was accepted successfully |
| »» messages | [string] | true | none | none |
| »» messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Finance Instalments V2
Finance Instalments V2 endpoints manage instalment plans for Accounts. An instalment plan splits an outstanding balance into a series of scheduled payments. These endpoints cover the full lifecycle: creating, retrieving, updating, and cancelling instalment plans.
getInstalmentPlanDefinitions
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/instalment_plan_definitions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/instalment_plan_definitions HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/instalment_plan_definitions',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/instalment_plan_definitions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/instalment_plan_definitions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/instalment_plan_definitions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/instalment_plan_definitions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/instalment_plan_definitions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/instalment_plan_definitions
List available instalment plan templates configured for the client
Retrieve available instalment plan templates for the client. This endpoint returns a list of instalment plan definitions that can be used to create payment plans for debtors.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| limit | query | integer | false | Maximum number of results to return |
| paginationId | query | string | false | Pagination token for retrieving the next page of results |
| filters | query | string | false | JSON string of filters to apply (e.g., {"enabled":true,"types":["CHOICE"]}) |
| fields | query | string | false | Comma-separated list of fields to retrieve (e.g., "id,type,description") |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"results": [
{
"id": "string",
"type": "string",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"configuration": [
{}
],
"rules": [
{}
],
"context": {},
"computedAt": "2026-03-24T16:45:06Z"
}
],
"paginationId": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully retrieved instalment plan definitions with pagination support | GetInstalmentPlanDefinitions |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
computeInstalmentPlanDefinition
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/compute_instalment_plan_definition \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/compute_instalment_plan_definition HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"instalmentPlanDefinitionId": "string",
"accountReference": "string",
"externalClaimReferences": [
"string"
],
"formData": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/compute_instalment_plan_definition',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/compute_instalment_plan_definition',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/compute_instalment_plan_definition', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/compute_instalment_plan_definition', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/compute_instalment_plan_definition");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/compute_instalment_plan_definition", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/compute_instalment_plan_definition
Dynamically compute an instalment plan definition for specific Claims
Dynamic wizard for generating computed instalment plan definitions. Returns different types based on computation results (programmatic, choice, fixedAmounts, percentageAmounts, null).
Body parameter
{
"instalmentPlanDefinitionId": "string",
"accountReference": "string",
"externalClaimReferences": [
"string"
],
"formData": {}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | ComputeInstalmentPlanDefinitionInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"id": "string",
"type": "programmatic",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:06Z",
"rules": [
{}
],
"configuration": [
{}
],
"context": {},
"accountId": "string",
"clientId": "string",
"correlationId": "string",
"parentInstalmentPlanId": "string",
"TTL": 0
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully computed instalment plan definition (polymorphic response based on computation type) | ComputeInstalmentPlanDefinitions |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
createInstalmentPlan
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/create_instalment_plan \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/create_instalment_plan HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"instalmentPlanDefinitionId": "string",
"accountReference": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/create_instalment_plan',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/create_instalment_plan',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/create_instalment_plan', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/create_instalment_plan', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/create_instalment_plan");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/create_instalment_plan", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/create_instalment_plan
Create an executable instalment payment plan from a computed definition
Generate actual instalment plans from computed definitions. This endpoint creates an executable payment plan based on a computed definition.
Body parameter
{
"instalmentPlanDefinitionId": "string",
"accountReference": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | CreateInstalmentPlanInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z",
"statusCheckedAt": "2026-03-24T16:45:06Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z"
}
],
"metadata": {}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully created instalment plan | CreateInstalmentPlans |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
updateInstalmentPlan
Code samples
# You can also use wget
curl -X POST /v1/{clientId}/update_instalment_plan \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
POST /v1/{clientId}/update_instalment_plan HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <access_token>
const inputBody = '{
"instalmentPlanId": "string",
"instalmentPlan": {
"meta": {},
"currency": "EUR",
"status": "ACTIVE",
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z"
}
],
"transactions": [
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z",
"type": "payment"
}
]
},
"context": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/update_instalment_plan',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.post '/v1/{clientId}/update_instalment_plan',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('/v1/{clientId}/update_instalment_plan', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/{clientId}/update_instalment_plan', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/update_instalment_plan");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/{clientId}/update_instalment_plan", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/{clientId}/update_instalment_plan
Modify an existing instalment plan's parameters (e.g. currency, metadata)
Modify existing instalment plans with updated parameters. This endpoint allows updating various aspects of an existing instalment plan.
Body parameter
{
"instalmentPlanId": "string",
"instalmentPlan": {
"meta": {},
"currency": "EUR",
"status": "ACTIVE",
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z"
}
],
"transactions": [
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z",
"type": "payment"
}
]
},
"context": {}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| async | query | boolean | false | The request is added to the queue without expecting the response |
| body | body | UpdateInstalmentPlanInput | true | none |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"success": true,
"message": "Instalment plan updated successfully"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully updated instalment plan | Inline |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » success | boolean | false | none | none |
| » message | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
getInstalmentPlans
Code samples
# You can also use wget
curl -X GET /v1/{clientId}/instalment_plans?accountReference=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Authorization: Bearer <access_token>'
GET /v1/{clientId}/instalment_plans?accountReference=string HTTP/1.1
Accept: application/json
Authorization: Bearer <access_token>
const headers = {
'Accept':'application/json',
'Authorization':'Bearer <access_token>',
'Authorization':'Bearer <access_token>'
};
fetch('/v1/{clientId}/instalment_plans?accountReference=string',
{
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',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>'
}
result = RestClient.get '/v1/{clientId}/instalment_plans',
params: {
'accountReference' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('/v1/{clientId}/instalment_plans', params={
'accountReference': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <access_token>',
'Authorization' => 'Bearer <access_token>',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/{clientId}/instalment_plans', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/{clientId}/instalment_plans?accountReference=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer <access_token>"},
"Authorization": []string{"Bearer <access_token>"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/{clientId}/instalment_plans", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/{clientId}/instalment_plans
Retrieve instalment plans for an Account, with filtering and pagination
Retrieve instalment plans for a specific client and account. Supports filtering by status, specific plan IDs, field selection, and pagination.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| clientId | path | string(uuid) | true | A receeve system identifier that will be assigned automatically. |
| Authorization | header | string | true | Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds. |
| triggerName | query | string | false | This is name of Custom Trigger that should be triggered when this API is called. |
| accountReference | query | string | true | Account reference in the client's system |
| limit | query | integer | false | Maximum number of results to return |
| paginationId | query | string | false | Pagination token for retrieving the next page of results |
| filters | query | string | false | JSON string of filters to apply (e.g., {"status":["CREATED"],"id":["uuid1","uuid2"]}) |
| fields | query | string | false | Comma-separated list of fields to retrieve (e.g., "id,status,accountId") |
Detailed descriptions
clientId: A receeve system identifier that will be assigned automatically. It will be used for situations like Support related interventions or data segmentation.
Authorization: Bearer token obtained from the POST /v1/oauth2/token endpoint. Pass it as Bearer <access_token>. Tokens expire after 3600 seconds.
Example responses
200 Response
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"results": [
{
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z",
"statusCheckedAt": "2026-03-24T16:45:06Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:06Z",
"updatedAt": "2026-03-24T16:45:06Z"
}
],
"metadata": {}
}
],
"paginationId": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully retrieved instalment plans with pagination support | GetInstalmentPlans |
| 400 | Bad Request | Incorrectly formed request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Access is denied | Inline |
| 429 | Too Many Requests | Request was throttled | Inline |
| 500 | Internal Server Error | Internal error occured | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 429
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
| » message | string | false | none | none |
Schemas
AccountReference
"ACCOUNT_REFERENCE_002"
Account reference in your system
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Account reference in your system |
PaymentReference
"paymentReference1"
Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
ClaimResolutionReason
"CLAIM_PAID"
The reason for the claim resolution.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | The reason for the claim resolution. |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CLAIM_SOLD |
| anonymous | CLAIM_PAID |
| anonymous | FRAUDULENT |
| anonymous | CLAIM_DISCARDED |
| anonymous | CLAIM_DISCHARGED |
| anonymous | CLAIM_INVALIDATED |
PortfolioReference
"EXTERNAL_PORTFOLIO_REFERENCE_002"
An optional grouping field for reporting and filtering purposes.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | An optional grouping field for reporting and filtering purposes. |
ProductReference
"PRODUCT_REFERENCE_1"
Identifier for a product in your system. It is used for grouping purposes.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Identifier for a product in your system. It is used for grouping purposes. |
DebtorReference
"EXTERNAL_DEBTOR_REF_002"
Your customer ID for this person or company
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Your customer ID for this person or company |
Currency
"EUR"
3-digit currency code (ISO 4217)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | 3-digit currency code (ISO 4217) |
Amount
13025
Monetary value in cents (natural number)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Monetary value in cents (natural number) |
RelativeAmount
-13025
Monetary value in cents (positive or negative number)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Monetary value in cents (positive or negative number) |
DueDate
"2019-06-28"
Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
OriginalDueDate
"2019-06-28"
Original due date in your system. This is the day when it went past due. DPD 0.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string(date) | false | none | Original due date in your system. This is the day when it went past due. DPD 0. |
Metadata
{
"sourceSystem": "system1"
}
Additional information related to the entity.
Properties
None
LedgerEntryReference
"INVOICE_LEDGER_ENTRY_REFERENCE_002"
Reference of the Ledger Entry (unique per Account)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Reference of the Ledger Entry (unique per Account) |
LedgerEntryCreatedAt
1621536535901
Timestamp when the ledger entry was created in milliseconds
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
EntityWithAccountReference
{
"accountReference": "ACCOUNT_REFERENCE_002"
}
Schema definition used in composition with other Entities, that have a reference to an Account
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountReference | AccountReference | true | none | Account reference in your system |
Fee
{
"name": "Interest",
"amount": 13025
}
Additional expected payment amount.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | Name of the fee. |
| amount | Amount | true | none | Monetary value in cents (natural number) |
Account
{
"currency": "EUR",
"paymentReference": "paymentReference1",
"meta": {
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME_1",
"debtorReference": "EXTERNAL_DEBTOR_REF_001",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
A formal business arrangement providing for regular dealings or services (such as banking, advertising, or store credit) and involving the establishment and maintenance of an Account.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| meta | Metadata | false | none | Additional information related to the entity. |
| paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| scores | [AccountScore] | false | none | List of provided scores related with the Account. |
| debtors | [Debtor] | false | none | List of debtors related with the Account. |
| products | [Product] | false | none | List of products related with the Account. |
| ledgerEntries | [LedgerEntry] | false | none | Ledger used to create Managed Claims. |
Debtor
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseDebtor | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » contactInformation | ContactInformation | true | none | Contact information of the debtor, used for communication purposes. |
ContactInformation
{
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
Contact information of the debtor, used for communication purposes.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseContactInformation | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
BaseContactInformation
{
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| country | string | false | none | 2-digit country code (ISO 3166-1). This is required for the localization and payment providers. |
| city | string | false | none | City |
| mobileNumber | string | false | none | Mobile number in E.164 format (e.g. +49555555555) |
| postalCode | string | false | none | Postal Code |
| houseNumber | string | false | none | House number as part of the address |
| addressLine1 | string | false | none | Address Line 1 |
| addressLine2 | string | false | none | Address Line 2 |
| addressLine3 | string | false | none | Address Line 3 |
| landLine | string | false | none | Landline number in E.164 format (e.g. +49555555555) |
| state | string | false | none | State |
| string | false | none | Email Address | |
| additionalContactInformation | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| string | true | none | Email Address |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» mobileNumber | string | true | none | Mobile number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» landLine | string | true | none | Landline number in E.164 format (e.g. +49555555555) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
| »» workPhoneNumber | string | true | none | Work phone number in E.164 format (e.g. +49555555555) |
BaseDebtor
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| birthday | string(date) | false | none | Birthday of the debtor |
| gender | string | false | none | Gender of the debtor |
| firstName | string | false | none | First name of the debtor (required if type is 'natural') |
| lastName | string | false | none | Last name of the debtor (required if type is 'natural') |
| middleName | string | false | none | Middle name of the debtor |
| title | string | false | none | Title of the debtor |
| companyName | string | false | none | Company Name of the debtor (required if type is 'legal') |
| debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| SSN | string | false | none | National Identification Number of the debtor |
| type | string | false | none | Type of the debtor (default: natural) |
| contactInformation | BaseContactInformation | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | natural |
| type | legal |
Product
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
}
A product is a service or item used to give context to the Claim or Ledger Entry
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| productReference | ProductReference | true | none | Identifier for a product in your system. It is used for grouping purposes. |
| paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| type | string | false | none | Type of product |
| name | string | false | none | Product name |
| code | string | false | none | Product code |
| meta | Metadata | false | none | Additional information related to the entity. |
BaseClaim
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | Amount | false | none | Monetary value in cents (natural number) |
| currency | Currency | false | none | 3-digit currency code (ISO 4217) |
| product | Product | false | none | A product is a service or item used to give context to the Claim or Ledger Entry |
| portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| creditorReference | string | false | none | Reference of the person/company to whom money is owed |
| totalFees | Amount | false | none | Monetary value in cents (natural number) |
| currentDueDate | DueDate | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| originalDueDate | OriginalDueDate | false | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| scores | [ClaimScore] | false | none | List of scores |
| reason | string | false | none | Reason for updating a claim (the reason must not be part of the Entity) |
| paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| accountNumber | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | AccountReference | false | none | Account reference in your system |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | number | false | none | Account number in your system (DEPRECATED, use accountReference) |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountReference | AccountReference | false | none | Account reference in your system |
| meta | Metadata | false | none | Additional information related to the entity. |
| fees | [Fee] | false | none | List of fees. If neither fees nor totalFees are provided - we treat totalFees as 0. Using this field overwrites the totalFees value if you provided it as well. |
| linkGroupId | any | false | none | Group id to link claims together |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string(uuid) | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| primaryDebtor | BaseDebtor | false | none | none |
Claim
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » primaryDebtor | Debtor | true | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
ClaimScore
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
An Claim Score is a score that is calculated for a specific claim.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | true | none | Type of score |
| value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| meta | Metadata | false | none | Additional information related to the entity. |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
AccountScore
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
An account score is a score that is calculated for a specific account. It can be used to determine the risk of a debtor or any other information that is relevant for the account.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | true | none | Type of score |
| value | any | true | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none | The score's value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | composed value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none | No value |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| meta | Metadata | false | none | Additional information related to the entity. |
Enumerated Values
| Property | Value |
|---|---|
| type | INTERNAL |
| type | EXTERNAL |
| type | COLLECTION |
| type | BEHAVIORAL |
LedgerEntry
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
A Ledger Entry is a record of a transaction in the Ledger.
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | FeeLedgerEntry | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | InvoiceLedgerEntry | false | none | An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PaymentLedgerEntry | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AdjustmentLedgerEntry | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ChargebackLedgerEntry | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | DiscountLedgerEntry | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ReportingLedgerEntry | false | none | none |
InvoiceLedgerEntry
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002",
"invoiceDetails": {
"amount": 13025,
"createdAt": 1621536535901,
"dueDate": "2019-06-28",
"paymentReference": "paymentReference1",
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"externalDebtorReference": "EXTERNAL_DEBTOR_REF_002"
}
}
An Invoice Ledger Entry is a type of Ledger Entry that represents a claim in the system.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | LedgerEntryReference | true | none | Reference of the Ledger Entry (unique per Account) |
| invoiceDetails | object | true | none | none |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » createdAt | LedgerEntryCreatedAt | false | none | Timestamp when the ledger entry was created in milliseconds |
| » dueDate | DueDate | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| » paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the Ledger Entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » externalDebtorReference | DebtorReference | false | none | Your customer ID for this person or company |
FeeLedgerEntry
{
"ledgerEntryReference": "string",
"feeDetails": {
"type": "COLLECTION_FEE",
"amount": 13025,
"createdAt": 1621536535901,
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"ledgerEntryReference": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Fee Ledger Entry |
| feeDetails | object | true | none | none |
| » type | string | false | none | Type of fee |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » ledgerEntryReference | string | false | none | Relationship of the fee with another ledger entry |
PaymentLedgerEntry
{
"ledgerEntryReference": "string",
"paymentDetails": {
"amount": 13025,
"paymentReference": "paymentReference1",
"createdAt": 1621536535901,
"paymentProvider": "string",
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"ledgerEntryReference": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Payment Ledger Entry |
| paymentDetails | object | true | none | none |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » paymentProvider | string | false | none | Name of the provider used for the transaction |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
ChargebackLedgerEntry
{
"ledgerEntryReference": "string",
"chargebackDetails": {
"amount": 13025,
"createdAt": 1621536535901,
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"ledgerEntryReference": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Chargeback Ledger Entry |
| chargebackDetails | object | true | none | none |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » ledgerEntryReference | string | true | none | Defines the target of the chargeback ledger entry |
DiscountLedgerEntry
{
"ledgerEntryReference": "string",
"discountDetails": {
"amount": 13025,
"createdAt": 1621536535901,
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"ledgerEntryReference": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Discount Ledger Entry |
| discountDetails | object | true | none | none |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » ledgerEntryReference | string | true | none | Defines the target of the discount ledger entry |
AdjustmentLedgerEntry
{
"ledgerEntryReference": "string",
"adjustmentDetails": {
"reason": "INVALID",
"amount": -13025,
"dueDate": "2019-06-28",
"createdAt": 1621536535901,
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"ledgerEntryReference": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Adjustment Ledger Entry |
| adjustmentDetails | object | true | none | none |
| » reason | string | false | none | Reason for the adjustment |
| » amount | RelativeAmount | true | none | Monetary value in cents (positive or negative number) |
| » dueDate | DueDate | false | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » ledgerEntryReference | string | false | none | Defines the target of the payment ledger entry |
ReportingLedgerEntry
{
"ledgerEntryReference": "string",
"reportingDetails": {
"amount": 13025,
"createdAt": 1621536535901,
"meta": {
"sourceSystem": "system1"
}
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ledgerEntryReference | string | true | none | Reference of the Reporting Ledger Entry |
| reportingDetails | object | true | none | none |
| » amount | Amount | true | none | Monetary value in cents (natural number) |
| » createdAt | integer | false | none | Timestamp when the ledger entry was created in milliseconds |
| » meta | Metadata | false | none | Additional information related to the entity. |
| context | object | true | none | Describes the specific context of the entry |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
PromiseToPay
{
"amount": 13025,
"currency": "EUR",
"dueDate": "2019-06-28"
}
A promise to pay is a commitment from a debtor to pay a certain amount at a certain date.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | Amount | true | none | Monetary value in cents (natural number) |
| currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| dueDate | DueDate | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
AccountMandate
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| mandateId | string | true | none | mandate id (can be the mandate id of external system) |
| accountReference | AccountReference | true | none | Account reference in your system |
| providerName | string | true | none | Name of payment provider |
| debtorReference | DebtorReference | false | none | Your customer ID for this person or company |
| productReferences | [ProductReference] | false | none | Product References |
| mandateRepresentation | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | MandateAccountTypeRepresentation | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | MandateCardTypeRepresentation | false | none | none |
MandateCardTypeRepresentation
{
"cardIssuer": "VISA",
"lastDigits": "1404",
"holderName": "string",
"expiryMonth": 5,
"expiryYear": 2023,
"bankName": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| cardIssuer | string | true | none | none |
| lastDigits | string | true | none | none |
| holderName | string | false | none | none |
| expiryMonth | string | false | none | none |
| expiryYear | string | false | none | none |
| bankName | string | false | none | none |
MandateAccountTypeRepresentation
{
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| holderName | string | false | none | none |
| bankName | string | true | none | none |
| accountNumber | string | true | none | none |
CreateAccountInput
{
"currency": "EUR",
"paymentReference": "paymentReference1",
"meta": {
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME_1",
"debtorReference": "EXTERNAL_DEBTOR_REF_001",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
Input for create_account endpoint.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Account | false | none | A formal business arrangement providing for regular dealings or services (such as banking, advertising, or store credit) and involving the establishment and maintenance of an Account. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » currency | Currency | true | none | 3-digit currency code (ISO 4217) |
UpdateClaimOptions
{
"options": {
"forceAmountCheck": false
}
}
Additional modifiers when updating claims
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| options | object | false | none | none |
| » forceAmountCheck | boolean | false | none | When true, forces re-evaluation of the Claim status after an amount update (e.g. to auto-resolve a Claim whose amount has been set to zero). |
CreateClaimInput
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
Input for create_claims endpoint.
Properties
None
UpdateClaimInput
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
},
"options": {
"forceAmountCheck": false
}
}
Input for update_claims endpoint.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | UpdateClaimOptions | false | none | Additional modifiers when updating claims |
ImportClaimInput
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
},
"options": {
"forceAmountCheck": false
}
}
Input for import_claims endpoint (upsert — create or update).
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ClaimInput | false | none | Used when creating or importing claims |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | UpdateClaimOptions | false | none | Additional modifiers when updating claims |
ClaimInput
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
Used when creating or importing claims
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseClaim | false | none | A claim is an outstanding payment that is owed. You can always update this balance if multiple payments are missed and you want to aggregate the amounts. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » originalDueDate | OriginalDueDate | true | none | Original due date in your system. This is the day when it went past due. DPD 0. |
| » currentDueDate | DueDate | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | any | false | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | The accountReference is optional, but primaryDebtor and currency are required |
| »» primaryDebtor | Debtor | true | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | The primaryDebtor and the currency of the Account is used if not specified in the Claim |
UpdateAccountLedgerEntriesAmountsInput
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "string",
"amount": 13025,
"reason": "PAYMENT",
"meta": {
"sourceSystem": "system1"
}
}
]
}
Input for update_account_ledger_entries_amounts endpoint.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountReference | AccountReference | true | none | Account reference in your system |
| ledgerEntries | [object] | true | none | none |
| » ledgerEntryReference | string | true | none | Reference of the Ledger Entry (Invoice or Fee) |
| » amount | integer | true | none | Amount in cents |
| » reason | string | true | none | Reason for the amount update. Special values: PAYMENT creates a Payment Ledger Entry; CHARGEBACK creates a Chargeback Ledger Entry. Any other string (e.g. INVALID, WRITE_OFF) creates an Adjustment Ledger Entry. |
| » meta | Metadata | true | none | Additional information related to the entity. |
MatchAccountPaymentInput
{
"providerName": "trustly",
"trackingId": 3889445415,
"totalAmount": 13025,
"currency": "EUR",
"paymentReference": "paymentReference1",
"meta": {},
"context": {
"productReference": "PRODUCT_REFERENCE_1",
"feeLedgerEntriesOrder": [
"string"
]
},
"matchStrategy": "ORDERED_LEDGER_ENTRIES"
}
Input for match_account_payment endpoint.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| providerName | string | false | none | Name of payment provider |
| trackingId | string | false | none | This is the orderID or other identifier from the payment provider |
| totalAmount | Amount | true | none | Monetary value in cents (natural number) |
| currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| meta | object | false | none | Additional information related to the transaction |
| context | object | false | none | Context used to do the matching of the payment |
| » productReference | ProductReference | false | none | Identifier for a product in your system. It is used for grouping purposes. |
| » feeLedgerEntriesOrder | [string] | false | none | Order of fee ledger entry types used for the payment priority (only for CUSTOM_ORDERED_FEES, ignored otherwise) |
| matchStrategy | string | true | none | Strategy used to distribute the payment amount across Claims. - ORDERED_LEDGER_ENTRIES — applies the payment to ledger entries in chronological order.- ORDERED_INVOICES_WITH_FEES_THEN_ACCOUNT_ENTRIES — pays invoices and their associated fees first, then applies any remainder to account-level entries.- ACCOUNT_ENTRIES_THEN_ORDERED_INVOICES_WITH_FEES — pays account-level entries first, then invoices and fees.- CUSTOM_ORDERED_FEES — applies fees in the order specified in context.feeLedgerEntriesOrder; requires that field to be set. |
Enumerated Values
| Property | Value |
|---|---|
| matchStrategy | ORDERED_LEDGER_ENTRIES |
| matchStrategy | ORDERED_INVOICES_WITH_FEES_THEN_ACCOUNT_ENTRIES |
| matchStrategy | ACCOUNT_ENTRIES_THEN_ORDERED_INVOICES_WITH_FEES |
| matchStrategy | CUSTOM_ORDERED_FEES |
AccountMandateDeleteInput
{
"accountReference": "ACCOUNT_REFERENCE_002",
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34"
}
Input for delete_account_mandates endpoint.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountReference | AccountReference | true | none | Account reference in your system |
| mandateId | string | true | none | mandate id (can be the mandate id of external system) |
BaseAccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| mandateId | string | true | none | mandate id (can be the mandate id of external system) |
| accountReference | AccountReference | true | none | Account reference in your system |
| providerName | string | true | none | Name of payment provider |
| debtorReference | DebtorReference | true | none | Your customer ID for this person or company |
| productReferences | [ProductReference] | true | none | Product References |
| mandateRepresentation | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | MandateAccountTypeRepresentation | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | MandateCardTypeRepresentation | false | none | none |
PaylandsAccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "paylandsenBizum",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
},
"clientIpAddress": "string"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » providerName | string | true | none | none |
| » clientIpAddress | string | true | none | The customer ip address is needed for Paylands mandate to work |
Enumerated Values
| Property | Value |
|---|---|
| providerName | paylandsenBizum |
| providerName | paylandsenCards |
SplitAccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "split",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » providerName | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| providerName | split |
TrustlyAccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "trustly",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » providerName | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| providerName | trustly |
FerratumV2AccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "ferratumCheckoutCreditCardV2",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseAccountMandateInput | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » providerName | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| providerName | ferratumCheckoutCreditCardV2 |
AccountMandateInput
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "ferratumCheckoutCreditCardV2",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
Properties
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | FerratumV2AccountMandateInput | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PaylandsAccountMandateInput | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | SplitAccountMandateInput | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | TrustlyAccountMandateInput | false | none | none |
ActionResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
]
}
Response of any action that causes any side effect in the platform (e.g. create, update, delete)
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| success | boolean | true | none | Whether the action was accepted successfully |
| messages | [string] | true | none | none |
| messageIds | [string] | true | none | Identifier of the messages (used for tracing) |
DataResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002"
}
]
}
Response of any action that returns data
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Debtor | false | none | The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Product | false | none | A product is a service or item used to give context to the Claim or Ledger Entry |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | LedgerEntry | false | none | A Ledger Entry is a record of a transaction in the Ledger. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | AccountScore | false | none | An account score is a score that is calculated for a specific account. It can be used to determine the risk of a debtor or any other information that is relevant for the account. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | AccountMandateInput | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | UpdateAccountLedgerEntriesAmountsInput | false | none | Input for update_account_ledger_entries_amounts endpoint. |
DebtorResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
]
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [Debtor] | false | none | [The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. ] |
AccountMetaResponse
{
"data": {
"updateAccountMeta002": "updateAccountMetaValue002"
},
"success": true,
"messageIds": [
"55d2c314-a91e-4f9c-b80e-5ba524777ae1"
],
"messages": [
"Successfully updated Account meta ACCOUNT_REFERENCE_002"
]
}
Response of the update_account_meta endpoint.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | Metadata | false | none | Additional information related to the entity. |
CreateClaims
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | ClaimInput | false | none | Used when creating or importing claims |
RecreateClaims
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | ClaimInput | false | none | Used when creating or importing claims |
CreatePromisesToPay
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"currency": "EUR",
"dueDate": "2019-06-28"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | PromiseToPay | false | none | A promise to pay is a commitment from a debtor to pay a certain amount at a certain date. |
CreateAccountMandates
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"mandateId": "d34b443e-968e-4647-80ec-292ee38c8b34",
"accountReference": "ACCOUNT_REFERENCE_002",
"providerName": "ferratumCheckoutCreditCardV2",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"productReferences": [
"PRODUCT_REFERENCE_1"
],
"mandateRepresentation": {
"holderName": "string",
"bankName": "string",
"accountNumber": "string"
}
}
]
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [AccountMandateInput] | false | none | none |
LedgerEntryResponse
{
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"context": {},
"invoiceDetails": {
"amount": 13025,
"dueDate": "2020-01-01",
"meta": {}
},
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
}
],
"messageIds": [
"cddddeb1-f352-46f3-a59d-0008a84e9bd5"
],
"messages": [
"Successfully added Ledger Entries: INVOICE_LEDGER_ENTRY_REFERENCE_002_2"
]
}
Response of any action that adds ledger entries to an account.
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [LedgerEntry] | false | none | [A Ledger Entry is a record of a transaction in the Ledger.] |
AccountScoreResponse
{
"messages": [
"Successfully set the score of EXTERNAL"
],
"success": true,
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"type": "EXTERNAL",
"value": "SCORE1",
"meta": {}
}
],
"messageIds": [
"0fdf533f-e453-4b64-9e4a-e1e2a2b81bf4"
]
}
Response of the set_account_score endpoint
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [AccountScore] | false | none | [An account score is a score that is calculated for a specific account. It can be used to determine the risk of a debtor or any other information that is relevant for the account.] |
CreateAccounts
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"currency": "EUR",
"paymentReference": "paymentReference1",
"meta": {
"invoiceExternalNumber": 111
},
"scores": [
{
"type": "INTERNAL",
"value": "V1"
}
],
"debtors": [
{
"lastName": "LAST_NAME_1",
"firstName": "FIRST_NAME_1",
"debtorReference": "EXTERNAL_DEBTOR_REF_001",
"contactInformation": {
"country": "DE",
"email": "first.last@acme.com"
}
}
],
"products": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_1"
},
{
"productReference": "PRODUCT_REFERENCE_2",
"paymentReference": "PRODUCT_PAYMENT_REFERENCE_2"
}
],
"ledgerEntries": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | Account | false | none | A formal business arrangement providing for regular dealings or services (such as banking, advertising, or store credit) and involving the establishment and maintenance of an Account. |
MatchAccountPayment
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"ledgerEntryReference": "INVOICE_LEDGER_ENTRY_REFERENCE_002_1",
"invoiceDetails": {
"amount": 100000,
"dueDate": "2022-01-08",
"paymentReference": "INVOICE_PAYMENT_REFERENCE_1"
},
"context": {
"productReference": "PRODUCT_REFERENCE_1"
}
}
]
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [LedgerEntry] | false | none | [A Ledger Entry is a record of a transaction in the Ledger.] |
AccountProductResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
}
]
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [Product] | false | none | [A product is a service or item used to give context to the Claim or Ledger Entry] |
ClaimResponse
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
},
"claimReference": "string",
"status": "ACTIVE"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Claim | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » claimReference | string | true | none | The current claim's reference |
| » status | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | ACTIVE |
| status | RESOLVED |
ClaimCreatedEvent
{
"messageId": "51a35d12-9145-4c97-8285-08156681e47",
"timestamp": "2020-04-17T08:14:29.863Z",
"details": {
"messageType": "event.claim.created.v1",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2020-01-15",
"amount": 2000,
"currency": "EUR",
"dueDate": "2019-06-28"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| messageId | string | true | none | message identifier in Receeve system |
| timestamp | string | true | none | UTC timestamp |
| details | object | true | none | none |
| » messageType | string | true | none | type of event that happened in Receeve system |
| » claimRef | string | true | none | reference to the Claim in external(your) system |
| » receeveClaimRef | string | true | none | reference to the Claim in Receeve system |
| » amount | integer | true | none | Amount of the claim without fees in cents |
| » currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| » dueDate | DueDate | true | none | Current due date in your system. Use originalDueDate unless you purchased the debt and need this distinction. |
ClaimDebtPaymentProcessingEvent
{
"messageId": "51a35d12-9145-4c97-8285-08156681e47",
"timestamp": "2020-04-17T08:14:29.863Z",
"details": {
"messageType": "event.claimDebtPayment.processing.v1",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2020-01-15",
"providerName": "Trustly",
"amount": 2000,
"currency": "EUR",
"trackingId": "TRACKINGID123",
"paymentReference": "paymentReference1"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| messageId | string | true | none | message identifier in Receeve system |
| timestamp | string | true | none | UTC timestamp |
| details | object | true | none | none |
| » messageType | string | true | none | type of event that happened in Receeve system |
| » claimRef | string | true | none | reference to the Claim in external(your) system |
| » receeveClaimRef | string | true | none | reference to the Claim in Receeve system |
| » providerName | string | true | none | Name of payment provider |
| » amount | integer | true | none | Amount of the payment transaction in cents |
| » currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| » trackingId | string | true | none | Tracking id from payment provider |
| » paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
UpdateAccountLedgerEntriesAmounts
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": [
{
"accountReference": "ACCOUNT_REFERENCE_002",
"ledgerEntries": [
{
"ledgerEntryReference": "string",
"amount": 13025,
"reason": "PAYMENT",
"meta": {
"sourceSystem": "system1"
}
}
]
}
]
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | [UpdateAccountLedgerEntriesAmountsInput] | false | none | [Input for update_account_ledger_entries_amounts endpoint.] |
CreditClaimActionResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"paymentDistributionPriority": "FEES_FIRST",
"date": 1647526514000,
"descriptionText": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | CreditClaimInput | false | none | none |
DebitClaimActionResponse
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | DebitClaimInput | false | none | none |
CreditClaimInput
{
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"paymentDistributionPriority": "FEES_FIRST",
"date": 1647526514000,
"descriptionText": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | Amount | true | none | Monetary value in cents (natural number) |
| fees | any | false | none | Optional fee credit. Omit to apply the full amount to the Claim balance. Provide fees to reduce specific fees; set amount to 0 to credit fees only. |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | number | false | none | Flat fee reduction in cents — subtracted directly from totalFees. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | [Fee] | false | none | Named fee reductions. Each entry matches by name and subtracts the given amount from that fee. Unmatched names are ignored. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| originator | string | true | none | Who initiated this credit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| paymentDistributionPriority | string | false | none | Controls how the credit amount is distributed when both principal and fees are outstanding. AMOUNT_FIRST reduces the principal balance first, then fees. FEES_FIRST reduces fees first, then the principal balance. |
| date | number | false | none | Timestamp of the credit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| descriptionText | string | false | none | Human-readable note explaining the reason for this credit. |
Enumerated Values
| Property | Value |
|---|---|
| originator | DCA |
| originator | CLIENT |
| paymentDistributionPriority | FEES_FIRST |
| paymentDistributionPriority | AMOUNT_FIRST |
DebitClaimInput
{
"amount": 13025,
"fees": 0,
"currency": "EUR",
"originator": "DCA",
"date": 1647526514000,
"descriptionText": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | Amount | true | none | Monetary value in cents (natural number) |
| fees | any | false | none | Optional fee debit. Omit to add amount to the Claim balance only. Provide fees to increase specific fees; set amount to 0 to debit fees only without changing the principal balance. |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | number | false | none | Flat fee addition in cents — added directly to totalFees. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | [Fee] | false | none | Named fee additions. Each entry matches by name and adds the given amount to that fee. If no fee with that name exists, a new fee entry is created. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| currency | Currency | true | none | 3-digit currency code (ISO 4217) |
| originator | string | true | none | Who initiated this debit. CLIENT — the creditor (your system). DCA — a Debt Collection Agency acting on behalf of the creditor. |
| date | number | true | none | Timestamp of the debit event in milliseconds since Unix epoch (e.g. Date.now() in JavaScript). |
| descriptionText | string | false | none | Human-readable note explaining the reason for this debit. |
Enumerated Values
| Property | Value |
|---|---|
| originator | DCA |
| originator | CLIENT |
CommunicationMessageURL
{
"communicationType": "email",
"messageURL": "/Operations/email/Message/3b97bd7a-1c07-44d4-b33f-2250f6419e95.eml",
"dateTime": 1621536535901,
"bundleId": "00000000-0000-0000-0000-000000000000",
"bundleName": "Default Email Template"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| communicationType | string | true | none | type of communication that happened in Receeve system |
| messageURL | string | true | none | URL of the message |
| dateTime | integer | true | none | Timestamp when the communication event occured |
| bundleId | string(uuid) | true | none | template id of communication that happened in Receeve system |
| bundleName | string | true | none | template display name of communication that happened in Receeve system |
Enumerated Values
| Property | Value |
|---|---|
| communicationType | |
| communicationType | letter |
| communicationType | SMS |
DebtorAccountsAndClaims
[
{
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"paymentReference": "paymentReference1",
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"currency": "EUR",
"claims": [
{
"amount": 13025,
"currency": "EUR",
"product": {
"productReference": "PRODUCT_REFERENCE_1",
"paymentReference": "paymentReference1",
"type": "Computer",
"name": "Macbook Pro",
"code": "111-22222-3333",
"meta": {
"sourceSystem": "system1"
}
},
"portfolioReference": "EXTERNAL_PORTFOLIO_REFERENCE_002",
"productReference": "PRODUCT_REFERENCE_1",
"creditorReference": "string",
"totalFees": 13025,
"currentDueDate": "2019-06-28",
"originalDueDate": "2019-06-28",
"scores": [
{
"type": "INTERNAL",
"value": "risky",
"meta": {
"sourceSystem": "system1"
}
}
],
"reason": "string",
"paymentReference": "paymentReference1",
"accountNumber": "string",
"accountReference": "ACCOUNT_REFERENCE_002",
"meta": {
"sourceSystem": "system1"
},
"fees": [
{
"name": "Interest",
"amount": 13025
}
],
"linkGroupId": null,
"primaryDebtor": {
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
}
],
"debtors": [
{
"birthday": "1980-06-28",
"gender": "M",
"firstName": "John",
"lastName": "White",
"middleName": "Benedict",
"title": "Doctor",
"companyName": "Acme Brick Co.",
"debtorReference": "EXTERNAL_DEBTOR_REF_002",
"SSN": "AAA-GG-SSSS",
"type": "natural",
"contactInformation": {
"country": "DE",
"city": "Delbrück",
"mobileNumber": "+495555555555",
"postalCode": 33129,
"houseNumber": "24A",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "first floor",
"landLine": "+495555555555",
"state": "Dortmund",
"email": "testEmail@example.com",
"additionalContactInformation": [
{
"email": "testEmail@example.com"
}
]
}
}
]
}
]
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » accountReference | AccountReference | true | none | Account reference in your system |
| » meta | Metadata | false | none | Additional information related to the entity. |
| » paymentReference | PaymentReference | false | none | Payment reference used in online transactions. It is a text reference that can be used to map the money transactions to other external systems. |
| » portfolioReference | PortfolioReference | false | none | An optional grouping field for reporting and filtering purposes. |
| » currency | Currency | true | none | 3-digit currency code (ISO 4217) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » claims | [Claim] | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » debtors | [Debtor] | true | none | [The Debtor is the entity that owes the money. It can be a person (natural) or a company (legal). Notes: - If the debtor is a person (natural), then firstName and lastName are required. - If the debtor is a company (legal), then companyName is required. ] |
UploadFilesInput
{}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| file | string(binary) | true | none | The file to upload |
| accountId | string | true | none | The account id |
| documentType | string | false | none | Type of the document as specified in the backoffice e.g 'CSV', 'Invoice' |
| externalClaimRef | string | false | none | External claim reference |
| productReference | string | false | none | Product reference |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
InstalmentPlanDefinitionV2
{
"id": "string",
"type": "string",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"configuration": [
{}
],
"rules": [
{}
],
"context": {},
"computedAt": "2026-03-24T16:45:07Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the definition |
| type | string | true | none | The type of instalment plan definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected by users |
| description | object | true | none | Localized description of the definition |
| configuration | [object] | false | none | Configuration objects for the definition |
| rules | [object] | false | none | Business rules for the definition |
| context | object | false | none | Additional context data |
| computedAt | string(date-time) | false | none | When the definition was computed (for computed definitions) |
ComputedInstalmentPlanDefinitionProgrammaticV2
{
"id": "string",
"type": "programmatic",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z",
"rules": [
{}
],
"configuration": [
{}
],
"context": {},
"accountId": "string",
"clientId": "string",
"correlationId": "string",
"parentInstalmentPlanId": "string",
"TTL": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the computed definition |
| type | string | true | none | Indicates programmatic computed definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected |
| description | object | true | none | Localized description |
| computedAt | string(date-time) | true | none | When the definition was computed |
| rules | [object] | true | none | Programmatic rules to apply |
| configuration | [object] | true | none | Configuration for the programmatic logic |
| context | object | true | none | Computation context including claim references |
| accountId | string | false | none | Account identifier for the computed definition |
| clientId | string(uuid) | false | none | Client identifier for the computed definition |
| correlationId | string | false | none | Correlation ID linking to the original definition |
| parentInstalmentPlanId | string | false | none | Parent instalment plan definition ID |
| TTL | number | false | none | Time to live for the computed definition |
Enumerated Values
| Property | Value |
|---|---|
| type | programmatic |
ComputedInstalmentPlanDefinitionChoiceV2
{
"id": "string",
"type": "choice",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z",
"choices": [
{}
],
"defaultChoice": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the computed definition |
| type | string | true | none | Indicates choice computed definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected |
| description | object | true | none | Localized description |
| computedAt | string(date-time) | true | none | When the definition was computed |
| choices | [object] | true | none | Available choices for the user |
| defaultChoice | string | false | none | Default choice if none selected |
Enumerated Values
| Property | Value |
|---|---|
| type | choice |
ComputedInstalmentPlanDefinitionFixedAmountsV2
{
"id": "string",
"type": "fixedAmounts",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z",
"amounts": [
0
],
"currency": "string",
"final": true,
"accountId": "string",
"clientId": "string",
"correlationId": "string",
"parentInstalmentPlanId": "string",
"configuration": [
{}
],
"context": {},
"rules": [
{}
],
"TTL": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the computed definition |
| type | string | true | none | Indicates fixed amounts computed definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected |
| description | object | true | none | Localized description |
| computedAt | string(date-time) | true | none | When the definition was computed |
| amounts | [number] | true | none | Fixed payment amounts |
| currency | string | true | none | Currency code (ISO 4217) |
| final | boolean | false | none | Whether this is the final computed definition |
| accountId | string | true | none | Account identifier for the computed definition |
| clientId | string(uuid) | true | none | Client identifier for the computed definition |
| correlationId | string | true | none | Correlation ID linking to the original definition |
| parentInstalmentPlanId | string | true | none | Parent instalment plan definition ID |
| configuration | [object] | false | none | Computed configuration for the instalment plan |
| context | object | false | none | Computation context including claim references |
| rules | [object] | false | none | Business rules applied during computation |
| TTL | number | false | none | Time to live for the computed definition |
Enumerated Values
| Property | Value |
|---|---|
| type | fixedAmounts |
ComputedInstalmentPlanDefinitionPercentageAmountsV2
{
"id": "string",
"type": "percentageAmounts",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z",
"percentages": [
0
],
"currency": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the computed definition |
| type | string | true | none | Indicates percentage amounts computed definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected |
| description | object | true | none | Localized description |
| computedAt | string(date-time) | true | none | When the definition was computed |
| percentages | [number] | true | none | Percentage payment amounts |
| currency | string | true | none | Currency code (ISO 4217) |
Enumerated Values
| Property | Value |
|---|---|
| type | percentageAmounts |
ComputedInstalmentPlanDefinitionNullV2
{
"id": "string",
"type": "null",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the computed definition |
| type | string | true | none | Indicates null computed definition |
| version | string | true | none | Version of the definition |
| enabled | boolean | true | none | Whether the definition is enabled |
| selectable | boolean | true | none | Whether the definition can be selected |
| description | object | true | none | Localized description |
| computedAt | string(date-time) | true | none | When the definition was computed |
Enumerated Values
| Property | Value |
|---|---|
| type | null |
InstalmentPlanV2
{
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"statusCheckedAt": "2026-03-24T16:45:07Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"metadata": {}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the instalment plan |
| definitionId | string | true | none | Reference to the definition used to create this plan |
| status | string | true | none | Current status of the plan |
| createdAt | string(date-time) | true | none | When the plan was created |
| updatedAt | string(date-time) | false | none | When the plan was last updated |
| statusCheckedAt | string(date-time) | false | none | When the status was last checked and computed values updated |
| clientId | string | false | none | Client identifier associated with the plan |
| accountId | string | false | none | Account identifier associated with the plan |
| currency | string | false | none | Currency code (ISO 4217) |
| type | string | false | none | Type of the instalment plan (e.g., fixedAmounts, percentageAmounts) |
| totalAmount | number | false | none | Total amount of the instalment plan computed from instalments |
| paidAmount | number | false | none | Total amount paid for this instalment plan computed from transactions |
| externalClaimRef | string | false | none | External claim reference for this instalment plan |
| configuration | any | false | none | Configuration used to create this plan (object or array depending on plan type) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | [object] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | object | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| scope | object | false | none | Scope information for the instalment plan |
| » externalClaimReferences | [string] | false | none | List of external claim references |
| » externalClaimAmounts | [object] | false | none | Amounts and fees per external claim reference |
| »» amount | number | false | none | Amount in cents |
| »» totalFees | number | false | none | Sum of all fees in cents |
| »» fees | [object] | false | none | none |
| »»» name | string | false | none | Name of the fee |
| »»» amount | number | false | none | Amount of the fee in cents |
| rules | [object] | false | none | Business rules associated with this plan |
| » id | string | false | none | Rule identifier |
| » type | string | false | none | Type of rule |
| » description | object | false | none | Localized descriptions |
| » enabled | boolean | false | none | Whether the rule is enabled |
| » configuration | object | false | none | Rule configuration |
| instalments | [InstalmentV2] | true | none | List of instalments in the plan |
| metadata | object | false | none | Additional metadata for the plan |
Enumerated Values
| Property | Value |
|---|---|
| status | ACTIVE |
| status | RESOLVED |
| status | INVALIDATED |
| status | CANCELLED |
InstalmentV2
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | Unique identifier for the instalment |
| dueDate | string(date) | true | none | When the instalment is due |
| startDate | string(date) | false | none | When the instalment period starts |
| amount | number(float) | true | none | Amount due for this instalment |
| paidAmount | number(float) | false | none | Amount that has been paid for this instalment |
| currency | string | true | none | Currency code (ISO 4217) |
| status | string | true | none | Current status of the instalment |
| createdAt | string(date-time) | false | none | When the instalment was created |
| updatedAt | string(date-time) | false | none | When the instalment was last updated |
Enumerated Values
| Property | Value |
|---|---|
| status | CREATED |
| status | RESOLVED |
| status | INVALIDATED |
| status | STARTED |
| status | CANCELLED |
ComputeInstalmentPlanDefinitionInput
{
"instalmentPlanDefinitionId": "string",
"accountReference": "string",
"externalClaimReferences": [
"string"
],
"formData": {}
}
Input for computing instalment plan definition. Supports additional dynamic context properties.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| instalmentPlanDefinitionId | string | true | none | ID of the instalment plan definition to compute |
| accountReference | string | false | none | Account reference identifier |
| externalClaimReferences | [string] | false | none | External claim references to include in the computation |
| formData | object | false | none | Form data for iterative computation |
GetInstalmentPlansInput
{
"filters": {
"status": [
"ACTIVE"
],
"id": [
"string"
]
},
"fields": [
"id"
],
"limit": 2,
"paginationId": "string"
}
Input parameters for retrieving instalment plans
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| filters | object | false | none | Filters to apply when retrieving instalment plans |
| » status | [InstalmentPlanStatusV2] | false | none | Filter by instalment plan status |
| » id | [string] | false | none | Filter by specific instalment plan IDs |
| fields | [string] | false | none | Specific fields to retrieve from instalment plans |
| limit | integer | false | none | Maximum number of results to return |
| paginationId | string | false | none | Pagination token for retrieving the next page of results |
GetInstalmentPlans
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"results": [
{
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"statusCheckedAt": "2026-03-24T16:45:07Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"metadata": {}
}
],
"paginationId": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | PaginatedInstalmentPlans | false | none | none |
PaginatedInstalmentPlans
{
"results": [
{
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"statusCheckedAt": "2026-03-24T16:45:07Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"metadata": {}
}
],
"paginationId": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| results | [InstalmentPlanV2] | true | none | Array of instalment plans |
| paginationId | string | false | none | Token for retrieving the next page of results |
GetInstalmentPlanDefinitionsInput
{
"filters": {
"enabled": true,
"types": [
"CHOICE"
]
},
"fields": [
"id"
],
"limit": 2,
"paginationId": "string"
}
Input parameters for retrieving instalment plan definitions
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| filters | object | false | none | Filters to apply when retrieving instalment plan definitions (selectable is always set to true) |
| » enabled | boolean | false | none | Filter by whether the instalment plan definition is enabled |
| » types | [string] | false | none | Filter by instalment plan definition types |
| fields | [string] | false | none | Specific fields to retrieve from instalment plan definitions |
| limit | integer | false | none | Maximum number of results to return |
| paginationId | string | false | none | Pagination token for retrieving the next page of results |
GetInstalmentPlanDefinitions
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"results": [
{
"id": "string",
"type": "string",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"configuration": [
{}
],
"rules": [
{}
],
"context": {},
"computedAt": "2026-03-24T16:45:07Z"
}
],
"paginationId": "string"
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | PaginatedInstalmentPlanDefinitions | false | none | none |
PaginatedInstalmentPlanDefinitions
{
"results": [
{
"id": "string",
"type": "string",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"configuration": [
{}
],
"rules": [
{}
],
"context": {},
"computedAt": "2026-03-24T16:45:07Z"
}
],
"paginationId": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| results | [InstalmentPlanDefinitionV2] | true | none | Array of instalment plan definitions |
| paginationId | string | false | none | Token for retrieving the next page of results |
CreateInstalmentPlanInput
{
"instalmentPlanDefinitionId": "string",
"accountReference": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| instalmentPlanDefinitionId | string | true | none | ID of the computed instalment plan definition to create plan from |
| accountReference | string | false | none | Account reference identifier |
UpdateInstalmentPlanInput
{
"instalmentPlanId": "string",
"instalmentPlan": {
"meta": {},
"currency": "EUR",
"status": "ACTIVE",
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"transactions": [
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"type": "payment"
}
]
},
"context": {}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| instalmentPlanId | string(uuid) | true | none | ID of the instalment plan to update |
| instalmentPlan | InstalmentPlanBaseV2 | true | none | Base structure for an instalment plan |
| context | object | false | none | Additional context for plan update |
InstalmentPlanBaseV2
{
"meta": {},
"currency": "EUR",
"status": "ACTIVE",
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"transactions": [
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"type": "payment"
}
]
}
Base structure for an instalment plan
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| meta | object | false | none | Metadata of the instalment plan |
| currency | string | false | none | 3-digit currency code (ISO 4217) |
| status | InstalmentPlanStatusV2 | false | none | Status of the instalment plan |
| instalments | [InstalmentV2] | false | none | none |
| transactions | [InstalmentTransactionV2] | false | none | List of transactions associated with this instalment plan |
InstalmentPlanStatusV2
"ACTIVE"
Status of the instalment plan
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Status of the instalment plan |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ACTIVE |
| anonymous | RESOLVED |
| anonymous | INVALIDATED |
| anonymous | CANCELLED |
InstalmentTransactionV2
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"type": "payment"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | InstalmentTransactionBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | payment |
| type | chargeback |
InstalmentPaymentV2
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"type": "payment"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | InstalmentTransactionBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | payment |
InstalmentChargebackV2
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"type": "chargeback"
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | InstalmentTransactionBaseV2 | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | chargeback |
InstalmentTransactionBaseV2
{
"id": "string",
"amount": 0,
"context": {},
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | true | none | identifier of the Instalment Transaction entry |
| amount | number | true | none | amount of instalment transaction [cents], can be positive or negative |
| context | object | true | none | Additional context information for the instalment transaction |
| createdAt | string(date-time) | false | none | Date that the instalment transaction was created [COMPUTED] |
| updatedAt | string(date-time) | false | none | Last date that the instalment transaction was updated [COMPUTED] |
CreateInstalmentPlans
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"id": "string",
"definitionId": "string",
"status": "ACTIVE",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z",
"statusCheckedAt": "2026-03-24T16:45:07Z",
"clientId": "string",
"accountId": "string",
"currency": "string",
"type": "string",
"totalAmount": 0,
"paidAmount": 0,
"externalClaimRef": "string",
"configuration": [
{}
],
"scope": {
"externalClaimReferences": [
"string"
],
"externalClaimAmounts": [
{
"amount": 0,
"totalFees": 0,
"fees": [
{
"name": "string",
"amount": 0
}
]
}
]
},
"rules": [
{
"id": "string",
"type": "string",
"description": {},
"enabled": true,
"configuration": {}
}
],
"instalments": [
{
"id": "string",
"dueDate": "2026-03-24",
"startDate": "2026-03-24",
"amount": 0,
"paidAmount": 0,
"currency": "string",
"status": "CREATED",
"createdAt": "2026-03-24T16:45:07Z",
"updatedAt": "2026-03-24T16:45:07Z"
}
],
"metadata": {}
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | InstalmentPlanV2 | false | none | none |
ComputeInstalmentPlanDefinitions
{
"success": true,
"messages": [
"Successfully processed action"
],
"messageIds": [
"e66d62ed-2331-4ced-8c03-5e729e984adc"
],
"data": {
"id": "string",
"type": "programmatic",
"version": "string",
"enabled": true,
"selectable": true,
"description": {},
"computedAt": "2026-03-24T16:45:07Z",
"rules": [
{}
],
"configuration": [
{}
],
"context": {},
"accountId": "string",
"clientId": "string",
"correlationId": "string",
"parentInstalmentPlanId": "string",
"TTL": 0
}
}
Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ActionResponse | false | none | Response of any action that causes any side effect in the platform (e.g. create, update, delete) |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » data | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ComputedInstalmentPlanDefinitionProgrammaticV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ComputedInstalmentPlanDefinitionChoiceV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ComputedInstalmentPlanDefinitionFixedAmountsV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ComputedInstalmentPlanDefinitionPercentageAmountsV2 | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | ComputedInstalmentPlanDefinitionNullV2 | false | none | none |