For archived content, access the previous documentation here or the previous API reference here.

Create account

Prev Next
Post
/v2/accounts

Create Account API allows you to create Accounts for your Partners on your Platform. Once an Account is created, you can accept and route payments through the Transfers API or Platform Fee API. Read more about account types here.

Remember to store the returned account ID value to make transactions for that Account in the future.

Notes:

  • For the /v2/accounts endpoint, we allow a maximum of 5 write requests per second.
  • The OWNED type is currently restricted for accounts in Indonesia.

Please contact help@xendit.co if you need the above features.

Version

This version of the API is asynchronous to improve performance and scalability. We have also added API permissions in this version. If you are using an existing API key, please edit your permissions in your Settings page.

It is mandatory to wait for the account.created callback before attempting to create transactions. Set a Callback URL in your Dashboard to receive Account Updated Callbacks and know when payments can be processed for your Accounts.

Use API key permission Account Write to perform this request

Account Suspension Callbacks

The Account Suspension webhook can be used to let your system know when Xendit has suspected, suspended or cleared the Accounts linked to your Platform. Our teams and systems automatically and regularly review Account behaviour to help Platforms mitigate potential fraud.

These events may occur if we have reason to believe that the Account has engaged in fraudulent activity. When these events occur, only the transactions occurring on that specific Account will be affected. This approach allows your Platform to continue accepting payments for your other Accounts normally.

Security
HTTP
Type basic
Body parameters
Owned Type
{
  "email": "angie@pinkpanther.com",
  "type": "OWNED",
  "public_profile": {
    "business_name": "Owned Business Account"
  }
}
Expand All
object
email
string (email) Required

A valid email address associated with the object

Max length255
Exampletest@example.co
type
string

The type of account created

Valid values[ "MANAGED", "OWNED" ]
public_profile
object (public_profile) Required
business_name
string

Public name of the account.

description
string

Additional description visible publicly.

Responses
200
Owned Sub-account
{
  "id": "5cafeb170a2b18519b1b8761",
  "created": "2021-01-01T10:00:00Z",
  "updated": "2021-01-01T10:00:00Z",
  "type": "OWNED",
  "email": "angie@pinkpanther.com",
  "public_profile": {
    "business_name": "Angie's lemonade stand"
  },
  "status": "LIVE"
}
Expand All
object
id
string

ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account

created
string (date-time)

Timestamp of when the object was created

updated
string (date-time)

Timestamp of when the object was updated

type
string

The type of account created

Valid values[ "MANAGED", "OWNED" ]
email
string (email)

A valid email address associated with the object

Max length255
Exampletest@example.co
public_profile
object (public_profile)
business_name
string

Public name of the account.

description
string

Additional description visible publicly.

country
string

The country (based on ISO 3166-1 Alpha-2) of incorporation for a business, or the country of residence for an individual.

Valid values[ "ID", "PH", "VN", "MY", "TH" ]
status
string

Status of the Account you are creating.

Valid values[ "INVITED", "REGISTERED", "AWAITING_DOCS", "LIVE", "SUSPENDED" ]
400

Validation errors for creating accounts

OneOf
400ApiValidationError
object (400ApiValidationError)
error_code
string
ExampleAPI_VALIDATION_ERROR
error_message
string
ExampleInputs are failing validation. The errors field contains details about which fields are violating validation.
400InvalidConfigurationError
object (400InvalidConfigurationError)
error_code
string
ExampleINVALID_CONFIGURATION
error_message
string
ExampleThe `configurations` parameter combination is invalid. Please follow the requirement of each parameter written in Request section.
400TypeConfigConflictError
object (400TypeConfigConflictError)
error_code
string
ExampleTYPE_AND_CONFIGURATION_CONFLICT
error_message
string
ExamplePlease provide either one of the `type` field or the `configurations` field