Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Reference Reports 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: Reports
paths:
/v2.01/{ClientId}/reports/transactions:
post:
operationId: reports_create_transactions_report
summary: Create a Transactions Report
description: '**Note – Report expiration date**
A report expires after 24 hours (i.e., you can no longer download it after this period). You can still generate a new report with the same filters and information easily.
**Note – `BeforeDate` value restriction**
To ensure that data provided on each report are up-to-date, the `BeforeDate` parameter cannot be greater than the report creation date minus 5 minutes.
If it is, `BeforeDate` will be automatically set according to this constraint.
Generate a legacy Transactions Report'
tags:
- Reports
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/CreateATransactionsReportResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateATransactionsReportRequest'
security:
- oauth2: []
/v2.01/{ClientId}/reports/wallets:
post:
operationId: reports_create_wallets_report
summary: Create a Wallets Report
description: '**Note – Report expiration date**
A report expires after 24 hours (i.e., you can no longer download it after this delay). You can still generate a new report with the same filters and information easily.
Generate a legacy Wallets Report'
tags:
- Reports
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/CreateAWalletsReportResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAWalletsReportRequest'
security:
- oauth2: []
/v2.01/{ClientId}/reports/{ReportId}:
get:
operationId: reports_view_report_legacy
summary: View a Report
description: Retrieve a legacy report
tags:
- Reports
parameters:
- name: ClientId
in: path
description: Platform's API account identifier, associated with the API key.
required: true
schema:
type: string
- name: ReportId
in: path
description: The unique identifier of the legacy report.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponseLegacy'
security:
- oauth2: []
/v2.01/{ClientId}/reports:
get:
operationId: reports_list_reports_legacy
summary: List all Reports
description: List all legacy reports
tags:
- Reports
parameters:
- name: ClientId
in: path
description: Platform's API account identifier, associated with the API key.
required: true
schema:
type: string
- name: BeforeDate
in: query
description: The date before which the report was created (based on the report's `CreationDate` parameter). You can filter on a specific time range by using both the `AfterDate` and `BeforeDate` query parameters.
required: false
schema:
type: integer
- name: AfterDate
in: query
description: The date after which the report was created (based on the report's `CreationDate` parameter). You can filter on a specific time range by using both the `AfterDate` and `BeforeDate` query parameters.
required: false
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListAllReportsResponseLegacy'
security:
- oauth2: []
components:
schemas:
CreateAWalletsReportRequestFilters:
type: object
properties:
BeforeDate:
type: integer
description: 'The date before which the wallet was created (based on the wallet''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 24 months.'
AfterDate:
type: integer
description: 'The date after which the wallet was created (based on the wallet''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 24 months.'
OwnerId:
type: string
description: The unique identifier of the user owning the wallet.
Currency:
$ref: '#/components/schemas/Currency'
MinBalanceAmount:
type: integer
description: The balance amount above which the wallets are taken into account.
MinBalanceCurrency:
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 `MinBalanceAmount` value.'
MaxBalanceAmount:
type: integer
description: The balance amount below which the wallets are taken into account.
MaxBalanceCurrency:
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 `MaxBalanceAmount` value.'
description: The filtering parameters to optimize the report.
title: CreateAWalletsReportRequestFilters
CreateAWalletsReportRequest:
type: object
properties:
Tag:
$ref: '#/components/schemas/Tag'
DownloadFormat:
type: string
description: '**Possible values:** `CSV`
The format of the report file.'
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
Sort:
type: string
description: '**Possible values:** `CreationDate:ASC`, `CreationDate:DESC`
**Default value**: `CreationDate:ASC`
The sort direction based on transaction creation date.'
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/CreateAWalletsReportRequestFilters'
description: The filtering parameters to optimize the report.
Columns:
type: array
items:
type: string
description: '**Allowed values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
title: CreateAWalletsReportRequest
AuthorId:
type: string
description: The unique identifier of the user at the source of the transaction.
title: AuthorId
ListAllReportsResponseLegacyArrayReportsItems:
type: object
properties:
Object (Reports):
$ref: '#/components/schemas/ListAllReportsResponseLegacyArrayReportsItemsObjectReports'
description: The Report object created by the platform.
title: ListAllReportsResponseLegacyArrayReportsItems
CreateATransactionsReportRequest:
type: object
properties:
Tag:
$ref: '#/components/schemas/Tag'
DownloadFormat:
type: string
description: '**Possible values:** `CSV`
The format of the report file.'
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
Sort:
type: string
description: '**Possible values:** `CreationDate:ASC`, `CreationDate:DESC`
**Default value**: `CreationDate:ASC`
The sort direction based on transaction creation date.'
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/BeforeDateAfterDateType'
Columns:
type: array
items:
type: string
description: '**Allowed values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
title: CreateATransactionsReportRequest
BeforeDateAfterDateType:
type: object
properties:
BeforeDate:
type: integer
description: '**Returned values:** Any date between today''s date and 36 months in the past.
The date before which the transaction was created (based on the transaction''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 6 months.'
AfterDate:
type: integer
description: 'The date after which the transaction was created (based on the transaction''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 6 months.'
Type:
type: array
items:
type: string
description: The transaction types to be taken into account.
ResultCode:
type: array
items:
type: string
description: The transaction result codes to be taken into account.
Status:
type: array
items:
type: string
description: The transaction statuses to be taken into account.
Nature:
type: array
items:
type: string
description: '**Returned values:** `REGULAR`, `REPUDIATION`, `REFUND`, `SETTLEMENT`
The transaction natures to be taken into account.
- `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.'
WalletId:
type: string
description: The unique identifier of the wallet that is to be taken into account.
AuthorId:
$ref: '#/components/schemas/AuthorId'
MinDebitedFundsAmount:
type: integer
description: The debited funds amount above which the transactions are taken into account.
MinDebitedFundsCurrency:
type: string
description: '**Returned 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 `MinDebitedFundsAmount` value.'
MaxDebitedFundsAmount:
type: integer
description: The debited funds amount below which the transactions are taken into account.
MaxDebitedFundsCurrency:
type: string
description: '**Returned 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 `MaxDebitedFundsAmount` value.'
MinFeesAmount:
type: integer
description: The fees amount below which the transactions are taken into account.
MinFeesCurrency:
type: string
description: '**Returned 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 `MinFeesAmount` value.'
MaxFeesAmount:
type: integer
description: The fees amount above which the transactions are taken into account.
MaxFeesCurrency:
type: string
description: '**Returned 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 `MaxFeesAmount` value.'
description: The filtering parameters to optimize the report.
title: BeforeDateAfterDateType
ListAllReportsResponseLegacy:
type: object
properties:
Array (Reports):
type: array
items:
$ref: '#/components/schemas/ListAllReportsResponseLegacyArrayReportsItems'
description: The list of reports created by the platform.
title: ListAllReportsResponseLegacy
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
CreateAWalletsReportResponseFilters:
type: object
properties:
BeforeDate:
type: integer
description: 'The date before which the wallet was created (based on the wallet''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 24 months.'
AfterDate:
type: integer
description: 'The date after which the wallet was created (based on the wallet''s `CreationDate` parameter).
**Caution:** The time range between the `BeforeDate` and the `AfterDate` cannot exceed 24 months.'
OwnerId:
type: string
description: The unique identifier of the user owning the wallet.
Currency:
type: string
description: '**Returned 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 wallets to take into account.'
MinBalanceAmount:
type: integer
description: The balance amount above which the wallets are taken into account.
MinBalanceCurrency:
type: string
description: '**Returned 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 `MinBalanceAmount` value.'
MaxBalanceAmount:
type: integer
description: The balance amount below which the wallets are taken into account.
MaxBalanceCurrency:
type: string
description: '**Returned 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 `MaxBalanceAmount` value.'
description: The filtering parameters to optimize the report.
title: CreateAWalletsReportResponseFilters
ReportResponseLegacy:
type: object
properties:
Id:
$ref: '#/components/schemas/Id'
CreationDate:
$ref: '#/components/schemas/CreationDate'
Tag:
$ref: '#/components/schemas/Tag'
ReportDate:
type:
- integer
- 'null'
description: Unix timestamp (UTC) of the date and time the report was generated.
Status:
type: string
description: '**Returned values:** `PENDING`, `READY_FOR_DOWNLOAD`, `FAILED`, `EXPIRED`
The status of the report:
- `PENDING` – The report is being generated.
- `READY_FOR_DOWNLOAD` – The report has been created, and can be downloaded.
- `FAILED` – The report cannot be generated.
- `EXPIRED` – The report was created, but is no longer available for download (it can be re-run to be downloaded again with fresh data).'
DownloadFormat:
type: string
description: '**Returned values:** `CSV`
The format in which the report is going to be downloaded.'
DownloadURL:
type:
- string
- 'null'
description: The URL at which the report file can be downloaded when the `Status` is `GENERATED`.
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
ReportType:
$ref: '#/components/schemas/ReportType_Legacy_Response'
Sort:
type: string
description: The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date.
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/BeforeDateAfterDateType'
Columns:
type: array
items:
type: string
description: '**Returned values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
ResultCode:
type: array
items:
type: string
description: The transaction result codes to be taken into account.
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
title: ReportResponseLegacy
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
CreateATransactionsReportResponse:
type: object
properties:
Id:
$ref: '#/components/schemas/Id'
CreationDate:
$ref: '#/components/schemas/CreationDate'
Tag:
$ref: '#/components/schemas/Tag'
ReportDate:
type:
- integer
- 'null'
description: Unix timestamp (UTC) of the date and time the report was generated.
Status:
type: string
description: '**Returned values:** `PENDING`, `READY_FOR_DOWNLOAD`, `FAILED`, `EXPIRED`
The status of the report:
- `PENDING` – The report is being generated.
- `READY_FOR_DOWNLOAD` – The report has been created, and can be downloaded.
- `FAILED` – The report cannot be generated.
- `EXPIRED` – The report was created, but is no longer available for download (it can be re-run to be downloaded again with fresh data).'
DownloadFormat:
type: string
description: '**Returned values:** `CSV`
The format in which the report is going to be downloaded.'
DownloadURL:
type:
- string
- 'null'
description: The URL at which the report file can be downloaded when the `Status` is `GENERATED`.
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
ReportType:
$ref: '#/components/schemas/ReportType_Legacy_Response'
Sort:
type: string
description: The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date.
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/BeforeDateAfterDateType'
Columns:
type: array
items:
type: string
description: '**Returned values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
title: CreateATransactionsReportResponse
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
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
ReportType_Legacy_Response:
type: string
description: '**Returned values:** `TRANSACTIONS`, `WALLETS`
The type of the report, indicating whether it lists transactions or wallets.'
title: ReportType_Legacy_Response
CreateAWalletsReportResponse:
type: object
properties:
Id:
$ref: '#/components/schemas/Id'
CreationDate:
$ref: '#/components/schemas/CreationDate'
Tag:
$ref: '#/components/schemas/Tag'
ReportDate:
type:
- integer
- 'null'
description: Unix timestamp (UTC) of the date and time the report was generated.
Status:
type: string
description: '**Returned values:** `PENDING`, `READY_FOR_DOWNLOAD`, `FAILED`, `EXPIRED`
The status of the report:
- `PENDING` – The report is being generated.
- `READY_FOR_DOWNLOAD` – The report has been created, and can be downloaded.
- `FAILED` – The report cannot be generated.
- `EXPIRED` – The report was created, but is no longer available for download (it can be re-run to be downloaded again with fresh data).'
DownloadFormat:
type: string
description: '**Returned values:** `CSV`
The format in which the report is going to be downloaded.'
DownloadURL:
type:
- string
- 'null'
description: The URL at which the report file can be downloaded when the `Status` is `GENERATED`.
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
ReportType:
$ref: '#/components/schemas/ReportType_Legacy_Response'
Sort:
type: string
description: The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date.
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/CreateAWalletsReportResponseFilters'
description: The filtering parameters to optimize the report.
Columns:
type: array
items:
type: string
description: '**Returned values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
title: CreateAWalletsReportResponse
ListAllReportsResponseLegacyArrayReportsItemsObjectReports:
type: object
properties:
Id:
$ref: '#/components/schemas/Id'
CreationDate:
$ref: '#/components/schemas/CreationDate'
Tag:
$ref: '#/components/schemas/Tag'
ReportDate:
type:
- integer
- 'null'
description: Unix timestamp (UTC) of the date and time the report was generated.
Status:
type: string
description: '**Returned values:** `PENDING`, `READY_FOR_DOWNLOAD`, `FAILED`, `EXPIRED`
The status of the report:
- `PENDING` – The report is being generated.
- `READY_FOR_DOWNLOAD` – The report has been created, and can be downloaded.
- `FAILED` – The report cannot be generated.
- `EXPIRED` – The report was created, but is no longer available for download (it can be re-run to be downloaded again with fresh data).'
DownloadFormat:
type: string
description: '**Returned values:** `CSV`
The format in which the report is going to be downloaded.'
DownloadURL:
type:
- string
- 'null'
description: The URL at which the report file can be downloaded when the `Status` is `GENERATED`.
CallbackURL:
type: string
description: 'Max. length: 255 characters
The URL to which the notification indicating that the report is ready to be downloaded will be sent.'
ReportType:
$ref: '#/components/schemas/ReportType_Legacy_Response'
Sort:
type: string
description: The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date.
Preview:
type: boolean
description: Whether the report is limited to the first 10 lines (and therefore quicker to generate).
Filters:
$ref: '#/components/schemas/BeforeDateAfterDateType'
Columns:
type: array
items:
type: string
description: '**Returned values:** The `Columns` listed in the <a href="/reports">Reports</a> article, which differ according to the report type.
The information to be included in the report.'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
description: The Report object created by the platform.
title: ListAllReportsResponseLegacyArrayReportsItemsObjectReports
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
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)