Create Internal Transaction
POST/internal_transactions
Transfer an amount from the current wallet of the caller to the current wallet of the recipient.
The recipient_id can be an Entity, Platform or a Beneficiary.
Some types of transfers are restricted based on your account configuration.
The result for this API is instant, either a success or a failure, if you want to revert a transaction, the recipient has to transfer the amount back.
Request
- application/json
Body
required
- 1.00 SAR = 100
- 1.00 KWD = 1000
- 1 JPY = 1
ISO-4217 three-letter currency code.
A positive integer representing the internal transaction amount in the smallest currency unit.
Examples:
A string descriping the purpose of this internal transactions.
metadata
object
A set of key-value pairs where both key and value are strings. Metadata allows you to add more information to the object that will be returned later on in responses and webhook messages.
Metadata is searchable using the Payment List API.
Responses
- 200
- 400
- 401
- 403
Successful operation
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [Entity, Platform, Beneficiary]
ISO-4217 three-letter currency code.
Amount of the internal transaction movement.
In case this internal transaction has been settled, this will contain the ID of the transaction.
A string descriping the purpose of this internal transactions.
Date and time when the internal transaction was created.
Date and time when the internal transaction status was updated.
Date and time when the internal transaction was settled.
metadata
object
A set of key-value pairs where both key and value are strings. Metadata allows you to add more information to the object that will be returned later on in responses and webhook messages.
Metadata is searchable using the Payment List API.
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"recipient_type": "Entity",
"recipient_id": "c5c57597-0d06-4583-9da5-c755c4943ede",
"currency": "SAR",
"amount": 24209,
"transfer_id": "6db14dc8-9647-4dff-ae6f-822c29ae3a92",
"description": "string",
"created_at": "2026-02-15T12:59:11Z",
"updated_at": "2026-02-15T12:59:11Z",
"settled_at": "2026-02-16T10:13:12Z",
"metadata": {
"cart_id": "72e470a5-cbc4-47b3-a52a-e89fda6adb19",
"customer_email": "[email protected]",
"customer_id": "23432"
}
}
Business Error or validation error.
- application/json
- Schema
- Example (from schema)
Schema
Contains the error type
Human readable error message for the error
Contains string-array pair representing a field and list of validation errors.
{
"type": "invalid_request",
"message": null,
"errors": {
"foo": "this is returned for validation errors only"
}
}
Invalid authorization credentials
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [authentication_error]
Possible values: [Invalid authorization credentials]
{
"type": "authentication_error",
"message": "Invalid authorization credentials",
"errors": null
}
Invalid authorization credentials
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [api_error]
Possible values: [User not authorized]
{
"type": "api_error",
"message": "User not authorized",
"errors": null
}