Corporates

Corporates are identities representing companies. Once on-boarded, Corporates can create and manage their own instruments via your application.

Create a corporate

Create a corporate identity for a business customer. The information provided must be accurate and will be passed on for KYB verification with our partner.

Securityapi_key
Request
Request Body schema: application/json
required
profileId
required
string (ProfileId) ^[0-9]+$

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

tag
string (Tag) <= 50 characters ^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

required
object

The root user needs to be a director or a legal representative of the corporate that is being onboarded - this user cannot be deactivated.

Root users need to verify their email address and mobile number, as well as complete KYC as part of the Corporate's due diligence process.

required
object

The details associated with the company being on-boarded. The details provided need to match exactly with the details provided during KYB.

industry
string (Industry)
Deprecated

The industry of the identity.

Enum: "ACCOUNTING" "AUDIT" "FINANCE" "PUBLIC_SECTOR_ADMINISTRATION" "ART_ENTERTAINMENT" "AUTO_AVIATION" "BANKING_LENDING" "BUSINESS_CONSULTANCY_LEGAL" "CONSTRUCTION_REPAIR" "EDUCATION_PROFESSIONAL_SERVICES" "INFORMATIONAL_TECHNOLOGIES" "TOBACCO_ALCOHOL" "GAMING_GAMBLING" "MEDICAL_SERVICES" "MANUFACTURING" "PR_MARKETING" "PRECIOUS_GOODS_JEWELRY" "NON_GOVERNMENTAL_ORGANIZATION" "INSURANCE_SECURITY" "RETAIL_WHOLESALE" "TRAVEL_TOURISM" "FREELANCER"
sourceOfFunds
string (CorporateSourceOfFunds)
Deprecated

The corporate's source of funds.

Enum: "LABOUR_CONTRACT" "CIVIL_CONTRACT" "RENT" "FUNDS_FROM_OTHER_AUXILIARY_SOURCES" "SALE_OF_MOVABLE_ASSETS" "SALE_OF_REAL_ESTATE" "ORDINARY_BUSINESS_ACTIVITY" "DIVIDENDS" "LOAN_FROM_FINANCIAL_INSTITUTIONS_CREDIT_UNIONS" "LOAN_FROM_THIRD_PARTIES" "SALE_OF_COMPANY_SHARES_BUSINESS" "OTHER"
sourceOfFundsOther
string
Deprecated

Description of source of funds in case OTHER was chosen.

acceptedTerms
required
boolean

Must be set to true to indicate that the corporate root user has accepted the terms and conditions.

ipAddress
required
string [ 5 .. 45 ] characters

The IP address of the corporate user doing the registration.

baseCurrency
required
string (Currency) = 3 characters ^[A-Z]*$

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

feeGroup
string

Fee groups allow the possibility to charge different fees to users under the same profile. If fee groups are not required, ignore this field.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/corporates
Request samples
application/json
{
  • "profileId": "string",
  • "tag": "string",
  • "rootUser": {
    },
  • "company": {
    },
  • "industry": "ACCOUNTING",
  • "sourceOfFunds": "LABOUR_CONTRACT",
  • "sourceOfFundsOther": "string",
  • "acceptedTerms": true,
  • "ipAddress": "string",
  • "baseCurrency": "str",
  • "feeGroup": "string"
}
Response samples
application/json
{
  • "id": {
    },
  • "profileId": "string",
  • "tag": "string",
  • "rootUser": {
    },
  • "company": {
    },
  • "industry": "ACCOUNTING",
  • "sourceOfFunds": "LABOUR_CONTRACT",
  • "sourceOfFundsOther": "string",
  • "acceptedTerms": true,
  • "ipAddress": "string",
  • "baseCurrency": "str",
  • "feeGroup": "string",
  • "creationTimestamp": 0
}

Get a corporate

Retrieve the details of the logged-in corporate.

Securityauth_token and api_key
Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

