# Create a transfer transaction Transfers funds between managed accounts and managed cards belonging to the same corporate or consumer identity. The Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees). Endpoint: POST /transfers Version: 3.63.5 Security: auth_token, api-key ## 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 fields (application/json): - `profileId` (string, required) 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) The tag field is a custom field that can be used to search and filter. - `source` (object, required) The managed account or managed card from where the funds will be transferred. - `source.id` (string, required) - `source.type` (string, required) Enum: "managed_cards", "managed_accounts" - `description` (string) The description details that are included in the transaction as reference. - `destination` (object, required) The managed account or managed card to where the funds will be transferred. - `destinationAmount` (object, required) The amount, in same currency as the source and destination instruments, to be transferred to the destination (exclusive of any fee amount that may be specified in the profile). - `destinationAmount.currency` (string, required) The currency expressed in ISO-4217 code. Example: GBP, EUR, USD. - `destinationAmount.amount` (integer, required) The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00. - `scheduledTimestamp` (string) The epoch timestamp at which the transaction is scheduled to be executed. ## Response 200 fields (application/json): - `id` (string, required) The unique identifier of a Transfer transaction. - `profileId` (string, required) 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) The tag field is a custom field that can be used to search and filter. - `source` (object, required) The source managed account or card from where the funds were transferred. - `source.id` (string, required) - `source.type` (string, required) Enum: "managed_cards", "managed_accounts" - `destination` (object, required) The destination managed account or card to where the funds were transferred. - `destinationAmount` (object, required) The amount, in same currency as source and destination, that was transferred from the source to the destination instrument. - `destinationAmount.currency` (string, required) The currency expressed in ISO-4217 code. Example: GBP, EUR, USD. - `destinationAmount.amount` (integer, required) The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00. - `description` (string) The description details that are included in the transaction as reference. - `state` (string, required) Status of the transaction. Enum: "INITIALISED", "COMPLETED", "REJECTED", "FAILED", "PENDING", "SCHEDULED", "CANCELLED" - `creationTimestamp` (integer, required) The time when the transaction was created, expressed in Epoch timestamp using millisecond precision. - `scheduledTimestamp` (string) The epoch timestamp at which the transaction is scheduled to be executed. - `executionTimestamp` (string) The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED. - `cancellationReason` (string) The reason the scheduled transaction was cancelled. ## Response 400 fields (application/json): - `message` (string) When present helps to identify and fix the problem. - `syntaxErrors` (object) Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided. - `syntaxErrors.invalidFields` (array) - `syntaxErrors.invalidFields.params` (array) - `syntaxErrors.invalidFields.fieldName` (string) - `syntaxErrors.invalidFields.error` (string) Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE" ## Response 409 fields (application/json): - `errorCode` (string) Enum: "PROFILE_INACTIVE", "MODEL_CONSTRAINTS_VIOLATED", "INTERCEPTOR_DENIED_TRANSACTION", "INSTRUMENT_DENIED_TRANSACTION", "SOURCE_INSTRUMENT_DESTROYED", "DESTINATION_INSTRUMENT_DESTROYED", "FOREX_TRADE_DENIED_TRANSACTION", "CURRENCY_MISMATCH", "SOURCE_INSTRUMENT_BLOCKED", "DESTINATION_INSTRUMENT_BLOCKED", "FUNDS_INSUFFICIENT", "AMOUNT_INVALID", "SOURCE_NOT_FOUND", "DESTINATION_NOT_FOUND", "FEE_NOT_CONFIGURED_FOR_CURRENCY", "DESTINATION_LIMIT_EXCEEDED", "SOURCE_CANNOT_BE_DEBIT_MODE_CARD", "DESTINATION_CANNOT_BE_DEBIT_MODE_CARD", "TRANSFER_BETWEEN_INSTRUMENTS_UNSUPPORTED", "SOURCE_AND_DESTINATION_MUST_BE_DIFFERENT", "SCHEDULED_TIMESTAMP_INVALID" ## Response default fields (application/json): - `code` (string) - `message` (string) ## Response 401 fields ## Response 403 fields ## Response 429 fields ## Response 500 fields ## Response 503 fields