For the complete documentation index, see llms.txt. This page is also available as Markdown.

Accounts

Originator/beneficiary account records — entities and individuals.

List Accounts

get

This endpoint retrieves a list of all accounts within the directory.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pageinteger · min: 1OptionalDefault: 1
sizeinteger · min: 1 · max: 100OptionalDefault: 30
sortstring · nullableOptional
start_rangestring · date · nullableOptional
end_rangestring · date · nullableOptional
account_typestring · nullableOptional
account_categorystring · nullableOptional
Responses
200

A page of accounts. Page size is 50; the default sort is by creation date.

application/json
anyOptional
get/api/v2/directory/accounts
GET /api/v2/directory/accounts HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "items": [
      {
        "reference_id": "johndoe",
        "account_type": "individual",
        "name": "John Doe",
        "account_category": "customer",
        "email": "john.doe@example.com",
        "created": "2026-08-31T09:14:22.418293",
        "last_modified": "2026-08-31T10:02:11.104882"
      },
      {
        "reference_id": "digital-capital",
        "account_type": "entity",
        "name": "Digital Capital Pte. Ltd.",
        "account_category": "non-customer",
        "email": "ops@digitalcapital.example",
        "created": "2026-08-30T14:41:09.220417"
      }
    ],
    "pagination": {
      "total": 2,
      "size": 50,
      "page": 1
    }
  }
}

Create Account

post

This endpoint is used to create a new account within the directory module. It can create 'individual' or 'entity' accounts.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
reference_idstring · min: 4 · max: 50Required

Unique identifier for the account.

Example: johndoe
account_typestringRequired

Type of account, either 'individual' or 'entity'.

Example: individual
account_categorystring · nullableOptionalDefault: customer
emailstring · email · nullableOptional

Email address associated with the account.

customer_idstring · max: 50 · nullableOptional

Customer ID associated with the account.

createdstring · date-time · nullableOptional
last_modifiedstring · date-time · nullableOptional
Responses
200

The account was created. The body echoes it in the same nested shape.

application/json
anyOptional
post/api/v2/directory/accounts
POST /api/v2/directory/accounts HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 648

{
  "reference_id": "johndoe",
  "account_type": "individual",
  "account_category": "customer",
  "email": "john.doe@example.com",
  "customer_id": "CUST-10042",
  "individual": {
    "individual_name": {
      "name_type": "LEGL",
      "name_first": "John",
      "name_last": "Doe"
    },
    "date_of_birth": "1990-01-01",
    "place_of_birth": "Singapore, Singapore",
    "nationality_country": "SG",
    "residence_country": "US"
  },
  "address": {
    "address_type": "GEOG",
    "address_street_no": "456",
    "address_street_name": "Elm Street",
    "address_city": "New York",
    "address_region": "New York",
    "address_postcode": "08012",
    "address_country_code": "US"
  },
  "national_id": {
    "national_id_type": "CCPT",
    "national_id": "ABC123456",
    "issue_country": "US"
  }
}
{
  "status": "success",
  "data": {
    "reference_id": "johndoe",
    "account_type": "individual",
    "account_category": "customer",
    "email": "john.doe@example.com",
    "customer_id": "CUST-10042",
    "individual": {
      "individual_name": {
        "name_type": "LEGL",
        "name_first": "John",
        "name_last": "Doe"
      },
      "date_of_birth": "1990-01-01",
      "place_of_birth": "Singapore, Singapore",
      "nationality_country": "SG",
      "residence_country": "US"
    },
    "address": {
      "address_type": "GEOG",
      "address_street_no": "456",
      "address_street_name": "Elm Street",
      "address_city": "New York",
      "address_region": "New York",
      "address_postcode": "08012",
      "address_country_code": "US"
    },
    "national_id": {
      "national_id_type": "CCPT",
      "national_id": "ABC123456",
      "issue_country": "US"
    },
    "created": "2026-08-31T09:14:22.418293"
  }
}
get

This endpoint allows users to search for accounts based on a search term and optional filters such as account category and account type.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
search_termstring · nullableOptional
account_categorystring · enum · nullableOptional

Filter options for customer type

Possible values:
account_typestring · enum · nullableOptionalPossible values:
Responses
200

Matching accounts as a BARE ARRAY -- this operation does not use the {status, data} envelope the rest of this plane returns.

