> ## 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.

# Delete cars from a Billing Account

> Removes one or more cars from the billing account by license number.

Returns HTTP 200 if all cars were removed successfully, or HTTP 207 if one or more items
failed. The response contains a `failures` list — each entry includes the license number
and an error message for cars that could not be removed. Cars not present in `failures`
were successfully removed.




## OpenAPI

````yaml delete /api/billing-accounts/{baId}/cars
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
    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.
paths:
  /api/billing-accounts/{baId}/cars:
    delete:
      tags:
        - Cars allowlist
      summary: Delete cars from a Billing Account
      description: >
        Removes one or more cars from the billing account by license number.


        Returns HTTP 200 if all cars were removed successfully, or HTTP 207 if
        one or more items

        failed. The response contains a `failures` list — each entry includes
        the license number

        and an error message for cars that could not be removed. Cars not
        present in `failures`

        were successfully removed.
      operationId: deleteBillingAccountCars
      parameters:
        - name: baId
          in: path
          description: Billing account ID
          required: true
          schema:
            type: integer
            format: int64
        - name: licenseNumbers
          in: query
          description: License numbers to remove
          required: true
          schema:
            type: array
            items:
              type: string
            uniqueItems: true
      responses:
        '200':
          description: All items processed successfully
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CarsResponse'
        '207':
          description: One or more items failed — see failures list
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CarsResponse'
        '400':
          description: License numbers must not be empty
          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'
      security:
        - jwt: []
components:
  schemas:
    CarsResponse:
      type: object
      properties:
        failures:
          type: array
          items:
            $ref: '#/components/schemas/CarFailure'
    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
    CarFailure:
      type: object
      properties:
        licenseNumber:
          type: string
        error:
          type: string
  securitySchemes:
    jwt:
      type: http
      description: You can get the JWT from the Login endpoint
      scheme: bearer
      bearerFormat: Bearer JWT

````