> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.mangopay.com/api-reference/reports/create-transactions-report/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server. # Create a Transactions Report POST https://api.sandbox.mangopay.com/v2.01/{ClientId}/reports/transactions Content-Type: application/json **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 Reference: https://docs.mangopay.com/api-reference/reports/create-transactions-report ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. If 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. ## Servers - `https://api.sandbox.mangopay.com` (Sandbox, default) - `https://api.mangopay.com` (Production) - `https://api-mtls.sandbox.mangopay.com` (mTLS Sandbox) - `https://api-mtls.mangopay.com` (mTLS Production) ## Request ### Path parameters - `ClientId` (string, required) — Platform's API account identifier, associated with the API key. ### Body (application/json) This endpoint expects a CreateATransactionsReportRequest. - `Tag` (string, optional) — 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}"`. - `DownloadFormat` (string, optional) — **Possible values:** `CSV` The format of the report file. - `CallbackURL` (string, optional) — Max. length: 255 characters The URL to which the notification indicating that the report is ready to be downloaded will be sent. - `Sort` (string, optional) — **Possible values:** `CreationDate:ASC`, `CreationDate:DESC` **Default value**: `CreationDate:ASC` The sort direction based on transaction creation date. - `Preview` (boolean, optional) — Whether the report is limited to the first 10 lines (and therefore quicker to generate). - `Filters` (BeforeDateAfterDateType, optional) — The filtering parameters to optimize the report. - `Columns` (list of string, optional) — **Allowed values:** The `Columns` listed in the Reports article, which differ according to the report type. The information to be included in the report. ## Response ### 200 Success - `Id` (string, optional) — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object. - `CreationDate` (integer, optional) — Unix timestamp (UTC) of the date and time the object was created. - `Tag` (string, optional) — 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}"`. - `ReportDate` (integer, optional, nullable) — Unix timestamp (UTC) of the date and time the report was generated. - `Status` (string, optional) — **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` (string, optional) — **Returned values:** `CSV` The format in which the report is going to be downloaded. - `DownloadURL` (string, optional, nullable) — The URL at which the report file can be downloaded when the `Status` is `GENERATED`. - `CallbackURL` (string, optional) — Max. length: 255 characters The URL to which the notification indicating that the report is ready to be downloaded will be sent. - `ReportType` (string, optional) — **Returned values:** `TRANSACTIONS`, `WALLETS` The type of the report, indicating whether it lists transactions or wallets. - `Sort` (string, optional) — The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date. - `Preview` (boolean, optional) — Whether the report is limited to the first 10 lines (and therefore quicker to generate). - `Filters` (BeforeDateAfterDateType, optional) — The filtering parameters to optimize the report. - `Columns` (list of string, optional) — **Returned values:** The `Columns` listed in the Reports article, which differ according to the report type. The information to be included in the report. - `ResultCode` (string, optional) — The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes. - `ResultMessage` (string, optional) — The explanation of the result code. ## Errors ### 400 Bad Request Error Bad Request - `Message` (string, optional) — Description of the error. - `Type` (string, optional) — The category of the error. - `Id` (string, optional) — Unique identifier of the error instance, useful when contacting Mangopay for support. - `Date` (double, optional) — Unix timestamp (UTC) of the date and time the error was triggered. - `errors` (map from string to string, optional, nullable) — Object containing one or more field-level errors. ## Types ### BeforeDateAfterDateType The filtering parameters to optimize the report. - `BeforeDate` (integer, optional) — **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` (integer, optional) — 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` (list of string, optional) — The transaction types to be taken into account. - `ResultCode` (list of string, optional) — The transaction result codes to be taken into account. - `Status` (list of string, optional) — The transaction statuses to be taken into account. - `Nature` (list of string, optional) — **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` (string, optional) — The unique identifier of the wallet that is to be taken into account. - `AuthorId` (string, optional) — The unique identifier of the user at the source of the transaction. - `MinDebitedFundsAmount` (integer, optional) — The debited funds amount above which the transactions are taken into account. - `MinDebitedFundsCurrency` (string, optional) — **Returned values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the `MinDebitedFundsAmount` value. - `MaxDebitedFundsAmount` (integer, optional) — The debited funds amount below which the transactions are taken into account. - `MaxDebitedFundsCurrency` (string, optional) — **Returned values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the `MaxDebitedFundsAmount` value. - `MinFeesAmount` (integer, optional) — The fees amount below which the transactions are taken into account. - `MinFeesCurrency` (string, optional) — **Returned values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the `MinFeesAmount` value. - `MaxFeesAmount` (integer, optional) — The fees amount above which the transactions are taken into account. - `MaxFeesCurrency` (string, optional) — **Returned values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the `MaxFeesAmount` value. ## Examples **Request** ```json { "body": { "CallbackURL": null, "Columns": [ "Id", "Tag", "CreationDate", "ExecutionDate", "AuthorId", "CreditedUserId", "DebitedFundsAmount", "DebitedFundsCurrency", "CreditedFundsAmount", "CreditedFundsCurrency", "FeesAmount", "FeesCurrency", "Status", "ResultCode", "ResultMessage", "Type", "Nature", "CreditedWalletId", "DebitedWalletId" ], "DownloadFormat": "CSV", "Filters": { "AfterDate": 1655725644, "AuthorId": null, "BeforeDate": 1658317644, "MaxDebitedFundsAmount": null, "MaxDebitedFundsCurrency": null, "MaxFeesAmount": null, "MaxFeesCurrency": null, "MinDebitedFundsAmount": null, "MinDebitedFundsCurrency": null, "MinFeesAmount": null, "MinFeesCurrency": null, "Nature": [], "ResultCode": [], "Status": [], "Type": [], "WalletId": null }, "Preview": false, "Sort": "CreationDate:ASC", "Tag": "Created using Mangopay API Postman Collection" } } ``` **Response** ```json { "Id": "report_m_01JFA0JQQJ1X6W6VT6042SASTC", "CreationDate": 1734429204, "Tag": "Created using Mangopay API Postman Collection", "ReportDate": null, "Status": "PENDING", "DownloadFormat": "CSV", "DownloadURL": null, "CallbackURL": null, "ReportType": "TRANSACTIONS", "Sort": "CreationDate:ASC", "Preview": false, "Filters": { "BeforeDate": 1658317644, "AfterDate": 1655725644, "Type": [], "ResultCode": [], "Status": [], "Nature": [], "WalletId": null, "AuthorId": null, "MinDebitedFundsAmount": null, "MinDebitedFundsCurrency": null, "MaxDebitedFundsAmount": null, "MaxDebitedFundsCurrency": null, "MinFeesAmount": null, "MinFeesCurrency": null, "MaxFeesAmount": null, "MaxFeesCurrency": null }, "Columns": [ "Id", "Tag", "CreationDate", "ExecutionDate", "AuthorId", "CreditedUserId", "DebitedFundsAmount", "DebitedFundsCurrency", "CreditedFundsAmount", "CreditedFundsCurrency", "FeesAmount", "FeesCurrency", "Status", "ResultCode", "ResultMessage", "Type", "Nature", "CreditedWalletId", "DebitedWalletId" ], "ResultCode": null, "ResultMessage": null } ``` **SDK Code** ```python from pprint import pprint import mangopay mangopay.client_id='your-client-id' mangopay.apikey='your-api-key' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.resources import ReportTransactions from mangopay.utils import ReportTransactionsFilters transactions_report = ReportTransactions( tag = 'Created using Mangopay Python SDK', download_format = 'CSV', callback_url = 'https://docs.mangopay.com/please-ignore', sort = 'CreationDate: ASC', preview = False, filters = ReportTransactionsFilters( status = ['SUCCEEDED'], nature = ['REGULAR'], wallet_id = None, author_id = None, min_debited_funds_amount = 0, min_debited_funds_currency = 'EUR', max_debited_funds_amount = 1000000, max_debited_funds_currency = 'EUR', ), columns = [ 'Id', 'Tag', 'CreationDate', 'ExecutionDate', 'AuthorId', 'CreditedUserId', 'DebitedFundsAmount', 'DebitedFundsCurrency', 'CreditedFundsAmount', 'CreditedFundsCurrency', 'FeesAmount', 'FeesCurrency', 'Status', 'ResultCode', 'ResultMessage', 'Type', 'Nature', 'CreditedWalletId', 'DebitedWalletId' ] ) create_report = transactions_report.create() pprint(create_report._data) ``` ```csharp using MangoPay.SDK; using MangoPay.SDK.Core.Enumerations; using MangoPay.SDK.Entities.POST; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { MangoPayApi api = new MangoPayApi(); api.Config.ClientId = "your-client-id"; api.Config.ClientPassword = "your-api-key"; var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN"; var walletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3"; var report = new ReportRequestPostDTO(ReportType.TRANSACTIONS) { Filters = { AuthorId = userId, WalletId = walletId, MinDebitedFundsAmount = 500, MinDebitedFundsCurrency = CurrencyIso.EUR, MaxDebitedFundsAmount = 50000, MaxDebitedFundsCurrency = CurrencyIso.EUR }, Columns = [ "Id", "Tag", "CreationDate", "ExecutionDate", "AuthorId", "CreditedUserId", "DebitedFundsAmount", "DebitedFundsCurrency", "CreditedFundsAmount", "CreditedFundsCurrency", "FeesAmount", "FeesCurrency", "Status", "ResultCode", "ResultMessage", "Type", "Nature", "CreditedWalletId", "DebitedWalletId" ], CallbackURL = "https://docs.mangopay.com/please-ignore", Tag = "Created using the Mangopay .NET SDK" }; var createReport = await api.Reports.CreateAsync(report); string prettyPrint = JsonConvert.SerializeObject(createReport, Formatting.Indented); Console.WriteLine(prettyPrint); } } ``` ```php Config->ClientId = 'your-client-id'; $api->Config->ClientPassword = 'your-api-key'; $api->Config->TemporaryFolder = 'tmp/'; try { $reportRequest = new \MangoPay\ReportRequest(); $reportRequest->ReportType = \MangoPay\ReportType::Transactions; $reportRequest->CallbackURL = 'https://docs.mangopay.com/please-ignore'; $reportRequest->Tag = 'Created using Mangopay PHP SDK'; $reportRequest->Filters = [ 'BeforeDate' => 1658838931, 'AfterDate' => 1656246931, 'Type' => ['PAYIN', 'PAYOUT'], 'ResultCode' => ['000000'], 'Status' => ['SUCCEEDED'], 'Nature' => ['REGULAR'], 'MinDebitedFundsAmount' => null, 'MinDebitedFundsCurrency' => 'EUR', 'MaxDebitedFundsAmount' => null, 'MaxDebitedFundsCurrency' => 'EUR', 'MinFeesAmount' => 0, 'MinFeesCurrency' => 'EUR', 'MaxFeesAmount' => 100000, 'MaxFeesCurrency' => 'EUR', ]; $reportRequest->Columns = [ 'Id', 'Tag', 'CreationDate', 'ExecutionDate', 'AuthorId', 'CreditedUserId', 'DebitedFundsAmount', 'DebitedFundsCurrency', 'CreditedFundsAmount', 'CreditedFundsCurrency', 'FeesAmount', 'FeesCurrency', 'Status', 'ResultCode', 'ResultMessage', 'Type', 'Nature', 'CreditedWalletId', 'DebitedWalletId', ]; $response = $api->Reports->Create($reportRequest); print_r($response); } catch(MGPResponseException $e) { print_r($e); } catch(MGPException $e) { print_r($e); } ``` ```ruby require 'mangopay' MangoPay.configure do |client| client.preproduction = true client.client_id = 'your-client-id' client.client_apiKey = 'your-api-key' client.log_file = File.join(Dir.pwd, 'mangopay.log') end myReport = { ReportType: 'transactions', Tag: 'Created using Mangopay Ruby SDK', DownloadFormat: 'CSV', CallbackURL: 'https://docs.mangopay.com/please-ignore', Sort: 'CreationDate: ASC', Preview: false, Filters: { BeforeDate: 1658838931, AfterDate: 1656246931, Type: ['PAYIN', 'PAYOUT'], ResultCode: ['000000'], Status: ['SUCCEEDED'], Nature: ['REGULAR'], WalletId: nil, AuthorId: nil, MinDebitedFundsAmount: nil, MinDebitedFundsCurrency: 'EUR', MaxDebitedFundsAmount: nil, MaxDebitedFundsCurrency: 'EUR', MinFeesAmount: 0, MinFeesCurrency: 'EUR', MaxFeesAmount: 100000, MaxFeesCurrency: 'EUR' }, Columns: [ 'Id', 'Tag', 'CreationDate', 'ExecutionDate', 'AuthorId', 'CreditedUserId', 'DebitedFundsAmount', 'DebitedFundsCurrency', 'CreditedFundsAmount', 'CreditedFundsCurrency', 'FeesAmount', 'FeesCurrency', 'Status', 'ResultCode', 'ResultMessage', 'Type', 'Nature', 'CreditedWalletId', 'DebitedWalletId' ] } createTransactionsReport(myReport) ```