Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/mangopay:mangopay-transfers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Reference Transfers API
version: 1.0.0
servers:
- url: https://api.sandbox.mangopay.com
description: Sandbox
- url: https://api.mangopay.com
description: Production
- url: https://api-mtls.sandbox.mangopay.com
description: mTLS Sandbox
- url: https://api-mtls.mangopay.com
description: mTLS Production
- url: '%7BCardRegistrationUrl%7D'
description: "The full dynamic URL returned by the Create a Card Registration call, including host, path, and query parameters. \n"
- url: '%7BSettlementFileUploadUrl%7D'
description: 'The unique URL returned by the [POST Create a Settlement and secure URL](/api-reference/settlements/create-settlement) endpoint.
**Note:** Use the full dynamic URL including the host, path, and all query parameters. The URL is already authenticated, so this call does not require an Authorization header.
'
tags:
- name: Transfers
paths:
/v2.01/{ClientId}/transfers:
post:
operationId: transfers_create_transfer
summary: Create a Transfer
description: '**Note – ScaContext default value is USER_PRESENT**
On this endpoint, the default value for `ScaContext` is `USER_PRESENT`. If the `PendingUserAction.RedirectUrl` value is returned, you need to redirect the user to perform SCA.
With approval from Mangopay, your platform may be able to use the `USER_NOT_PRESENT` value provided you also have a legal proxy in place with the user and the user''s consent to initiate transfers on their behalf (read more about proxy management).
**Note – SCA may be triggered by this endpoint**
When a user with `UserCategory` `OWNER` initiates a transfer to another `OWNER` they are required to authenticate the transfer with SCA, unless Mangopay applies a low-amount or low-risk exemption to the transfer (or unless your platform is using a proxy and user consent).
To let the user complete the SCA session on the Mangopay-hosted webpage, your platform needs to retrieve the returned `PendingUserAction.RedirectUrl`, add an encoded `returnUrl` query parameter, and redirect the user. Read more about how to redirect them in the SCA session guide.
In Sandbox, you can bypass SCA by including the word `accept` in the `Email` value of the Natural User or the `LegalRepresentative.Email` value of the Legal User – for example `accept@example.com` or `john.doe+accept@example.com`.
Create a Transfer'
tags:
- Transfers
parameters:
- name: ClientId
in: path
description: Platform's API account identifier, associated with the API key.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateATransferResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateATransferRequest'
security:
- oauth2: []
/v2.01/{ClientId}/transfers/{TransferId}:
get:
operationId: transfers_view_transfer
summary: View a Transfer
description: '**Note – Transfer data retained for 13 months**
An API call to retrieve a transfer whose `CreationDate` is older than 13 months may return 404 Not Found.
For more information, see the Data availability periods article.
View a Transfer'
tags:
- Transfers
parameters:
- name: ClientId
in: path
description: Platform's API account identifier, associated with the API key.
required: true
schema:
type: string
- name: TransferId
in: path
description: The unique identifier of the transfer.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ViewATransferResponse'
security:
- oauth2: []
components:
schemas:
CreateATransferResponse:
type: object
properties:
ScaContext:
type: string
description: '**Possible values:** `USER_PRESENT`, `USER_NOT_PRESENT`
The SCA context of the request, which is **required** if the debited wallet owner''s `UserCategory` is `OWNER`:
- `USER_PRESENT` – The user is taking the SCA-triggering action of initiating a transfer. The platform must [redirect the user](/guides/sca/session) using the `PendingUserAction.RedirectUrl` returned so that the user can complete the SCA session (unless Mangopay applied an exemption for low-amount and low-risk transfers, so no redirection link was returned).
- `USER_NOT_PRESENT` – The platform is taking the action under proxy from the user and the user has previously given consent to Mangopay (via the SCA hosted experience) to allow the action. If the user has not given (or has revoked) their consent, then `USER_NOT_PRESENT` returns a 403 error.
Read more about [managing proxy and user consent](/guides/sca/proxy-management) **→**
**Note:** For existing platforms, the parameter is technically optional if the debited wallet owner''s `UserCategory` is `OWNER`, and the default value will become `USER_PRESENT` from **Dec 15, 2025** (Dec 1 in Sandbox)'
Id:
$ref: '#/components/schemas/Id'
Tag:
$ref: '#/components/schemas/Tag'
CreationDate:
$ref: '#/components/schemas/CreationDate'
AuthorId:
$ref: '#/components/schemas/AuthorId'
CreditedUserId:
$ref: '#/components/schemas/CreditedUserId'
DebitedFunds:
$ref: '#/components/schemas/CreateATransferResponseDebitedFunds'
description: Information about the debited funds.
CreditedFunds:
$ref: '#/components/schemas/CreateATransferResponseCreditedFunds'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
Fees:
$ref: '#/components/schemas/CreateATransferResponseFees'
description: Information about the fees.
Status:
$ref: '#/components/schemas/TransactionStatus'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
ExecutionDate:
$ref: '#/components/schemas/TransactionExecutionDate'
Type:
$ref: '#/components/schemas/TransactionType'
Nature:
$ref: '#/components/schemas/TransactionNature'
DebitedWalletId:
type: string
description: The unique identifier of the debited wallet.
CreditedWalletId:
type: string
description: The unique identifier of the credited wallet.
PendingUserAction:
$ref: '#/components/schemas/PendingUserAction'
title: CreateATransferResponse
CreateATransferRequestFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
required:
- Currency
- Amount
description: Information about the fees.
title: CreateATransferRequestFees
Amount:
type: integer
description: The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
title: Amount
CreateATransferResponseFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the fees.
title: CreateATransferResponseFees
TransactionExecutionDate:
type: integer
description: Unix timestamp (UTC) of the date and time the status changed to `SUCCEEDED`, indicating that the transaction occurred. The statuses `CREATED` and `FAILED` return an `ExecutionDate` of `null`.
title: TransactionExecutionDate
ViewATransferResponseFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the fees.
title: ViewATransferResponseFees
AuthorId:
type: string
description: The unique identifier of the user at the source of the transaction.
title: AuthorId
CreateATransferRequest:
type: object
properties:
ScaContext:
type: string
description: '**Possible values:** `USER_PRESENT`, `USER_NOT_PRESENT`
The SCA context of the request, which is **required** if the debited wallet owner''s `UserCategory` is `OWNER`:
- `USER_PRESENT` – The user is taking the SCA-triggering action of initiating a transfer. The platform must [redirect the user](/guides/sca/session) using the `PendingUserAction.RedirectUrl` returned so that the user can complete the SCA session (unless Mangopay applied an exemption for low-amount and low-risk transfers, so no redirection link was returned).
- `USER_NOT_PRESENT` – The platform is taking the action under proxy from the user and the user has previously given consent to Mangopay (via the SCA hosted experience) to allow the action. If the user has not given (or has revoked) their consent, then `USER_NOT_PRESENT` returns a 403 error.
Read more about [managing proxy and user consent](/guides/sca/proxy-management) **→**
**Note:** For existing platforms, the parameter is technically optional if the debited wallet owner''s `UserCategory` is `OWNER`, and the default value will become `USER_PRESENT` from **Dec 15, 2025** (Dec 1 in Sandbox)'
AuthorId:
$ref: '#/components/schemas/AuthorId'
DebitedFunds:
$ref: '#/components/schemas/CreateATransferRequestDebitedFunds'
description: Information about the debited funds.
Fees:
$ref: '#/components/schemas/CreateATransferRequestFees'
description: Information about the fees.
CreditedWalletId:
type: string
description: The unique identifier of the credited wallet.
DebitedWalletId:
type: string
description: The unique identifier of the debited wallet.
Tag:
$ref: '#/components/schemas/Tag'
required:
- AuthorId
- DebitedFunds
- Fees
- CreditedWalletId
- DebitedWalletId
title: CreateATransferRequest
ViewATransferResponse:
type: object
properties:
ScaContext:
type: string
description: '**Possible values:** `USER_PRESENT`, `USER_NOT_PRESENT`
The SCA context of the request, which is **required** if the debited wallet owner''s `UserCategory` is `OWNER`:
- `USER_PRESENT` – The user is taking the SCA-triggering action of initiating a transfer. The platform must [redirect the user](/guides/sca/session) using the `PendingUserAction.RedirectUrl` returned so that the user can complete the SCA session (unless Mangopay applied an exemption for low-amount and low-risk transfers, so no redirection link was returned).
- `USER_NOT_PRESENT` – The platform is taking the action under proxy from the user and the user has previously given consent to Mangopay (via the SCA hosted experience) to allow the action. If the user has not given (or has revoked) their consent, then `USER_NOT_PRESENT` returns a 403 error.
Read more about [managing proxy and user consent](/guides/sca/proxy-management) **→**
**Note:** For existing platforms, the parameter is technically optional if the debited wallet owner''s `UserCategory` is `OWNER`, and the default value will become `USER_PRESENT` from **Dec 15, 2025** (Dec 1 in Sandbox)'
Id:
$ref: '#/components/schemas/Id'
Tag:
$ref: '#/components/schemas/Tag'
CreationDate:
$ref: '#/components/schemas/CreationDate'
AuthorId:
$ref: '#/components/schemas/AuthorId'
CreditedUserId:
$ref: '#/components/schemas/CreditedUserId'
DebitedFunds:
$ref: '#/components/schemas/ViewATransferResponseDebitedFunds'
description: Information about the debited funds.
CreditedFunds:
$ref: '#/components/schemas/ViewATransferResponseCreditedFunds'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
Fees:
$ref: '#/components/schemas/ViewATransferResponseFees'
description: Information about the fees.
Status:
$ref: '#/components/schemas/TransactionStatus'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
ExecutionDate:
$ref: '#/components/schemas/TransactionExecutionDate'
Type:
$ref: '#/components/schemas/TransactionType'
Nature:
$ref: '#/components/schemas/TransactionNature'
DebitedWalletId:
type: string
description: The unique identifier of the debited wallet.
CreditedWalletId:
type: string
description: The unique identifier of the credited wallet.
title: ViewATransferResponse
CreateATransferRequestDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
required:
- Currency
- Amount
description: Information about the debited funds.
title: CreateATransferRequestDebitedFunds
TransactionStatus:
type: string
description: '**Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`
The status of the transaction.'
title: TransactionStatus
ViewATransferResponseCreditedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
title: ViewATransferResponseCreditedFunds
CreditedUserId:
type: string
description: '**Default value:** The unique identifier of the owner of the credited wallet.
The unique identifier of the user whose wallet is credited.'
title: CreditedUserId
ResultMessage:
type: string
description: The explanation of the result code.
title: ResultMessage
Currency:
type: string
description: '**Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).
The currency of the amount.'
title: Currency
CreateATransferResponseCreditedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
title: CreateATransferResponseCreditedFunds
PendingUserAction:
type: object
properties:
RedirectUrl:
type: string
description: 'The URL to which to redirect the user to perform strong customer authentication (SCA) via a Mangopay-hosted webpage. This value is a variable and should not be hardcoded.
The SCA session link expires 10 minutes after it''s generated.
**Caution:** Before redirecting the user on this URL, you must add the query parameter `ReturnUrl` with the percent-encoded URL to which you want the SCA session to return the user after authentication (whether successful or not).
For more details, see [How to redirect a user for an SCA session](/guides/sca/session#how-to-redirect-a-user-for-sca).'
description: Object containing the `RedirectUrl` needed for SCA redirection if triggered by the API call (otherwise returned `null`).
title: PendingUserAction
TransactionNature:
type: string
description: '**Returned values:** `REGULAR`, `REPUDIATION`, `REFUND`, `SETTLEMENT`
The nature of the transaction, providing more information about the context in which the transaction occurred:
- `REGULAR` – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
- `REPUDIATION` – Automatic withdrawal of funds from the platform''s repudiation wallet as part of the dispute process (when the user has requested a chargeback).
- `REFUND` – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
- `SETTLEMENT` – Transfer made to the repudiation wallet by the platform to settle a lost dispute.'
title: TransactionNature
Tag:
type: string
description: 'Max. length: 255 characters
Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: `"{\"id_1\":AB123,\"id_2\":DE456}"`.'
title: Tag
CreationDate:
type: integer
description: Unix timestamp (UTC) of the date and time the object was created.
title: CreationDate
Error:
type: object
properties:
Message:
type: string
description: Description of the error.
Type:
type: string
description: 'The category of the error.
'
Id:
type: string
description: Unique identifier of the error instance, useful when contacting Mangopay for support.
Date:
type: number
format: double
description: Unix timestamp (UTC) of the date and time the error was triggered.
errors:
type:
- object
- 'null'
additionalProperties:
type: string
description: 'Object containing one or more field-level errors.
'
description: 'The error body typically returned by the Mangopay API for any non-2xx HTTP status code.
'
title: Error
ViewATransferResponseDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the debited funds.
title: ViewATransferResponseDebitedFunds
Id:
type: string
description: 'Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)
The unique identifier of the object.'
title: Id
CreateATransferResponseDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the debited funds.
title: CreateATransferResponseDebitedFunds
ResultCode:
type: string
description: The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
title: ResultCode
TransactionType:
type: string
description: '**Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`
The type of the transaction.'
title: TransactionType
securitySchemes:
oauth2:
type: http
scheme: bearer
description: "Bearer authentication of the form `Bearer <token>`, where token is your auth token. \n\nIf your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL."
x-provenance:
method: harvested
publisher: Mangopay
source: https://docs.mangopay.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)