> ## Documentation Index
> Fetch the complete documentation index at: https://developer.easyparkgroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the report

> 
Download the report in the requested format (JSON or CSV) as specified during report generation.
The report contains both default columns and any additional data fields requested in the initial request.

<h3>Default columns</h3>

| Field | Description |
| --- | --- |
| SUPPLIER_ID | The ID of the operator for which the report is being generated |
| PARKING_ACTION_ID | The ID of the parking transaction |
| START_PARKING_ON_LOCAL | Start timestamp of the parking in local time |
| STOP_PARKING_ON_LOCAL | Stop timestamp of the parking in local time |
| PAYMENT_DATE | Timestamp of the parking payment in local time |
| CLEARING_DATE | The settlement date |
| PAYMENT_AMOUNT | Payment amount incl. VAT. Used in remittance and invoice report |
| PAYMENT_METHOD | Payment method used for the transaction. N/A, Wallet, CREDITCARD |
| SIGNAGE_ZONE_CODE | Zone status zone code |




## OpenAPI

````yaml get /report/{reportIdentifier}
openapi: 3.1.0
info:
  title: Operator Financial Reporting API
  description: >

    Operator Financial Reporting API is a collection of endpoints (currently
    available only in US region) 

    that allows parking operators and data aggregators to fetch parking
    transactions report

    which will be generated in JSON or CSV formats.


    ## API Usage Workflow


    1. Authenticate using the `auth/v1` endpoint to obtain a JWT token

    2. Use the token in subsequent requests in the X-Authorization header

    3. Generate a report using the `/report/generate` endpoint

    4. Check report status using the URL returned in the response

    5. Since reports take time to generate, the API follows a polling approach
    where users request a report, then periodically check its status until
    completion.

    6. Download the completed report when status indicates it's ready


    ## Authentication of API user


    API users must authenticate using JWT tokens passed in the `X-Authorization`
    header with the format `Bearer YOUR-JWT-TOKEN`.

    Tokens can be obtained from the `auth/v1` endpoint using client credentials
    (clientId and clientSecret).


    For testing purposes, you can request test credentials from the support
    team.


    ## Error Handling


    The API returns appropriate HTTP status codes and detailed error messages:

    * 400: Bad Request - Invalid parameters or request structure

    * 401: Unauthorized - Missing or invalid authentication token

    * 403: Forbidden - Insufficient permissions for the requested operation

    * 429: Too Many Requests - Rate limit exceeded

    * 500: Internal Server Error - Something went wrong on the server side


    **Important Note**: When checking report status, if the report generation
    fails, the API returns a 200 OK HTTP status code with a problem details
    object in the response body containing status code 400. 

    Client applications should always check the response content type
    (application/problem+json) and examine the response body to properly handle
    error scenarios.



    ## Testing in Staging Environment


    * URL: https://operator-financial-reporting.staging.ezprk.dev

    * Database: Contains sample parking transactions for testing purposes

    * Test Operator ID: 60879 (use this ID for testing report generation)

    * Data Range: Test data is available for last two days, each day having 5
    records

    * Authentication: Use test credentials provided by the support team

    * Rate Limits: 30 requests per 10 min in test environment


    ## Report Formats and Limitations


    * Available formats: JSON or CSV

    * Maximum report size: 100,000 records

    * Historical data available: Up to 3 months from current date

    * Default columns: Always included in the report

    * Additional fields: Can be requested as needed


    The report contains default columns and additional fields requested by the
    user.


    ## Response Format and Pagination


    * All successful responses use HAL+JSON format with hypermedia links

    * Long-running operations follow the HATEOAS pattern with self-referencing
    links

    * Reports follow an asynchronous generation pattern with status polling


    ## Environment URLs


    * Production US: https://operator-financial-reporting.usa.ezprk.net

    * Staging: https://operator-financial-reporting.staging.ezprk.dev
  version: 2025.0.0
servers:
  - url: https://operator-financial-reporting.staging.ezprk.dev
    description: Staging
  - url: https://operator-financial-reporting.usa.ezprk.net
    description: Production US
security: []
tags:
  - name: Report Resource
    description: API for generating and downloading reports
  - name: Authentication Resource
    description: API for authentication
paths:
  /report/{reportIdentifier}:
    get:
      tags:
        - Report Resource
      summary: Get the report
      description: >

        Download the report in the requested format (JSON or CSV) as specified
        during report generation.

        The report contains both default columns and any additional data fields
        requested in the initial request.


        <h3>Default columns</h3>


        | Field | Description |

        | --- | --- |

        | SUPPLIER_ID | The ID of the operator for which the report is being
        generated |

        | PARKING_ACTION_ID | The ID of the parking transaction |

        | START_PARKING_ON_LOCAL | Start timestamp of the parking in local time
        |

        | STOP_PARKING_ON_LOCAL | Stop timestamp of the parking in local time |

        | PAYMENT_DATE | Timestamp of the parking payment in local time |

        | CLEARING_DATE | The settlement date |

        | PAYMENT_AMOUNT | Payment amount incl. VAT. Used in remittance and
        invoice report |

        | PAYMENT_METHOD | Payment method used for the transaction. N/A, Wallet,
        CREDITCARD |

        | SIGNAGE_ZONE_CODE | Zone status zone code |
      operationId: getReport
      parameters:
        - name: reportIdentifier
          in: path
          description: The report identifier from the report generation initiation
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >

            The generated report is available for immediate download. The
            response contains the complete report file with all 

            requested data, including both default columns and any additional
            fields specified in the initial report generation request.
          headers:
            Content-Disposition:
              description: Attachment header with filename
              style: simple
              schema:
                example: attachment; filename="report.[json|csv]"
            Content-Length:
              description: Size of the report file in bytes
              style: simple
              schema:
                example: 1024
            Content-Type:
              description: Content type of the report file
              style: simple
              schema:
                example: application/json or text/csv
          content:
            application/json:
              schema:
                type: string
                format: binary
                description: JSON report file
              examples:
                JSON Report:
                  summary: JSON formatted report file
                  description: Example of headers for JSON report download
                  value: >-
                    [{"SUPPLIERID":123,"PARKINGACTIONID":123456,"STARTPARKINGONLOCAL":"2025-03-17T08:31:05....
            text/csv:
              schema:
                type: string
                format: binary
                description: CSV report file
              examples:
                CSV Report:
                  summary: CSV formatted report file
                  description: Example of headers for CSV report download
                  value: SUPPLIERID,PARKINGACTIONID,STARTPARKINGONLOCAL....
      security:
        - jwt: []
components:
  securitySchemes:
    jwt:
      type: apiKey
      description: >-
        For the header value, use the format: `Bearer YOUR-JWT-TOKEN`. You can
        get the token from the  auth/v1 endpoint.
      name: X-Authorization
      in: header

````