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

# Create a Parking User



## OpenAPI

````yaml https://fleet.europe.ezprk.net/manage/openapi/external post /api/billing-accounts/{baId}/parking-users
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: Parking Users
    description: Manage parking users.
  - name: Billing Info Records
    description: Query Billing Info Records of a Billing Account.
  - 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: Billing Accounts
    description: Query Billing Accounts.
  - 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}/parking-users:
    post:
      tags:
        - Parking Users
      summary: Create a Parking User
      operationId: createParkingUser
      parameters:
        - name: baId
          in: path
          description: Billing account ID
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateParkingUserRequest'
        required: true
      responses:
        '201':
          description: Returns the ID of the created Parking User
          content:
            '*/*':
              schema:
                type: integer
                format: int64
        '400':
          description: Invalid request body
          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'
        '422':
          description: Request could not be processed by EPIC
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
      security:
        - jwt: []
components:
  schemas:
    CreateParkingUserRequest:
      type: object
      description: Request body to create a Parking User
      properties:
        firstName:
          type: string
          minLength: 1
        lastName:
          type: string
          minLength: 1
        email:
          type: string
          format: email
          description: Valid email address
          minLength: 1
        phoneNumber:
          type: string
          description: Starts with + followed by digits only
          minLength: 1
          pattern: ^\+\d{7,15}$
        costCenter:
          type: string
          description: Cost center associated with the Parking User
        city:
          type: string
          description: City for the delivery address
        street:
          type: string
          description: Street for the delivery address
        postalCode:
          type: string
          description: Postal code for the delivery address
        co:
          type: string
          description: >-
            c/o, stands for "care of", used when the mail needs to go through an
            intermediary person/entity
      required:
        - email
        - firstName
        - lastName
        - phoneNumber
    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
  securitySchemes:
    jwt:
      type: http
      description: You can get the JWT from the Login endpoint
      scheme: bearer
      bearerFormat: Bearer JWT

````