get/corporates
Request samples
Response samples
application/json
{
  • "id": {
    },
  • "profileId": "string",
  • "tag": "string",
  • "rootUser": {
    },
  • "company": {
    },
  • "industry": "ACCOUNTING",
  • "sourceOfFunds": "LABOUR_CONTRACT",
  • "sourceOfFundsOther": "string",
  • "acceptedTerms": true,
  • "ipAddress": "string",
  • "baseCurrency": "str",
  • "feeGroup": "string",
  • "creationTimestamp": 0
}

Update a corporate

Update the details of the logged-in corporate identity.

The following Corporate details are verified during due diligence (KYB) and cannot be updated via the API once the Corporate has been verified:

  • Root User Name
  • Root User Surname
  • Root User Email
  • Root User Mobile Country Code
  • Root User Mobile Number

If these details need to be changed after due diligence is completed, please contact Customer Support to restart the Due Diligence process.

Securityauth_token and api_key
Request
Request Body schema: application/json
required
tag
string (Tag) <= 50 characters ^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

industry
string (Industry)
Deprecated

The industry of the identity.

Enum: "ACCOUNTING" "AUDIT" "FINANCE" "PUBLIC_SECTOR_ADMINISTRATION" "ART_ENTERTAINMENT" "AUTO_AVIATION" "BANKING_LENDING" "BUSINESS_CONSULTANCY_LEGAL" "CONSTRUCTION_REPAIR" "EDUCATION_PROFESSIONAL_SERVICES" "INFORMATIONAL_TECHNOLOGIES" "TOBACCO_ALCOHOL" "GAMING_GAMBLING" "MEDICAL_SERVICES" "MANUFACTURING" "PR_MARKETING" "PRECIOUS_GOODS_JEWELRY" "NON_GOVERNMENTAL_ORGANIZATION" "INSURANCE_SECURITY" "RETAIL_WHOLESALE" "TRAVEL_TOURISM" "FREELANCER"
sourceOfFunds
string (CorporateSourceOfFunds)
Deprecated

The corporate's source of funds.

Enum: "LABOUR_CONTRACT" "CIVIL_CONTRACT" "RENT" "FUNDS_FROM_OTHER_AUXILIARY_SOURCES" "SALE_OF_MOVABLE_ASSETS" "SALE_OF_REAL_ESTATE" "ORDINARY_BUSINESS_ACTIVITY" "DIVIDENDS" "LOAN_FROM_FINANCIAL_INSTITUTIONS_CREDIT_UNIONS" "LOAN_FROM_THIRD_PARTIES" "SALE_OF_COMPANY_SHARES_BUSINESS" "OTHER"
sourceOfFundsOther
string
Deprecated

Description of source of funds in case OTHER was chosen.

object (Address)
feeGroup
string

The fee group which the Corporate will be bound to. Do not specify this if you are not using fee groups.

baseCurrency
string (Currency) = 3 characters ^[A-Z]*$

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

