Depa LogoDocsv1
API Reference

KYB

A KYB application collects what Depa needs to verify a business. Creating one also creates the company's identification and account.

An application has four sections:

  • nature_of_business: legal identity, registration, address and activity.
  • usage_of_account: intended use, expected volumes, countries and source of funds.
  • business_files: corporate documents such as the certificate of incorporation.
  • beneficiaries: shareholders and ultimate beneficial owners.

A typical flow is to create the application, fill it in with PATCH /kyb/{id}, upload documents with POST /kyb/upload_file/{id}, and wait for Depa's review. Once status.processed is true the application is locked and edits return 403.

List KYB applications

GET/kyb

Returns the KYB applications in your vault, page by page.

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Query Parameters

page?integer

Page number, starting at 1.

Range1 <= value
Default1
per_page?integer

Number of results per page. Defaults to 25.

Range1 <= value
Default25

Response Body

application/json

application/json

curl -X GET "https://example.com/kyb?page=1"
{  "data": [    {      "id": "6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46",      "external_id": "company-123",      "client_kyc": false,      "internal": false,      "status": {        "completed": false,        "processed": false      },      "nature_of_business": {        "legal_company_name": "Acme Trading Ltd",        "comercial_name": "Acme",        "different_commercial_name": true,        "company_registration_id": "12345678",        "country_of_incorporation": "GB",        "date_of_incorporation": "2019-05-14",        "description_activity": "Wholesale distribution of office equipment",        "products_offered": "Office furniture and supplies",        "subject_of_supervision": "Not regulated",        "website": "https://acme.example",        "phone": "+442098282334",        "email": "compliance@acme.example",        "legal_address": "1 Canada Square",        "postal_code_address": "E14 5AB",        "city_address": "London",        "state_address": "England",        "country_address": "GB",        "vat_number": "GB123456789",        "company_type": "Private limited company",        "tax_residency_country": "GB",        "directors_residency_country": "GB",        "website_legal_name_check": true,        "website_activity_check": true      },      "business_files": {        "incorporation_certificates": [          {            "name": "certificate_of_incorporation.pdf",            "id": "abc123def456"          }        ],        "articles_of_association": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "legal_structures": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "residence_proofs": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "shareholders_registers": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "directors_registers": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "good_standing_certificate": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "internal_shareholder_register": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "power_of_attorney": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "signature_type": "single",        "public_registry_shares": true      },      "beneficiaries": {        "evidence_of_ubos": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "shareholders_confirmation": true,        "beneficiaries_list": [          {            "full_name": "Jane Doe",            "stake_in_company": "60",            "email": "jane.doe@acme.example",            "politically_exposed": false,            "proof_address": [              {                "name": "document.pdf",                "id": "abc123def456"              }            ],            "beneficiary_identification": [              {                "name": "document.pdf",                "id": "abc123def456"              }            ],            "roles": [              "director",              "ubo"            ],            "link": "https://sandbox.depasify.com/en/7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84",            "external_id": "7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84"          }        ]      },      "usage_of_account": {        "usage": "Collecting customer payments and paying suppliers",        "source_of_funds": [          "revenue"        ],        "nesting_confirmation": false,        "nesting_justification": "",        "flow_of_funds_description": "Customers pay invoices by SEPA; we pay EU suppliers weekly.",        "fund_origin_confirmation": true,        "ubo_source_of_wealth": "business_income",        "ubo_source_of_wealth_other": "",        "list_of_services": [          "iban",          "sepa_payments"        ],        "list_of_countries_operated": "GB, DE, FR",        "list_of_countries_intended": "GB, DE, FR, ES",        "fund_evidences": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "proof_regulations": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "aml_policies": [          {            "name": "document.pdf",            "id": "abc123def456"          }        ],        "risky_activities": "None",        "trx_count_monthly": "500",        "trx_value_monthly": "250000",        "introduced_to_depa": "Partner referral"      }    }  ],  "pagination": {    "current_page": 1,    "per_page": 80,    "total_pages": 1,    "total_count": 2  }}

Create a KYB application

POST/kyb

