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.
If you do not want to configure a pre-specified type of account (Managed
or Owned
), you can also choose to configure the account yourself using the configurations
parameter below, instead of specifying a type
.
Remember to store the returned account id value to make transactions for that Account in the future.
Note: For the
/v2/accounts
endpoint, we allow a maximum of 5 write requests per second. Please contact help@xendit.co if you require a higher load.Emails that are used to create Accounts with a Test API key, cannot be re-used to create Accounts with a Live API key
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.
{
"email": "angie@pinkpanther.com",
"type": "OWNED",
"public_profile": {
"business_name": "Angie lemonade stand"
}
}
A valid email address associated with the object
The type of account created
Public name of the account.
Additional description visible publicly.
Contains the configurations for CUSTOM sub-accounts. Parameters available: payment_settings_follow_platform, has_withdrawal, has_dashboard
Indicates if payment settings follow the platform.
Indicates if the account has withdrawal enabled.
Indicates if the account has access to the dashboard.
{
"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"
}
{
"id": "5cafeb170a2b18519b1b8761",
"created": "2021-01-01T10:00:00Z",
"updated": "2021-01-01T10:00:00Z",
"type": "CUSTOM",
"email": "angie@pinkpanther.com",
"public_profile": {
"business_name": "Angie's customized stand"
},
"status": "LIVE",
"configurations": {
"has_dashboard": true,
"payment_settings_follow_platform": true,
"has_withdrawal": false
}
}
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the object was created
Timestamp of when the object was updated
The type of account created
A valid email address associated with the object
Public name of the account.
Additional description visible publicly.
The country (based on ISO 3166-1 Alpha-2) of incorporation for a business, or the country of residence for an individual.
Status of the Account you are creating.
Contains the configurations for CUSTOM sub-accounts. Parameters available: payment_settings_follow_platform, has_withdrawal, has_dashboard
Indicates if payment settings follow the platform.
Indicates if the account has withdrawal enabled.
Indicates if the account has access to the dashboard.
Validation errors for creating accounts
{
"event": "account.created",
"created": "2021-01-01T10:00:00Z",
"data": {
"id": "5cafeb170a2b18519b1b8761",
"created": "2021-01-01T10:00:00Z",
"updated": "2021-01-01T10:00:00Z",
"type": "OWNED",
"email": "test@xendit.co",
"public_profile": {
"business_name": "My Store"
},
"country": "ID",
"status": "LIVE"
}
}
Your OWNED
sub-account has been successfully created
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the webhook was sent
Timestamp of when the webhook was updated
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the object was created
Timestamp of when the object was updated
The type of account created
A valid email address associated with the object
Public name of the account.
Additional description visible publicly.
The country (based on ISO 3166-1 Alpha-2) of incorporation for a business, or the country of residence for an individual.
Status of the Account you are creating.
Contains the configurations for CUSTOM sub-accounts. Parameters available: payment_settings_follow_platform, has_withdrawal, has_dashboard
Indicates if payment settings follow the platform.
Indicates if the account has withdrawal enabled.
Indicates if the account has access to the dashboard.
OK
{
"event": "account.updated",
"created": "2021-01-01T10:00:00Z",
"data": {
"id": "5cafeb170a2b18519b1b8761",
"created": "2021-01-01T10:00:00Z",
"updated": "2021-01-01T10:00:00Z",
"type": "MANAGED",
"email": "test@xendit.co",
"public_profile": {
"business_name": "My Store"
},
"country": "ID",
"status": "LIVE"
}
}
Your MANAGED
sub-account have successfully registered and enabled for live payments
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the webhook was sent
Timestamp of when the webhook was updated
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the object was created
Timestamp of when the object was updated
The type of account created
A valid email address associated with the object
Public name of the account.
Additional description visible publicly.
The country (based on ISO 3166-1 Alpha-2) of incorporation for a business, or the country of residence for an individual.
Status of the Account you are creating.
Contains the configurations for CUSTOM sub-accounts. Parameters available: payment_settings_follow_platform, has_withdrawal, has_dashboard
Indicates if payment settings follow the platform.
Indicates if the account has withdrawal enabled.
Indicates if the account has access to the dashboard.
OK
{
"event": "account.updated",
"created": "2021-01-01T10:00:00Z",
"data": {
"id": "5cafeb170a2b18519b1b8761",
"created": "2021-01-01T10:00:00Z",
"updated": "2021-01-01T10:00:00Z",
"type": "MANAGED",
"email": "test@xendit.co",
"public_profile": {
"business_name": "My Store"
},
"status": "SUSPENDED",
"reason": "FRAUD_PROMO_ABUSE"
}
}
These events may occur if we have reason to believe that the Account has engaged in fraudulent activity.
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the webhook was sent
Timestamp of when the webhook was updated
ID of your Account, use this in the for-user-id header to create transactions on behalf of your Account
Timestamp of when the object was created
Timestamp of when the object was updated
A valid email address associated with the object
Public name of the account.
Additional description visible publicly.
Reason given for the status change
OK