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

# Bulk create vehicles

> Creates multiple vehicles for the specified business in a single request. Maximum of 100 vehicles per request. This endpoint is idempotent using the `external_id` field as the idempotency key for each vehicle.



## OpenAPI

````yaml post /v1/businesses/{businessId}/mileage/vehicles/bulk
openapi: 3.0.1
info:
  title: API
  version: latest
servers: []
security:
  - BearerAuth: []
tags: []
externalDocs:
  url: /
paths:
  /v1/businesses/{businessId}/mileage/vehicles/bulk:
    post:
      tags: []
      summary: Bulk create vehicles
      description: >-
        Creates multiple vehicles for the specified business in a single
        request. Maximum of 100 vehicles per request. This endpoint is
        idempotent using the `external_id` field as the idempotency key for each
        vehicle.
      operationId: business.mileage.vehicles.bulk.post
      parameters:
        - name: businessId
          in: path
          description: The UUID of the business
          required: true
          schema:
            type: string
            format: uuid
        - name: Content-Type
          in: header
          description: Content-Type must be set to application/json
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkCreateVehiclesRequest'
      responses:
        '201':
          description: Vehicles created successfully
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiVehicle'
        '400':
          description: Invalid request parameters or exceeded maximum of 100 vehicles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Business not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    BulkCreateVehiclesRequest:
      type: object
      properties:
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/CreateVehicleParams'
          maxItems: 100
          description: List of vehicles to create. Maximum of 100 vehicles per request.
      required:
        - vehicles
    ApiVehicle:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the vehicle
        business_id:
          type: string
          format: uuid
          description: The UUID of the business this vehicle belongs to
        external_id:
          type: string
          nullable: true
          description: >-
            An optional external identifier for the vehicle, used for
            idempotency
        make_and_model:
          type: string
          description: The make and model of the vehicle (e.g., 'Toyota Camry')
        year:
          type: integer
          description: The model year of the vehicle
        license_plate:
          type: string
          nullable: true
          description: The license plate number of the vehicle
        vin:
          type: string
          nullable: true
          description: The Vehicle Identification Number (VIN)
        description:
          type: string
          nullable: true
          description: An optional description or notes about the vehicle
        is_primary:
          type: boolean
          description: >-
            Whether this is the primary vehicle for the business. Only one
            vehicle can be primary at a time.
        is_eligible_for_deletion:
          type: boolean
          description: >-
            Whether the vehicle can be deleted. A vehicle cannot be deleted if
            it has trips or is archived.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the vehicle was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the vehicle was last updated
        archived_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the vehicle was archived, or null if not archived
        deleted_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the vehicle was deleted, or null if not deleted
      required:
        - id
        - business_id
        - make_and_model
        - year
        - is_primary
        - is_eligible_for_deletion
        - created_at
        - updated_at
    ApiError:
      type: object
      properties: {}
      example: ''
      description: ''
    CreateVehicleParams:
      type: object
      properties:
        external_id:
          type: string
          nullable: true
          description: >-
            An optional external identifier for the vehicle. If provided and a
            vehicle with this external_id already exists, the existing vehicle
            will be updated instead of creating a new one.
        make_and_model:
          type: string
          description: The make and model of the vehicle (e.g., 'Toyota Camry')
        year:
          type: integer
          description: The model year of the vehicle
        license_plate:
          type: string
          nullable: true
          description: The license plate number of the vehicle
        vin:
          type: string
          nullable: true
          description: The Vehicle Identification Number (VIN)
        description:
          type: string
          nullable: true
          description: An optional description or notes about the vehicle
        is_primary:
          type: boolean
          default: false
          description: >-
            Whether this should be the primary vehicle. If true, any existing
            primary vehicle will be demoted.
      required:
        - make_and_model
        - year
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````