Starts a KYB application for a company, creating its identification and account. The response includes generated_password, which the company uses to open the KYB form.

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/kyb" \  -H "Content-Type: application/json" \  -d '{    "external_id": "company-123"  }'
{  "data": {    "id": "6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46",    "external_id": "company-123",    "client_kyc": false,    "internal": false,    "status": {      "completed": false,      "processed": false    },    "nature_of_business": {      "legal_company_name": "Acme Trading Ltd",      "comercial_name": "Acme",      "different_commercial_name": true,      "company_registration_id": "12345678",      "country_of_incorporation": "GB",      "date_of_incorporation": "2019-05-14",      "description_activity": "Wholesale distribution of office equipment",      "products_offered": "Office furniture and supplies",      "subject_of_supervision": "Not regulated",      "website": "https://acme.example",      "phone": "+442098282334",      "email": "compliance@acme.example",      "legal_address": "1 Canada Square",      "postal_code_address": "E14 5AB",      "city_address": "London",      "state_address": "England",      "country_address": "GB",      "vat_number": "GB123456789",      "company_type": "Private limited company",      "tax_residency_country": "GB",      "directors_residency_country": "GB",      "website_legal_name_check": true,      "website_activity_check": true    },    "business_files": {      "incorporation_certificates": [        {          "name": "certificate_of_incorporation.pdf",          "id": "abc123def456"        }      ],      "articles_of_association": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "legal_structures": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "residence_proofs": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "shareholders_registers": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "directors_registers": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "good_standing_certificate": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "internal_shareholder_register": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "power_of_attorney": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "signature_type": "single",      "public_registry_shares": true    },    "beneficiaries": {      "evidence_of_ubos": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "shareholders_confirmation": true,      "beneficiaries_list": [        {          "full_name": "Jane Doe",          "stake_in_company": "60",          "email": "jane.doe@acme.example",          "politically_exposed": false,          "proof_address": [            {              "name": "document.pdf",              "id": "abc123def456"            }          ],          "beneficiary_identification": [            {              "name": "document.pdf",              "id": "abc123def456"            }          ],          "roles": [            "director",            "ubo"          ],          "link": "https://sandbox.depasify.com/en/7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84",          "external_id": "7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84"        }      ]    },    "usage_of_account": {      "usage": "Collecting customer payments and paying suppliers",      "source_of_funds": [        "revenue"      ],      "nesting_confirmation": false,      "nesting_justification": "",      "flow_of_funds_description": "Customers pay invoices by SEPA; we pay EU suppliers weekly.",      "fund_origin_confirmation": true,      "ubo_source_of_wealth": "business_income",      "ubo_source_of_wealth_other": "",      "list_of_services": [        "iban",        "sepa_payments"      ],      "list_of_countries_operated": "GB, DE, FR",      "list_of_countries_intended": "GB, DE, FR, ES",      "fund_evidences": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "proof_regulations": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "aml_policies": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "risky_activities": "None",      "trx_count_monthly": "500",      "trx_value_monthly": "250000",      "introduced_to_depa": "Partner referral"    }  },  "generated_password": "a1b2c3d4e5f6g7h8"}
GET/kyb/{id}

