openapi: 3.2.0 info: title: Reporting Reports API description: Data Reports API enables easy access to build consumable data sets. It is designed for merchants or system integrators looking for transaction-level payment data. version: 1.4.0 contact: name: Reporting API Support url: https://developer.payments.jpmorgan.com/contact-support email: ms.pit.team@jpmorgan.com servers: - url: https://api.reports.jpmorgan.com/api/v1 description: PRODUCTION - OAUTH - url: https://api.reports-files.jpmorgan.com/api/v1 description: PRODUCTION - OAUTH REPORTS FILES - url: https://api.reports.test.jpmorgan.com/api/v1 description: CLIENT TESTING - OAUTH - url: https://api-mock.payments.jpmorgan.com/api/v1 description: MOCK security: - BearerAuth: [] tags: - name: Reports description: Endpoints for reports. paths: /reports: get: summary: Get a list of available reports. operationId: v1ListReports tags: - Reports description: Get a list of available reports. parameters: - name: next in: header schema: type: string description: This is used for specifying individual parameters under API endpoint methods. examples: Success: value: Q0MtMTAzMDMyLVY3NzY0ODMtODA3MTUtVUFUfDEwYjQ1YzJlNzhhMGFiNDA5ZDlkYWJhZDY3Y2FmZWIxZGUwMGYwN2ZmZmZjMTcwMA Authentication Failure: value: XYX1239999999 - name: reportStartDate in: query schema: type: string description: Report creation start date. Format- YYYY-MM-DD. examples: Success: value: '2025-01-05' - name: reportEndDate in: query schema: type: string description: Report creation end date. Format- YYYY-MM-DD. examples: Success: value: '2025-01-05' - name: reportConfigurationId in: query schema: type: string description: The unique identifier for report configuration. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/reportList' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/adfsError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/messages' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/messages' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/messages' '504': description: Gateway Timeout content: application/json: schema: $ref: '#/components/schemas/messages' post: summary: Create a new report configuration. operationId: v1CreateReportConfiguration tags: - Reports description: Create a new report configuration for a merchant based upon a report type. requestBody: description: Create new report configuration. required: true content: application/json: schema: $ref: '#/components/schemas/reportConfigRequest' examples: Success with Minimum Config/Adhoc Frequency: value: entityType: PE entityIds: - '9876543210' - '9876543211' reportSections: - sectionReportTypeName: Transaction Details frequencyConfig: scheduleFrequency: adhoc reportingPeriodStartTimestamp: '2020-04-11 01:00:00' reportingPeriodEndTimestamp: '2020-04-13 23:00:00' Success with Minimum Config/Scheduled Frequency: value: entityType: PE entityIds: - '9876543210' - '9876543211' reportSections: - sectionReportTypeName: Transaction Details frequencyConfig: scheduleFrequency: daily reportFileScheduledTime: 09:00:00 reportingPeriodStartTime: '23:00:00' Success with Complete Config/Adhoc Frequency: value: entityType: PE entityIds: - '998586046651' reportSections: - sectionReportTypeName: Settlement Details sectionSelectedFields: - alias: Record Type constantValueText: RACT0010 - alias: Entity Type constantValueText: TD - reportAttributeName: Action Date alias: Submission Date - reportAttributeName: Payout Identifier - reportAttributeName: Transaction Processing Entity Identifier alias: Entity Number - reportAttributeName: Transaction Currency Code alias: Presentment Currency - reportAttributeName: Sales Order Number alias: Merchant Order Number - reportAttributeName: Masked Card Number alias: Account Number - reportAttributeName: Card Expiration Month Year Number alias: Expiration Date - reportAttributeName: Transaction Amount alias: Amount - reportAttributeName: Payment Method Code alias: MOP - reportAttributeName: Client Action Code alias: Action Code - reportAttributeName: Authorization Timestamp alias: Auth Date - reportAttributeName: Firm Authorization Response Code alias: Auth Code - reportAttributeName: Payment Authorization Response Identifier alias: Auth Response Code - reportAttributeName: Merchant Category Code alias: MCC - reportAttributeName: Token Type Code - reportAttributeName: Interchange Program Code alias: Interchange Qualification Code - reportAttributeName: Interchange Fee Amount alias: Interchange Unit Fee - reportAttributeName: Interchange Fee Rate alias: Interchange Face Value % Fee - reportAttributeName: Total Interchange Amount - reportAttributeName: Total Payment Brand Fee Amount alias: Total Assessment Amount - reportAttributeName: Other Fee Amount alias: Other Debit Passthrough Fees - reportAttributeName: Settlement Currency Code alias: Settlement Currency sectionSortOrderList: - reportAttributeName: Total Interchange Amount sortOrderCode: asc sectionFilterAttributeList: - reportAttributeName: Funding Status Code filterAttributeCode: ="Payment Submitted" - reportAttributeName: Client Action Code filterAttributeCode: IN ("DP","RF","AR","DR","RQ") fileDelimiter: ',' reportConfigurationName: Deposit Detail Financial Report-Ad hoc reportFileName: .... reportHeader: HACT0010,,,,,,,GenerationTime= fileHeader: DFRBEGIN,ProcessingEntityId=,Frequency= fileTrailer: DFREND,ProcessingEntityId=,Frequency= csvColumnNameDisplayIndicator: true reportConfigStatus: Active frequencyConfig: scheduleFrequency: adhoc reportingPeriodStartTimestamp: '2021-02-14 01:00:00' reportingPeriodEndTimestamp: '2021-02-16 23:00:00' Success with exisiting config on demand/adhoc: value: reportConfigurationId: 7e04226f-c683-4854-ab58-24d2eb24581c frequencyConfig: scheduleFrequency: adhoc reportingPeriodStartTimestamp: '2020-04-11 01:00:00' reportingPeriodEndTimestamp: '2020-04-13 23:00:00' Failure due to incorrect report type: value: entityType: PE entityIds: - '9876543210' - '9876543211' reportSections: - sectionReportTypeName: Trans Details frequencyConfig: scheduleFrequency: daily reportFileScheduledTime: 09:00:00 reportingPeriodStartTime: '23:00:00' Authentication Failure: value: reportConfigurationId: 5555-6666-7777-2222 frequencyConfig: scheduleFrequency: adhoc reportingPeriodStartTimestamp: '2020-04-11 01:00:00' reportingPeriodEndTimestamp: '2020-04-13 23:00:00' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/reportPostResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/messages' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/adfsError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/messages' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/messages' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/messages' '504': description: Gateway Timeout content: application/json: schema: $ref: '#/components/schemas/messages' /reports/{report-id}: get: summary: Get details for a specific report. operationId: v1GetReportByReportId tags: - Reports description: Get details for a specific report. parameters: - name: report-id in: path required: true schema: type: string maxLength: 40 description: Unique id for the report. examples: Success: value: c6a6f075-64d5-476f-b463-bc1c5de1abd7 Authentication Failure: value: 5555-66666-7777 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/report' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/adfsError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/messages' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/messages' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/messages' '504': description: Gateway Timeout content: application/json: schema: $ref: '#/components/schemas/messages' components: schemas: intervalParamsScheduled: description: Interval Parameter title: Schedule type: object required: - scheduleFrequency - reportingPeriodStartTime properties: scheduleFrequency: $ref: '#/components/schemas/scheduleFrequency' reportingPeriodStartTime: description: Designates the beginning hour, minute, and second boundary to which the report data pertains. type: string reportPostResponse: description: Report Configuration Response type: object required: - reportIdentifier - reportConfigurationId - reportTypeNames - createTimestamp properties: reportIdentifier: description: Identifies a unique occurrence of reporting events. type: string reportConfigurationId: $ref: '#/components/schemas/reportConfigurationId' reportTypeNames: $ref: '#/components/schemas/reportTypeNames' createTimestamp: description: Designates the hour, minute and second in a specific day when the record was created. type: string sectionRowCountDisplayIndicator: description: Indicates the BOOLEAN value to display row count for each report section. This field is only applicable when the report is generated in PDF format. type: boolean next: description: Indicates the reference for the next page for paginated response. Use the value of next to fetch the next batch of report configs. If the lastPage = TRUE; then the next attribute value is not populated. type: string reportConfigurationName: description: The merchant defined name of the report configuration. type: string validationMessage: description: Object containing information about transaction validation type: object required: - code - message properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/errorMessage' entity: description: Information about the entity that experienced an error. type: string fileHeader: description: The textual information in the first row of a file. By default=> EntityId= "Entity ID",Frequency="frequency" type: string adfsError: description: Object containing information in the file type: object required: - errorSource - errorCode - errorDescription properties: errorSource: description: The label of the component from where the error or warning is generating type: string example: APG-EDGE errorCode: description: General status of all resources type: string example: EDG00012 errorDescription: description: Long explanation of code returned by the computer system application that either indicates successful processing, or a given number that can be investigated by support staff for further resolution and troubleshooting. type: string example: the signature could not be verified reportSection: description: The label given as a header for the section. type: object required: - sectionReportTypeName properties: sectionTitle: description: The name of the section within the report. type: string sectionReportTypeName: description: The report type name of the section within the report. type: string sectionSelectedFields: type: array minItems: 0 description: Section Selected Fields List items: $ref: '#/components/schemas/selectedFields' sectionSortOrderList: type: array minItems: 0 description: Section Selected Fields List items: $ref: '#/components/schemas/sortOrder' sectionFilterAttributeList: type: array minItems: 0 description: Section Selected Fields List items: $ref: '#/components/schemas/filterAttribute' sectionReportTypeId: description: The report type identifier of the section within the report. type: string entityType: description: Codifies the level of the merchant relationship as it relates to the acquiring account. type: string reportIdentifier: description: Identifies a unique occurrence of reporting events. type: string messages: description: A list of errors and warnings. type: object required: - responseStatus - responseCode properties: responseStatus: $ref: '#/components/schemas/responseStatus' responseCode: $ref: '#/components/schemas/responseCode' responseMessage: $ref: '#/components/schemas/responseMessage' validationErrors: type: array minItems: 0 description: Information about errors occurred in transaction validation items: $ref: '#/components/schemas/validationMessage' reportStatus: description: The label for a valid state applicable to a gamification item. This includes both gamification item set-up and operational status plus Customer status. type: string enum: - Requested - Initiated - Completed - Errored lastPage: description: Indicates the BOOLEAN value to signify whether or not the response is the final page of results. type: boolean example: true reportSections: type: array minItems: 0 description: The label given as a header for the section. items: $ref: '#/components/schemas/reportSection' selectedFields: description: Section Selected Fields type: object properties: reportAttributeName: $ref: '#/components/schemas/reportAttributeName' alias: description: The name of the attribute in the report. type: string constantValueText: description: The static text value of the attribute. type: string aggregateOperationText: description: The category of aggregation analytic functions. Allowed values=> count, avg, min, max, and sum type: string conditionalAggregateIndicator: description: Indicates the value for aggregate operation if performed on specific condition. Allowed values=> true and false. type: boolean aggregateConditionAttributeName: description: The label of the field on which aggregate condition is defined. type: string aggregateConditionText: description: Textual representation of the aggregate condition value. type: string transactionProcessingEntityIdentifier: description: Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting. type: string intervalParams: description: Interval Parameter type: object oneOf: - $ref: '#/components/schemas/intervalParamsAdhoc' - $ref: '#/components/schemas/intervalParamsScheduled' reportConfigStatus: description: The status of the report configuration. type: string enum: - Active - Inactive sortOrder: description: Sort Order type: object required: - reportAttributeName - sortOrderCode properties: reportAttributeName: $ref: '#/components/schemas/reportAttributeName' sortOrderCode: description: 'Indicates the arrangement of items based on specified criteria such as alpabetical, numerical or organise data in a specific sequence. Allowed values: asc and desc' type: string scheduleFrequencyScheduled: title: scheduledFrequency description: Recurring scheduled report generation frequency. type: string enum: - daily - weekly|mon - monthly|12 - mtd - monthly-fiscal example: daily reportList: description: List of all report runs type: object properties: next: $ref: '#/components/schemas/next' summarizedReports: type: array minItems: 0 description: Array of reportList items: $ref: '#/components/schemas/report' lastPage: $ref: '#/components/schemas/lastPage' report: description: Report Configuration type: object required: - reportIdentifier - reportConfigurationId - reportTypeNames - reportStatus - updateTimestamp - createTimestamp - intervalParam properties: reportIdentifier: $ref: '#/components/schemas/reportIdentifier' reportConfigurationId: $ref: '#/components/schemas/reportConfigurationId' reportTypeNames: $ref: '#/components/schemas/reportTypeNames' reportStatus: $ref: '#/components/schemas/reportStatus' updateTimestamp: $ref: '#/components/schemas/updateTimestamp' createTimestamp: $ref: '#/components/schemas/createTimestamp' intervalParam: $ref: '#/components/schemas/intervalParams' reportDetails: $ref: '#/components/schemas/reportDetails' errorMessage: $ref: '#/components/schemas/errorMessage' reportDescription: description: The textual description of the report. type: string reportHeader: description: The header of the report file. By default=> entityId= "Entity ID", ReportTypeName= "Report Type" , Frequency="frequency", FromDate="From Date YYYY-MM-DD" , ToDate= "To Date YYYY-MM-DD " , GenerationDate= "Generation Date YYYY-MM-DD" , GenerationTime= "Generation Time HH:MM:SS" type: string createTimestamp: description: Designates the hour, minute and second in a specific day when the record was created. type: string responseCode: description: Short explanation of the response code. type: string readOnly: true minLength: 2 maxLength: 50 example: ACCEPTED csvColumnNameDisplayIndicator: description: Indicates the BOOLEAN value to display column name in the report. type: boolean reportConfigurationId: description: A system generated unique identifier for report configuration. type: string reportConfigRequestByConfigId: description: report configuration request title: Config type: object required: - reportConfigurationId - frequencyConfig properties: reportConfigurationId: $ref: '#/components/schemas/reportConfigurationId' frequencyConfig: $ref: '#/components/schemas/frequencyConfig' reportDetails: description: reportDetails type: object required: - reportFileName - url properties: reportFileName: $ref: '#/components/schemas/reportFileName' url: description: A reference to a web resource on the internet specifying its location on a computer network and a mechanism for retrieving. type: string reportFileName: description: The merchant defined name for report file. By default=> "Entity ID". "Report Type" . "frequency". "From Date YYYY-MM-DD". "To Date YYYY-MM-DD" type: string filterAttribute: description: Report Detail type: object required: - reportAttributeName - filterAttributeCode properties: reportAttributeName: $ref: '#/components/schemas/reportAttributeName' filterAttributeCode: description: The filter criteria to filter the report. For example, filterAttributeCode=> Payment Submitted, Supported functions for filter=> =,!=, <,>, IN, and NOT IN type: string reportFormat: description: Codifies the document file format as text or binary file format for storing documents on a storage media, especially for use by computers. type: string default: CSV enum: - CSV - PDF - XLSX frequencyConfigAdhoc: description: Adhoc frequency configuration. title: adhoc type: object required: - scheduleFrequency - reportingPeriodStartTimestamp - reportingPeriodEndTimestamp properties: scheduleFrequency: $ref: '#/components/schemas/scheduleFrequencyAdhoc' reportingPeriodStartTimestamp: description: Indicates the start date and time when the report activity ends basis merchant end of the day in standard UTC format.This field includes hour (hh), minute (mm), seconds (ss) and date (if timestamp) or year (YYYY), month (MM), and day (DD) (if date). type: string example: '2020-04-11 01:00:00' reportingPeriodEndTimestamp: description: Indicates the end date and time when the report activity begins basis merchant end of the day in standard UTC format.This field includes hour (hh), minute (mm), seconds (ss) and date (if timestamp) or year (YYYY), month (MM), and day (DD) (if date). type: string example: '2020-04-13 23:00:00' entityIds: type: array minItems: 0 description: Indicates the array of applicable processing entities for which the reporting data is required. items: $ref: '#/components/schemas/transactionProcessingEntityIdentifier' code: description: Short informative code about the error. type: string scheduleFrequency: description: 'The planned intervals at which events, activities or processes occur. Allowed values for ADHOC reports: adhoc. Allowed values for SCHEDULED reports: daily, weekly, monthly, mtd and monthly-fiscal.' type: string enum: - adhoc - daily - weekly|mon - monthly|12 - mtd - monthly-fiscal fileDelimiter: description: 'Indicates the demarcation operator to separate and distinguish individual data fields wthin a report, facilitating structred organization and retrieval of information. Allowed values: comma[,], pipe[|], and tab[->]' type: string responseStatus: description: Request result status. type: string readOnly: true example: SUCCESS enum: - SUCCESS - ERROR errorMessage: description: Describes a message if problem occurred or error preventing the system from completing a task. type: string responseMessage: description: Long explanation of the response message. type: string readOnly: true example: Request Accepted scheduleFrequencyAdhoc: title: adhocScheduleFrequency description: 'Ad-hoc report generation frequency for one-time reports. Allowed values for ADHOC reports: adhoc.' type: string enum: - adhoc example: adhoc updateTimestamp: description: Indicates the specific time of the day ( in hour, minute and second) when the configuration was most recently updated. type: string reportConfigRequestByEntity: description: report configuration request title: Entity type: object required: - entityIds - frequencyConfig - reportSections properties: entityType: $ref: '#/components/schemas/entityType' entityIds: $ref: '#/components/schemas/entityIds' reportName: description: Name of the report. type: string frequencyConfig: $ref: '#/components/schemas/frequencyConfig' fileDelimiter: $ref: '#/components/schemas/fileDelimiter' reportFileName: $ref: '#/components/schemas/reportFileName' reportHeader: $ref: '#/components/schemas/reportHeader' fileHeader: $ref: '#/components/schemas/fileHeader' fileTrailer: $ref: '#/components/schemas/fileTrailer' csvColumnNameDisplayIndicator: $ref: '#/components/schemas/csvColumnNameDisplayIndicator' reportConfigStatus: $ref: '#/components/schemas/reportConfigStatus' reportDescription: $ref: '#/components/schemas/reportDescription' reportConfigurationName: $ref: '#/components/schemas/reportConfigurationName' reportSections: $ref: '#/components/schemas/reportSections' reportFormatList: $ref: '#/components/schemas/reportFormatList' sectionRowCountDisplayIndicator: $ref: '#/components/schemas/sectionRowCountDisplayIndicator' totalRowCountDisplayIndicator: $ref: '#/components/schemas/totalRowCountDisplayIndicator' presignedURLEnabledIndicator: description: Indicates if large file support is enabled on the report configuration. type: boolean frequencyConfigScheduled: description: Scheduled frequency configuration (Daily/Weekly|Mon/Monthly|12/MTD/Monthly Fiscal). title: scheduled type: object required: - scheduleFrequency - reportFileScheduledTime properties: scheduleFrequency: $ref: '#/components/schemas/scheduleFrequencyScheduled' reportFileScheduledTime: description: Designates the hour, minute, and second boundary to which the firm is expected to send the report file to customer. type: string example: 09:00:00 reportingPeriodStartTime: description: Designates the beginning hour, minute, and second boundary to which the report data pertains. type: string example: '23:00:00' reportLag: description: 'Indicates the number of day(s) by which the report generation should be postponed. Allowed values: 1,2,3,4,5.' type: string example: '1' fileTrailer: description: The textual information in the last row of a file. By default=> EntityId= "Entity ID ",Frequency="frequency" type: string reportTypeNames: type: array minItems: 0 description: The names of the report types. items: type: string frequencyConfig: description: Frequency configuration. type: object oneOf: - $ref: '#/components/schemas/frequencyConfigAdhoc' - $ref: '#/components/schemas/frequencyConfigScheduled' discriminator: propertyName: scheduleFrequency mapping: adhoc: '#/components/schemas/frequencyConfigAdhoc' daily: '#/components/schemas/frequencyConfigScheduled' weekly|mon: '#/components/schemas/frequencyConfigScheduled' monthly|12: '#/components/schemas/frequencyConfigScheduled' mtd: '#/components/schemas/frequencyConfigScheduled' monthly-fiscal: '#/components/schemas/frequencyConfigScheduled' totalRowCountDisplayIndicator: description: Indicates the BOOLEAN value to display total number of row count in the report for all sections. This field is only applicable when the report is generated in PDF format. type: boolean reportConfigRequest: description: report configuration request type: object oneOf: - $ref: '#/components/schemas/reportConfigRequestByConfigId' - $ref: '#/components/schemas/reportConfigRequestByEntity' reportFormatList: type: array minItems: 0 description: Format of the report. Default value is CSV items: $ref: '#/components/schemas/reportFormat' reportAttributeName: description: The name of the attribute in the report. type: string intervalParamsAdhoc: description: Interval Parameter title: adhoc type: object required: - scheduleFrequency - reportingPeriodStartTimestamp - reportingPeriodEndTimestamp properties: scheduleFrequency: $ref: '#/components/schemas/scheduleFrequency' reportingPeriodStartTimestamp: description: Designates the hour (hh), minute (mm), seconds (ss) and date (if timestamp) or year (YYYY), month (MM), and day (DD) (if date) of the first occurrence of the reporting period. type: string reportingPeriodEndTimestamp: description: Designates the hour (hh), minute (mm), seconds (ss) and date (if timestamp) or year (YYYY), month (MM), and day (DD) (if date) of the last occurrence of the reporting period. type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT x-jpmc-securityDefinitions: JPMC-OAuth2: jpmc-claims: jpmc-roles: - Merchant - Navigator_View_Only x-jpmc-security: - JPMC-OAuth2: jpmc-claims: jpmc-roles: - Merchant - Navigator_View_Only