> ## 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 Billing Info Records for a Billing Account by invoice period

> Returns the complete set of Billing Info Records (BIRs) for the specified Billing Account for a single invoice period.

All records belonging to the invoices of the requested period are returned in one response (not paginated), so the delivery
is a single, complete data set that matches the issued invoice totals - records are never split across calendar months.

To retrieve records for a specific account, you must first identify the correct Billing Account ID.
Use <a href="https://developer.easyparkgroup.com/api-reference/partner/billing-accounts/get-billing-accounts">Get Billing Accounts</a> to list all available accounts and locate the target ID required for this request.




## OpenAPI

````yaml get /api/billing-accounts/{baId}/invoices
openapi: 3.1.0
info:
  title: Partner API
  description: >
    The Partner API provides a suite of endpoints designed to help partners and
    customers to manage users, vehicles and billing records seamlessly.

    Note: These endpoints are currently available in Europe, with expansion to
    new regions planned for 2026.


    ## Getting started & onboarding


    To begin integrating with our endpoints, you will need access to our
    environments. Please follow these steps:
      1. Request access: Contact us at api-developer-portal@arrive.com or reach out to your designated point of contact.
      1. Testing & Staging: Once registered, you will be provided with credentials for our Staging environment. This allows you to test your integration end-to-end in a safe, isolated environment.
      1. Production: After successful testing in Staging, your point of contact will guide you through the promotion to the Production environment.

    Requests and responses are in JSON format.


    ## Request timeout


    All the endpoints have a default timeout of 60 seconds.


    ## Errors


    All errors match the standard response for errors as defined by the Problem
    Details for HTTP APIs specification <a
    href="https://datatracker.ietf.org/doc/html/rfc9457">RFC 9457</a>:


    ```json
        {
          "type": "https://developer.easyparkgroup.com/openapi/fleet/overview/",
          "title": "Forbidden",
          "status": 403,
          "detail": "Access denied",
          "instance": "/api/billing-accounts",
          "timestamp": 1771232045624,
          "traceId": "55a47f36-cea3-4b01-92b6-8295c02ac302"
        }
    ```
  version: '2026.01'
servers:
  - url: https://fleet.staging.ezprk.dev
    description: Staging
  - url: https://fleet.europe.ezprk.net
    description: Production
security: []
tags:
  - name: Billing Accounts
    description: Query Billing Accounts and their Billing Info Records.
  - name: Login
    description: Authenticate with the EasyPark API
  - name: Cars allowlist / Global
    description: >-
      A single allowlist applies across all customers connected to your
      integration. Any vehicle added to the allowlist is permitted for all
      customers under that integration. Use this if you manage a unified fleet
      and want one centralized list of approved vehicles.
  - name: Cars allowlist
    description: >
      Cars allowlist allows partners and customers to manage which vehicles are
      permitted to park under an account. By maintaining an allowlist of
      approved vehicles, you ensure that only authorized cars can be associated
      with a fleet.


      ## Two allowlist modes


      The API functionality supports two modes, and the right one depends on how
      your integration is structured:


      **Global allowlist** - A single allowlist applies across all customers
      connected to your integration. Any vehicle added to the allowlist is
      permitted for all customers under that integration. Use this if you manage
      a unified fleet and want one centralized list of approved vehicles.


      **Single Billing Account allowlist** - Each customer connected to your
      integration has their own individual allowlist. Vehicles must be added per
      customer, and a vehicle permitted for one customer is not automatically
      permitted for others. Use this if you manage multiple customers with
      distinct fleets that should remain separated.


      If you are unsure which mode applies to your integration, check with the
      team that set up your API access - the mode is defined at the integration
      level.
  - name: Cars allowlist / Single Billing Account
    description: >-
      Each customer connected to your integration has their own individual
      allowlist. Vehicles must be added per customer, and a vehicle permitted
      for one customer is not automatically permitted for others. Use this if
      you manage multiple customers with distinct fleets that should remain
      separated.