Returns a KYB application with every section filled in so far.

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/kyb/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46"
{  "data": {    "id": "6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46",    "external_id": "company-123",    "client_kyc": false,    "internal": false,    "status": {      "completed": false,      "processed": false    },    "nature_of_business": {      "legal_company_name": "Acme Trading Ltd",      "comercial_name": "Acme",      "different_commercial_name": true,      "company_registration_id": "12345678",      "country_of_incorporation": "GB",      "date_of_incorporation": "2019-05-14",      "description_activity": "Wholesale distribution of office equipment",      "products_offered": "Office furniture and supplies",      "subject_of_supervision": "Not regulated",      "website": "https://acme.example",      "phone": "+442098282334",      "email": "compliance@acme.example",      "legal_address": "1 Canada Square",      "postal_code_address": "E14 5AB",      "city_address": "London",      "state_address": "England",      "country_address": "GB",      "vat_number": "GB123456789",      "company_type": "Private limited company",      "tax_residency_country": "GB",      "directors_residency_country": "GB",      "website_legal_name_check": true,      "website_activity_check": true    },    "business_files": {      "incorporation_certificates": [        {          "name": "certificate_of_incorporation.pdf",          "id": "abc123def456"        }      ],      "articles_of_association": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "legal_structures": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "residence_proofs": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "shareholders_registers": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "directors_registers": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "good_standing_certificate": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "internal_shareholder_register": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "power_of_attorney": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "signature_type": "single",      "public_registry_shares": true    },    "beneficiaries": {      "evidence_of_ubos": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "shareholders_confirmation": true,      "beneficiaries_list": [        {          "full_name": "Jane Doe",          "stake_in_company": "60",          "email": "jane.doe@acme.example",          "politically_exposed": false,          "proof_address": [            {              "name": "document.pdf",              "id": "abc123def456"            }          ],          "beneficiary_identification": [            {              "name": "document.pdf",              "id": "abc123def456"            }          ],          "roles": [            "director",            "ubo"          ],          "link": "https://sandbox.depasify.com/en/7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84",          "external_id": "7a3c9e1f-2b8d-4f6a-9c0e-5d1b3a7f2e84"        }      ]    },    "usage_of_account": {      "usage": "Collecting customer payments and paying suppliers",      "source_of_funds": [        "revenue"      ],      "nesting_confirmation": false,      "nesting_justification": "",      "flow_of_funds_description": "Customers pay invoices by SEPA; we pay EU suppliers weekly.",      "fund_origin_confirmation": true,      "ubo_source_of_wealth": "business_income",      "ubo_source_of_wealth_other": "",      "list_of_services": [        "iban",        "sepa_payments"      ],      "list_of_countries_operated": "GB, DE, FR",      "list_of_countries_intended": "GB, DE, FR, ES",      "fund_evidences": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "proof_regulations": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "aml_policies": [        {          "name": "document.pdf",          "id": "abc123def456"        }      ],      "risky_activities": "None",      "trx_count_monthly": "500",      "trx_value_monthly": "250000",      "introduced_to_depa": "Partner referral"    }  }}

Update a KYB application

PATCH/kyb/{id}

Fills in or changes a KYB application. Send only the sections and fields you want to change; beneficiaries are matched by email, so sending an existing email updates that person. Applications that Depa has already processed can't be changed (403).

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Send only the sections and fields you want to change. Beneficiaries are matched by email.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/kyb/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46" \  -H "Content-Type: application/json" \  -d '{    "nature_of_business": {      "legal_company_name": "Acme Trading Ltd",      "company_registration_id": "12345678",      "country_of_incorporation": "GB",      "date_of_incorporation": "2019-05-14",      "website": "https://acme.example"    },    "usage_of_account": {      "usage": "Collecting customer payments and paying suppliers",      "trx_count_monthly": "500",      "trx_value_monthly": "250000",      "source_of_funds": [        "revenue"      ]    },    "beneficiaries": {      "shareholders_confirmation": true,      "beneficiaries_list": [        {          "full_name": "Jane Doe",          "stake_in_company": "60",          "email": "jane.doe@acme.example",          "politically_exposed": false,          "roles": [            "director",            "ubo"          ]        }      ]    }  }'
{  "message": "KYB data updated successfully"}

Upload a KYB document

POST/kyb/upload_file/{id}

Uploads a file and attaches it to one section of a KYB application, named by attribute (for example incorporation_certificates). Send it as multipart/form-data. The response id is the key to delete the file later. Processed applications can't be changed (403).

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/kyb/upload_file/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46" \  -F file="null" \  -F attribute="incorporation_certificates"
{  "name": "certificate_of_incorporation.pdf",  "id": "abc123def456"}

Delete a KYB document

PUT/kyb/delete_file/{id}

Removes a file from a KYB application. Pass the blob_key returned when it was uploaded and the attribute_key it belongs to. Processed applications can't be changed (403).

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/kyb/delete_file/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46" \  -H "Content-Type: application/json" \  -d '{    "blob_key": "abc123def456",    "attribute_key": "incorporation_certificates"  }'
{  "message": "File deleted successfully"}
GET/kyb/validate/{id}

Returns whether a KYB application with this ID exists.

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/kyb/validate/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46"
{  "exists": true}
POST/kyb/validate_password/{id}

Checks the password of a KYB application, the generated_password returned when it was created. Used to protect access to the KYB form.

Authorization

BearerAuth
AuthorizationBearer <token>

Token from POST /sign_in, sent as Authorization: Bearer <token>.

In: header

Path Parameters

id*string

ID of the KYB application.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/kyb/validate_password/6f2b8d1e-4a9c-4e3f-b7d2-1c8a5e0f9b46" \  -H "Content-Type: application/json" \  -d '{    "password": "a1b2c3d4e5f6g7h8"  }'
{  "authenticate": true}
🍪 We do not track your behaviour or use any cookie on this site.