application/json
anyOptional
get/api/v2/directory/accounts/search
GET /api/v2/directory/accounts/search HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "reference_id": "johndoe",
    "account_type": "individual",
    "name": "John Doe",
    "account_category": "customer",
    "email": "john.doe@example.com",
    "created": "2026-08-31T09:14:22.418293",
    "last_modified": "2026-08-31T10:02:11.104882"
  },
  {
    "reference_id": "johndoe-2",
    "account_type": "individual",
    "name": "John Doe",
    "account_category": "non-customer",
    "email": "j.doe@example.org",
    "created": "2026-08-29T08:11:50.771233"
  }
]

Retrieve Account

get

This endpoint retrieves the details of a specific account identified by {reference_id}.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
reference_idstringRequired

Unique identifier for the account, previously external_id.

Responses
200

The account, in the same nested shape the create call takes.

application/json
anyOptional
get/api/v2/directory/accounts/{reference_id}
GET /api/v2/directory/accounts/{reference_id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "reference_id": "johndoe",
    "account_type": "individual",
    "account_category": "customer",
    "email": "john.doe@example.com",
    "customer_id": "CUST-10042",
    "individual": {
      "individual_name": {
        "name_type": "LEGL",
        "name_first": "John",
        "name_last": "Doe"
      },
      "date_of_birth": "1990-01-01",
      "place_of_birth": "Singapore, Singapore",
      "nationality_country": "SG",
      "residence_country": "US"
    },
    "address": {
      "address_type": "GEOG",
      "address_street_no": "456",
      "address_street_name": "Elm Street",
      "address_city": "New York",
      "address_region": "New York",
      "address_postcode": "08012",
      "address_country_code": "US"
    },
    "national_id": {
      "national_id_type": "CCPT",
      "national_id": "ABC123456",
      "issue_country": "US"
    },
    "created": "2026-08-31T09:14:22.418293",
    "last_modified": "2026-08-31T10:02:11.104882"
  }
}

Remove Account

delete

This endpoint is used to remove/delete a specific account identified by {reference_id} from the directory.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
reference_idstringRequired

Unique identifier for the account, previously external_id.

Responses
200

The account was deleted. This is a hard delete, not a soft one.

application/json
anyOptional
delete/api/v2/directory/accounts/{reference_id}
DELETE /api/v2/directory/accounts/{reference_id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "message": "Successfully deleted account with reference id of: johndoe"
  }
}

Update Account

patch

This endpoint is utilized to modify/update the details of a specific account identified by {reference_id}. All body inputs are optional. Only provided inputs will be updated in the account record, while all others will maintain their current values.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
reference_idstringRequired

Unique identifier for the account, previously external_id.

Body
Responses
200

The updated account, re-read after the write.

application/json
anyOptional
patch/api/v2/directory/accounts/{reference_id}
PATCH /api/v2/directory/accounts/{reference_id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 211

{
  "fields": [
    {
      "field": [
        "individual",
        "individual_name",
        "name_first"
      ],
      "value": "Jonathan"
    },
    {
      "field": [
        "individual",
        "individual_name",
        "name_last"
      ],
      "value": "Doe"
    },
    {
      "field": [
        "email"
      ],
      "value": "jonathan.doe@example.com"
    }
  ]
}
{
  "status": "success",
  "data": {
    "reference_id": "johndoe",
    "account_type": "individual",
    "account_category": "customer",
    "email": "jonathan.doe@example.com",
    "customer_id": "CUST-10042",
    "individual": {
      "individual_name": {
        "name_type": "LEGL",
        "name_first": "John",
        "name_last": "Doe"
      },
      "date_of_birth": "1990-01-01",
      "place_of_birth": "Singapore, Singapore",
      "nationality_country": "SG",
      "residence_country": "US"
    },
    "address": {
      "address_type": "GEOG",
      "address_street_no": "456",
      "address_street_name": "Elm Street",
      "address_city": "New York",
      "address_region": "New York",
      "address_postcode": "08012",
      "address_country_code": "US"
    },
    "national_id": {
      "national_id_type": "CCPT",
      "national_id": "ABC123456",
      "issue_country": "US"
    },
    "created": "2026-08-31T09:14:22.418293",
    "last_modified": "2026-08-31T12:30:44.918003"
  }
}

Last updated