paths:
  /api/billing-accounts/{baId}/invoices:
    get:
      tags:
        - Billing Accounts
      summary: Get Billing Info Records for a Billing Account by invoice period
      description: >
        Returns the complete set of Billing Info Records (BIRs) for the
        specified Billing Account for a single invoice period.


        All records belonging to the invoices of the requested period are
        returned in one response (not paginated), so the delivery

        is a single, complete data set that matches the issued invoice totals -
        records are never split across calendar months.


        To retrieve records for a specific account, you must first identify the
        correct Billing Account ID.

        Use <a
        href="https://developer.easyparkgroup.com/api-reference/partner/billing-accounts/get-billing-accounts">Get
        Billing Accounts</a> to list all available accounts and locate the
        target ID required for this request.
      operationId: getInvoices
      parameters:
        - name: baId
          in: path
          description: Billing account ID
          required: true
          schema:
            type: integer
            format: int64
        - name: period
          in: query
          description: >
            Filters billing info records (BIRs) by the invoice period - the
            calendar month in which the invoice was produced and issued (i.e.
            the invoice date), not the month the costs were incurred. For
            example, parking from May that is invoiced in June has invoice
            period '2026-06'.


            **Validation Constraints:**

            * Format: YYYY-MM

            * Future periods relative to the current calendar month are not
            allowed and will immediately return a 400 Bad Request error (for
            example, requesting '2026-07' when the current calendar month is
            June). The current month is permitted once its invoices have been
            produced.


            **Data Availability & Retry Mechanism:**

            The invoices of a given month become accessible only after that
            month's billing run successfully completes. In a standard scenario,
            the billrun finishes overnight between the 1st and the 2nd of the
            month, meaning finalized data is ready to be fetched on the morning
            of the 2nd. However, weekends or public holidays can delay this
            process by a few days depending on the specific invoicing provider
            (potentially pushing generation to the 4th or 5th). If you query the
            current invoice period before the billrun has finished, the API
            returns a 409 indicating the data is not yet available; clients must
            implement a retry mechanism to periodically poll the endpoint until
            the finalized data is released.
          required: true
          schema:
            type: string
          example: 2026-06
      responses:
        '200':
          description: Returns all Billing Info Records for the requested invoice period
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BillingInfoRecord'
        '400':
          description: Invalid or future invoice period
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
        '401':
          description: Missing or invalid JWT
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
        '403':
          description: Insufficient permissions
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
        '404':
          description: Billing account not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
        '409':
          description: >-
            Invoice data for the requested period is not yet available - retry
            later
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
      security:
        - jwt: []
components:
  schemas:
    BillingInfoRecord:
      type: object
      properties:
        infoId:
          type: integer
          format: int64
        infoRecordId:
          type: integer
          format: int64
        recordType:
          type: string
        recordSubType:
          type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        costCenter:
          type: string
        currency:
          type: object
          properties:
            currencyCode:
              type: string
            displayName:
              type: string
            symbol:
              type: string
            defaultFractionDigits:
              type: integer
              format: int32
            numericCode:
              type: integer
              format: int32
            numericCodeAsString:
              type: string
        vat:
          type: number
        amountExcludingVat:
          type: number
        amountIncludingVat:
          type: number
        parking:
          $ref: '#/components/schemas/Parking'
        user:
          $ref: '#/components/schemas/User'
    ErrorResponseSchema:
      type: object
      description: RFC 9457 Problem Details error response
      properties:
        type:
          type: string
          description: URI reference identifying the problem type
          example: https://developer.easyparkgroup.com/openapi/fleet/overview/
        title:
          type: string
          description: Short, human-readable summary of the problem
          example: Forbidden
        status:
          type: integer
          format: int32
          description: HTTP status code
          example: 403
        detail:
          type: string
          description: Human-readable explanation specific to this occurrence
          example: Access denied
        instance:
          type: string
          description: URI reference identifying the specific occurrence
          example: /api/billing-accounts
        timestamp:
          type: integer
          format: int64
          description: Unix epoch milliseconds when the error occurred
          example: 1771232045624
        traceId:
          type: string
          description: Trace ID for correlating logs
          example: 55a47f36-cea3-4b01-92b6-8295c02ac302
    Parking:
      type: object
      properties:
        licensePlate:
          type: string
        id:
          type: integer
          format: int64
        areaNumber:
          type: string
        areaName:
          type: string
        areaCity:
          type: string
        subType:
          type: string
        areaId:
          type: integer
          format: int64
        operatorName:
          type: string
        operatorVatNumber:
          type: string
        countryCode:
          type: string
        note:
          type: string
        currency:
          type: string
    User:
      type: object
      properties:
        id:
          type: integer
          format: int64
        firstName:
          type: string
        lastName:
          type: string
        phoneNumber:
          type: string
  securitySchemes:
    jwt:
      type: http
      description: You can get the JWT from the Login endpoint
      scheme: bearer
      bearerFormat: Bearer JWT

````