openapi: 3.2.0 info: title: Reporting Report Configurations 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: Report Configurations description: Endpoints for report configurations. paths: /report-configs: get: summary: Get a list of available report configurations. operationId: v1ListReportConfigurations tags: - Report Configurations description: Get a list of available report configurations. 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: 5555-6666-7777 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/reportConfigurationList' '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' /report-configs/{report-configuration-id}: get: summary: Get details for a specific report configuration. operationId: v1GetReportConfigurationByReportConfigurationId tags: - Report Configurations description: Get details for a specific report configuration. parameters: - name: report-configuration-id in: path required: true schema: type: string maxLength: 40 description: Identifies a unique occurrence of reporting setup as requested by customer. examples: Success: value: 7611d1bf-325c-4795-a828-ac21f9bea5dc Authentication Failure: value: 1234-5678-9101 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/reportConfigResponse' '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' put: summary: Update an existing report configuration. operationId: v1UpdateReportConfigurationByReportConfigurationId tags: - Report Configurations description: Update an existing report configuration. parameters: - name: report-configuration-id in: path required: true schema: type: string maxLength: 40 description: Identifies a unique occurrence of reporting setup as requested by customer. examples: Success: value: 7611d1bf-325c-4795-a828-ac21f9bea5dc Authentication Failure: value: 5555-6666-7777 Failure due to incorrect frequency: value: 12324-5678-9012 requestBody: description: Update an existing report configuration. required: true content: application/json: schema: $ref: '#/components/schemas/reportConfigPutRequest' examples: Success: value: reportConfigStatus: Active Failure due to incorrect frequency: value: entityType: PE entityIds: - '9876543210' - '9876543211' reportSections: - sectionReportTypeName: Transaction Details frequencyConfig: scheduleFrequency: adhoc reportingPeriodStartTimestamp: '2021-08-23 01:00:00' reportingPeriodEndTimestamp: '2021-08-23 23:00:00' Authentication Failure: value: entityType: PE entityIds: - '9876543210' - '9876543211' reportSections: - sectionReportTypeName: Transaction Details fileDelimiter: '|' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/reportConfigResponse' '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' components: schemas: 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 reportConfigResponse: description: Report Configuration Response type: object required: - reportConfigurationId - entityIds - reportSections - frequencyConfig - fileDelimiter - reportFileName - reportHeader - fileHeader - fileTrailer - csvColumnNameDisplayIndicator - reportConfigStatus - updateTimestamp properties: reportConfigurationId: $ref: '#/components/schemas/reportConfigurationId' entityIds: $ref: '#/components/schemas/entityIds' reportSections: $ref: '#/components/schemas/reportSections' 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' totalRowCountDisplayIndicator: $ref: '#/components/schemas/totalRowCountDisplayIndicator' sectionRowCountDisplayIndicator: $ref: '#/components/schemas/sectionRowCountDisplayIndicator' reportConfigStatus: $ref: '#/components/schemas/reportConfigStatus' updateTimestamp: $ref: '#/components/schemas/updateTimestamp' reportDescription: $ref: '#/components/schemas/reportDescription' reportConfigurationName: $ref: '#/components/schemas/reportConfigurationName' reportFormatList: $ref: '#/components/schemas/reportFormatList' 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 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' 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 lastPage: description: Indicates the BOOLEAN value to signify whether or not the response is the final page of results. type: boolean example: true reportConfigStatus: description: The status of the report configuration. type: string enum: - Active - Inactive 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 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 reportDescription: description: The textual description of the report. type: string reportTypeIds: type: array minItems: 0 description: The unique identifier of the types of reports items: 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 reportConfigPutRequest: description: reportConfigPutRequest type: object properties: entityType: $ref: '#/components/schemas/entityType' entityIds: $ref: '#/components/schemas/entityIds' fileDelimiter: $ref: '#/components/schemas/fileDelimiter' frequencyConfig: $ref: '#/components/schemas/frequencyConfig' 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' 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 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' 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 code: description: Short informative code about the error. type: string 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 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' reportConfigurationList: description: reportConfigurationList type: object properties: next: $ref: '#/components/schemas/next' summarizedReportConfigurations: type: array minItems: 0 description: Array of reportConfiguration object. items: $ref: '#/components/schemas/reportConfiguration' lastPage: $ref: '#/components/schemas/lastPage' 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 reportConfiguration: description: reportConfiguration type: object required: - reportConfigurationId - reportTypeIds - reportTypeNames - reportConfigStatus - updateTimestamp - frequencyConfig properties: reportConfigurationId: $ref: '#/components/schemas/reportConfigurationId' reportTypeIds: $ref: '#/components/schemas/reportTypeIds' reportTypeNames: $ref: '#/components/schemas/reportTypeNames' reportConfigStatus: $ref: '#/components/schemas/reportConfigStatus' updateTimestamp: $ref: '#/components/schemas/updateTimestamp' frequencyConfig: $ref: '#/components/schemas/frequencyConfig' 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 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