name
string <= 20 characters ^[^0-9~!@#$%^*()_+={}\\|:;,<>/?]*$

The first name of the Corporate root user.

surname
string <= 20 characters ^[^0-9~!@#$%^*()_+={}\\|:;,<>/?]*$

The last name of the Corporate root user.

email
string <email> (Email)

E-mail Address of the user

object (Mobile)
object (Date)

Date of birth of the authorised user.

resetMobileCounter
boolean
Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

404

Not found - The requested resource couldn't be found.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

patch/corporates
Request samples
application/json
{
  • "tag": "string",
  • "industry": "ACCOUNTING",
  • "sourceOfFunds": "LABOUR_CONTRACT",
  • "sourceOfFundsOther": "string",
  • "companyBusinessAddress": {
    },
  • "feeGroup": "string",
  • "baseCurrency": "str",
  • "name": "string",
  • "surname": "string",
  • "email": "user@example.com",
  • "mobile": {
    },
  • "dateOfBirth": {
    },
  • "resetMobileCounter": true
}
Response samples
application/json
{
  • "id": {
    },
  • "profileId": "string",
  • "tag": "string",
  • "rootUser": {
    },
  • "company": {
    },
  • "industry": "ACCOUNTING",
  • "sourceOfFunds": "LABOUR_CONTRACT",
  • "sourceOfFundsOther": "string",
  • "acceptedTerms": true,
  • "ipAddress": "string",
  • "baseCurrency": "str",
  • "feeGroup": "string",
  • "creationTimestamp": 0
}

Send an email verification code to the root user

The first step in verifying a root user's email. The root user whose email address is to be verified is sent an email containing a randomly generated code.

This code must then be provided in the corporateRootUserEmailVerify operation to verify the root user's email address.

Note that on the Sandbox Environment, the verificationCode is always set to "123456".

Securityapi_key
Request
Request Body schema: application/json
required
email
required
string <email> (Email)

E-mail Address of the user

Responses
204

Success - No Content.

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

404

Not found - The requested resource couldn't be found.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/corporates/verification/email/send
Request samples
application/json
{
  • "email": "user@example.com"
}
Response samples
application/json
{
  • "message": "string",
  • "syntaxErrors": {
    }
}

Verify email of the root user

The second step in verifying the root user's email. The randomly generated code sent to the root user via email, using the corporateRootUserEmailVerificationCodeSend operation, is submitted here to verify the root user's email.

This is needed as part of the verification process for basic due diligence.

Note that on the Sandbox Environment, the verificationCode is always set to "123456".

Securityapi_key
Request
Request Body schema: application/json
required
email
required
string <email> (Email)

E-mail Address of the user

verificationCode
required
string (VerificationCode) = 6 characters ^[0-9]+$

A randomly generated one-time use code used to verify the user's email address or mobile number.

Responses
204

Success - No Content.

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/corporates/verification/email/verify
Request samples
application/json
{
  • "email": "user@example.com",
  • "verificationCode": "string"
}
Response samples
application/json
{
  • "message": "string",
  • "syntaxErrors": {
    }
}

Start KYB for a corporate

Corporates need to complete due diligence (KYB) before they can create instruments and perform transactions.

This operation initiates the due diligence process for the logged-in corporate.

Due Diligence is handled by a KYB provider - you will need to embed the KYB UI Component in your application so that the Corporate will be able to perform the KYB process.

To initialise the KYB UI Component, you need a reference that is given you in the response of this operation.

Securityauth_token and api_key
Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/corporates/kyb
Request samples
Response samples
application/json
{
  • "reference": "string"
}

Get KYB for a corporate

Returns the KYB status for the logged-in corporate.

Securityauth_token and api_key
Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

get/corporates/kyb
Request samples
Response samples
application/json
{
  • "kybStatus": "NOT_STARTED",
  • "ongoingKybStatus": "NOT_STARTED"
}

Charge fee to a corporate

Charge a fee to the corporate identified by the auth token, based on a pre-defined custom fee. Custom fees can be configured in the Multi Portal.

The fees collected will be deposited into your Revenue Account. The balance and transaction history of your revenue account can be viewed in the Multi Portal.

Securityauth_token and api_key
Request
header Parameters
idempotency-ref
string

A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours.

Request Body schema: application/json
required
feeType
required
string

The fee type as defined in the Multi Portal.

required
object (InstrumentId)

The instrument from where the fee should be deducted.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

404

Not found - The requested resource couldn't be found.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/corporates/fees/charge
Request samples
application/json
{
  • "feeType": "string",
  • "source": {
    }
}
Response samples
application/json
{
  • "transactionId": {
    },
  • "profileId": "string",
  • "feeType": "string",
  • "source": {
    },
  • "availableBalanceAdjustment": {
    },
  • "state": "INITIALISED",
  • "creationTimestamp": 0
}