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

# 🧪 Create User

> Create a new user. The user will be created asynchronously, and you can check the status of the operation using the returned operation ID.

<Callout icon="vial" color="#FFC107" iconType="solid"><strong>Provisional endpoint</strong><br />This endpoint is available for early access. The core schema is stable, but minor details — such as field names or added fields — may change before it becomes generally available. Backward compatibility is not guaranteed.<br /><br /><em>See <a href="/api-reference/stability-versioning">API Stability & Versioning</a> for details on provisional endpoints.</em></Callout>


## OpenAPI

````yaml https://api.catenatelematics.com/v2/telematics/openapi.json post /v2/telematics/users
openapi: 3.1.0
info:
  title: Telematics Data Service - REST API
  description: Telematics Data Service REST API.
  version: 0.1.0
servers:
  - url: https://api.catenatelematics.com
    description: Catena Telematics API
security: []
tags:
  - name: Fleet Operations & Tracking
    description: >-
      Endpoints for tracking vehicles, trailers, assets, and trip activity —
      including locations, movements, and operational telemetry. Useful for
      monitoring utilization and real-time operational status.
  - name: Safety & Driver Behavior
    description: >-
      Endpoints that provide safety-related insights such as harsh braking,
      speeding, and other driver behavior events. Supports risk analysis and
      safety program automation.
  - name: Compliance & Regulation
    description: >-
      Endpoints covering regulated requirements including DVIR inspections,
      Hours of Service (HOS), violations, and IFTA fuel tax reporting. Helps
      organizations meet DOT/FMCSA and interstate regulatory obligations.
  - name: Maintenance & Vehicle Health
    description: >-
      Endpoints providing data for vehicle condition monitoring and maintenance
      workflows, such as DVIR defects and diagnostic sensor events. Enables
      early issue detection and reduced downtime.
  - name: Drivers & Users
    description: >-
      Endpoints related to driver and user identities, assignments, and
      operational context. Supports linking operational and safety data to
      specific individuals.
  - name: Reference Data (Supporting Tables)
    description: >-
      Lookup tables and enumerations that supply standardized codes, metadata,
      and classifications used across the API.
  - name: Analytics (deprecated)
    description: >-
      Endpoints providing analytical insights and aggregated data for vehicles,
      fleets, drivers, and trailers.
paths:
  /v2/telematics/users:
    post:
      tags:
        - Drivers & Users
      summary: Create User
      description: >-
        Create a new user. The user will be created asynchronously, and you can
        check the status of the operation using the returned operation ID.
      operationId: create_user
      parameters:
        - name: is_sync
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Whether to process the request synchronously. If `true`, Catena
              will attempt to create or update the resource immediately with the
              TSP and return the result in the response. When performing
              synchronous operations, you are responsible for handling any
              necessary retries in case of transient failures.If `false`
              (default), Catena will create an asynchronous operation, and you
              can check the status of the operation using the returned operation
              ID.
            default: false
            title: Is Sync
          description: >-
            Whether to process the request synchronously. If `true`, Catena will
            attempt to create or update the resource immediately with the TSP
            and return the result in the response. When performing synchronous
            operations, you are responsible for handling any necessary retries
            in case of transient failures.If `false` (default), Catena will
            create an asynchronous operation, and you can check the status of
            the operation using the returned operation ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
      responses:
        '200':
          description: The user was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceOperation'
        '202':
          description: >-
            The request to create the user has been accepted and is being
            processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceOperation'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotAllowed'
          description: Method Not Allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntity'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotImplementedResponse'
          description: Not Implemented
        '502':
          description: >-
            The request to create the user could not be processed at this time.
            Please see the response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceOperation'
      security:
        - Bearer:
            - telematics:write
components:
  schemas:
    UserCreate:
      properties:
        connection_id:
          type: string
          format: uuid
          title: Connection Id
          description: >-
            Unique identifier of the connection at Catena Telematics which will
            be used to create this resource. A connection represents a Fleet/TSP
            pairing.
        username:
          anyOf:
            - type: string
            - type: 'null'
          title: Username
          description: Unique username/login for the user (source or Catena).
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Active
          description: Indicates whether the user is currently active.
        status:
          anyOf:
            - $ref: '#/components/schemas/UserStatusEnum'
            - type: 'null'
          description: User/account status label (e.g., 'ACTIVE', 'INACTIVE', 'SUSPENDED').
        is_driver:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Driver
          description: Indicates whether the user is a driver (vs. back-office/admin).
        user_designation:
          anyOf:
            - type: string
            - type: 'null'
          title: User Designation
          description: >-
            Role/title or TSP designation (e.g., 'DRIVER', 'DISPATCHER',
            'ADMIN').
        user_email:
          anyOf:
            - type: string
            - type: 'null'
          title: User Email
          description: Email address for the user.
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: User's given name.
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: User's family/surname.
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: User's phone number.
        country_code:
          anyOf:
            - type: string
              pattern: ^\w{3}$
            - type: 'null'
          title: Country Code
          description: User's country code (ISO-3166-1 alpha-3, e.g., 'USA', 'CAN').
        license_country:
          anyOf:
            - type: string
              pattern: ^\w{3}$
            - type: 'null'
          title: License Country
          description: >-
            Issuing country for the driver's license (ISO-3166-1 alpha-3, e.g.,
            'USA', 'CAN').
        license_region:
          anyOf:
            - type: string
            - type: 'null'
          title: License Region
          description: >-
            Issuing region/subdivision for the license (state/province code,
            e.g., 'CA', 'ON').
        license_number:
          anyOf:
            - type: string
            - type: 'null'
          title: License Number
          description: Driver's license number as recorded by the source.
        license_expiration:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: License Expiration
          description: License expiration date (YYYY-MM-DD, local to issuing authority).
        employee_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Employee Number
          description: Employer/HR or payroll identifier for the user (if applicable).
        carrier_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Carrier Number
          description: >-
            Carrier/company identifier as provided by the TSP (e.g., USDOT/MC or
            internal).
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Free-text notes about the user (plain text).
        hos_ruleset_code:
          anyOf:
            - $ref: '#/components/schemas/HosRulesetCodeEnum'
            - type: 'null'
          description: >-
            Assigned HOS ruleset code for the user (normalized; see
            ref_hos_ruleset_codes).
        allow_yard_move:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allow Yard Move
          description: Indicates whether the user is allowed to use Yard Move (YM).
        allow_personal_conveyance:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allow Personal Conveyance
          description: >-
            Indicates whether the user is allowed to use Personal Conveyance
            (PC).
        allow_adverse_driving:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allow Adverse Driving
          description: Indicates whether the user can apply the Adverse Driving exemption.
        default_time_zone:
          anyOf:
            - $ref: '#/components/schemas/TimezoneCodeEnum'
            - type: 'null'
          description: >-
            IANA time zone ID (e.g., 'America/Chicago'); used as the user's
            default for UI/log normalization.
        dot_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Dot Id
          description: DOT identifier associated with the user/carrier.
        phone_country_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Country Code
          description: Phone country code in '+<digits>' format, e.g., '+1'.
        hos_tracking_mode:
          anyOf:
            - $ref: '#/components/schemas/HosTrackingMode'
            - type: 'null'
          description: Normalized HOS tracking configuration.
        hos_compliance_type:
          anyOf:
            - $ref: '#/components/schemas/HosComplianceTypeEnum'
            - type: 'null'
          description: 'Driver HOS compliance classification: exempt or non-exempt.'
        hos_tracking_method:
          anyOf:
            - $ref: '#/components/schemas/HosTrackingMethodEnum'
            - type: 'null'
          description: >-
            How HOS is tracked for non-exempt drivers when the source
            distinguishes tracking method (manual or automatic).
      type: object
      required:
        - connection_id
      title: UserCreate
      description: User model for creating new records
    ResourceOperation:
      properties:
        id:
          type: string
          format: uuid
          title: Operation ID
          description: Unique identifier for the resource operation.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: 'Immutable: The datetime the record was created in Catena Telematics.'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The datetime the record was last modified in Catena Telematics.
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deleted At
          description: >-
            The datetime the record was logically deleted from Catena
            Telematics.
        partner_id:
          type: string
          format: uuid
          title: Partner ID
          description: The ID of the partner that created the operation.
        connection_id:
          type: string
          format: uuid
          title: Connection ID
          description: The ID of the connection
        resource:
          $ref: '#/components/schemas/ResourceEnum'
          title: Resource Type
          description: The type of resource to operate on (e.g., vehicle, driver).
        resource_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Resource ID
          description: >-
            Unique identifier of the record. Can be `null` for create operations
            where the source does not exist yet.
        source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Source ID
          description: >-
            The unique identifier of the resource in the source system. Required
            for update operations.
        operation_type:
          $ref: '#/components/schemas/ResourceOperationTypeEnum'
          title: Operation Type
          description: The type of operation to perform (e.g., create, update).
        payload:
          additionalProperties: true
          type: object
          title: Operation Payload
          description: >-
            The payload of the operation, containing the resource attributes to
            be created or updated.
        status:
          $ref: '#/components/schemas/ResourceOperationStatusEnum'
          title: Operation Status
          description: The status of the operation
          default: pending
        logs:
          items:
            $ref: '#/components/schemas/ResourceOperationLog'
          type: array
          title: Logs
          description: Log entries for each attempt to execute this operation.
      type: object
      required:
        - partner_id
        - connection_id
        - resource
        - operation_type
        - payload
      title: ResourceOperation
      description: Resource operation model
    BadRequest:
      properties:
        code:
          type: integer
          title: Code
          default: 400
        message:
          type: string
          title: Message
          default: Bad Request
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: BadRequest
    Unauthorized:
      properties:
        code:
          type: integer
          title: Code
          default: 401
        message:
          type: string
          title: Message
          default: Unauthorized
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Unauthorized
    Forbidden:
      properties:
        code:
          type: integer
          title: Code
          default: 403
        message:
          type: string
          title: Message
          default: Forbidden
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Forbidden
    NotFound:
      properties:
        code:
          type: integer
          title: Code
          default: 404
        message:
          type: string
          title: Message
          default: Not Found
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: NotFound
    MethodNotAllowed:
      properties:
        code:
          type: integer
          title: Code
          default: 405
        message:
          type: string
          title: Message
          default: Method Not Allowed
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: MethodNotAllowed
    Conflict:
      properties:
        code:
          type: integer
          title: Code
          default: 409
        message:
          type: string
          title: Message
          default: Conflict
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Conflict
    UnprocessableEntity:
      properties:
        code:
          type: integer
          title: Code
          default: 422
        message:
          type: string
          title: Message
          default: Invalid Request Body
        detail:
          anyOf:
            - items:
                $ref: '#/components/schemas/ValidationErrorDetail'
              type: array
            - type: 'null'
          title: Detail
      type: object
      title: UnprocessableEntity
    TooManyRequests:
      properties:
        code:
          type: integer
          title: Code
          default: 429
        message:
          type: string
          title: Message
          default: Too Many Requests
        detail:
          anyOf:
            - $ref: '#/components/schemas/RetryAfterDetail'
            - type: 'null'
      type: object
      title: TooManyRequests
    InternalServerError:
      properties:
        message:
          type: string
          title: Message
          default: Internal Server Error
      type: object
      title: InternalServerError
    NotImplementedResponse:
      properties:
        code:
          type: integer
          title: Code
          default: 501
        message:
          type: string
          title: Message
          default: Not Implemented
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: NotImplementedResponse
    UserStatusEnum:
      type: string
      enum:
        - ACTIVE
        - INACTIVE
      title: UserStatusEnum
      description: Enum for user statuses
    HosRulesetCodeEnum:
      type: string
      enum:
        - US_INT_PROP_60_7
        - US_INT_PROP_60_7_BIG
        - US_INT_PROP_60_7_BIG_SLP
        - US_INT_PROP_60_7_NORST
        - US_INT_PROP_60_7_NORST_SLP
        - US_INT_PROP_60_7_NOBRK
        - US_INT_PROP_60_7_NOBRK_BIG
        - US_INT_PROP_60_7_NOBRK_BIG_SLP
        - US_INT_PROP_60_7_NOBRK_SLP
        - US_INT_PROP_60_7_SH
        - US_INT_PROP_60_7_SH_NORST
        - US_INT_PROP_70_8
        - US_INT_PROP_70_8_BIG
        - US_INT_PROP_70_8_BIG_SLP
        - US_INT_PROP_70_8_NORST
        - US_INT_PROP_70_8_NORST_SLP
        - US_INT_PROP_70_8_NOBRK
        - US_INT_PROP_70_8_NOBRK_BIG
        - US_INT_PROP_70_8_NOBRK_BIG_SLP
        - US_INT_PROP_70_8_NOBRK_SLP
        - US_INT_PROP_70_8_SH
        - US_INT_PROP_70_8_SH_14H
        - US_INT_PROP_70_8_SH_NORST
        - US_INT_PROP_SH_14H
        - US_INT_PAX_60_7
        - US_INT_PAX_60_7_SH
        - US_INT_PAX_70_8
        - US_INT_PAX_70_8_SH
        - US_INT_SALESP
        - US_INT_SALESP_NCDL_SH
        - US_INT_OILTR_60_7
        - US_INT_OILTR_70_8
        - US_INT_OILWL_60_7
        - US_INT_OILWL_70_8
        - US_INT_RAIL_EX
        - US_INT_PROP_SLPVAR
        - US_INT_PROP_60_7_SLPVAR
        - US_INT_PROP_70_8_SLPVAR
        - US_INT_CARRIER_EX
        - US_INT_NOHOS_7
        - US_INT_NOHOS_8
        - US_TX_INTRA_PROP_70_7
        - US_TX_INTRA_SH_70_7
        - US_TX_INTRA_SH_70_8
        - US_CA_INTRA_PROP_80_8
        - US_CA_INTRA_PAX_80_8
        - US_CA_INTRA_FARM_112_8
        - US_CA_INTRA_FARM_BRK
        - US_CA_INTRA_FLAM_80_8
        - US_CA_INTRA_FLAM_BRK
        - US_CA_INTRA_SCH_80_8
        - US_CA_INTRA_SCH_BRK
        - US_AK_INTRA_PROP_70_7
        - US_AK_INTRA_PROP_80_8
        - US_AK_INTRA_PAX_70_7
        - US_AK_INTRA_PAX_80_8
        - US_AK_INTRA_PROP_70_7_SLP
        - US_AK_INTRA_PROP_80_8_SLP
        - US_FL_INTRA_PROP_70_7
        - US_FL_INTRA_PROP_80_8
        - US_FL_INTRA_SH_70_7
        - US_FL_INTRA_SH_80_8
        - US_OR_INTRA_PROP_70_7
        - US_OR_INTRA_PROP_80_8
        - US_MD_INTRA_SH_70_7
        - US_MD_INTRA_SH_80_8
        - US_NE_INTRA_PROP_70_7
        - US_NE_INTRA_PROP_80_8
        - US_NC_INTRA_PROP_70_7
        - US_NC_INTRA_PROP_80_8
        - US_ND_INTRA_PROP_70_7
        - US_ND_INTRA_SH_70_7
        - US_SC_INTRA_PROP_70_7
        - US_SC_INTRA_PROP_80_8
        - US_WA_INTRA_PROP_70_7
        - US_WA_INTRA_PROP_80_8
        - US_WI_INTRA_PROP_70_7
        - US_WI_INTRA_PROP_80_8
        - CA_FED_C1_70_7
        - CA_FED_C2_120_14
        - CA_FED_C1_TEAM
        - CA_FED_C2_TEAM
        - CA_FED_NOHOS
        - CA_N60_C1_80_7
        - CA_N60_C2_120_14
        - CA_N60_C1_TEAM
        - CA_N60_C2_TEAM
        - CA_N60_NOHOS
        - CA_N60_OIL
        - CA_N60_OIL_TEAM
        - CA_AB_PROV_PROP_70_7
        - CA_SK_PROV_PROP_70_7
        - CA_SK_PROV_FERT_EX
        - CA_BC_PROV_LOG
        - CA_S60_OIL
        - CA_OIL_TEAM
        - US_INT_OILTR_60_7_BIG
        - US_INT_OILTR_60_7_BIG_SLP
        - US_INT_OILTR_60_7_SLP
        - US_INT_OILTR_70_8_BIG
        - US_INT_OILTR_70_8_BIG_SLP
        - US_INT_OILTR_70_8_SLP
        - US_CA_INTRA_OILTR_80_8
        - US_CA_INTRA_OILTR_PROP
        - US_INT_OILTR_60_7_NOBRK
        - US_INT_OILTR_60_7_NOBRK_BIG
        - US_INT_OILTR_60_7_NOBRK_BIG_SLP
        - US_INT_OILTR_60_7_NOBRK_SLP
        - US_INT_OILTR_70_8_NOBRK
        - US_INT_OILTR_70_8_NOBRK_BIG
        - US_INT_OILTR_70_8_NOBRK_BIG_SLP
        - US_INT_OILTR_70_8_NOBRK_SLP
        - US_INT_OILTR_SH_12H
        - US_INT_OILTR_SH_14H
        - US_INT_OILTR_70_8_SH_12H
        - US_INT_OILTR_70_8_SH_14H
        - US_TX_INTRA_OILTR_70_7
        - US_INT_OILWL_60_7_BIG
        - US_INT_OILWL_60_7_BIG_SLP
        - US_INT_OILWL_60_7_SLP
        - US_INT_OILWL_70_8_BIG
        - US_INT_OILWL_70_8_BIG_SLP
        - US_INT_OILWL_70_8_SLP
        - US_CA_INTRA_OILWL_80_8
        - US_CA_INTRA_OILWL_PROP
        - US_INT_OILWL_60_7_NOBRK
        - US_INT_OILWL_60_7_NOBRK_BIG
        - US_INT_OILWL_60_7_NOBRK_BIG_SLP
        - US_INT_OILWL_60_7_NOBRK_SLP
        - US_INT_OILWL_70_8_NOBRK
        - US_INT_OILWL_70_8_NOBRK_BIG
        - US_INT_OILWL_70_8_NOBRK_BIG_SLP
        - US_INT_OILWL_70_8_NOBRK_SLP
        - US_TX_INTRA_OILWL_70_7
      title: HosRulesetCodeEnum
      description: Enum for HOS ruleset codes
    TimezoneCodeEnum:
      type: string
      enum:
        - UTC
        - Pacific/Honolulu
        - America/Adak
        - America/Anchorage
        - America/Juneau
        - America/Metlakatla
        - America/Nome
        - America/Sitka
        - America/Yakutat
        - America/Los_Angeles
        - America/Vancouver
        - America/Boise
        - America/Cambridge_Bay
        - America/Creston
        - America/Dawson
        - America/Dawson_Creek
        - America/Denver
        - America/Edmonton
        - America/Fort_Nelson
        - America/Inuvik
        - America/Phoenix
        - America/Whitehorse
        - America/Yellowknife
        - America/Chicago
        - America/Menominee
        - America/North_Dakota/Beulah
        - America/North_Dakota/Center
        - America/North_Dakota/New_Salem
        - America/Rainy_River
        - America/Rankin_Inlet
        - America/Regina
        - America/Resolute
        - America/Swift_Current
        - America/Winnipeg
        - America/Indiana/Knox
        - America/Indiana/Tell_City
        - America/Detroit
        - America/Iqaluit
        - America/Kentucky/Louisville
        - America/Kentucky/Monticello
        - America/New_York
        - America/Nipigon
        - America/Pangnirtung
        - America/Thunder_Bay
        - America/Toronto
        - America/Indiana/Indianapolis
        - America/Indiana/Marengo
        - America/Indiana/Petersburg
        - America/Indiana/Vevay
        - America/Indiana/Vincennes
        - America/Indiana/Winamac
        - America/Atikokan
        - America/Blanc-Sablon
        - America/Glace_Bay
        - America/Goose_Bay
        - America/Halifax
        - America/Moncton
        - America/St_Johns
        - America/Mexico_City
        - America/Cancun
        - America/Merida
        - America/Monterrey
        - America/Mazatlan
        - America/Chihuahua
        - America/Hermosillo
        - America/Tijuana
        - America/Matamoros
        - America/Ojinaga
        - America/Ciudad_Juarez
        - America/Guatemala
        - America/Belize
        - America/Tegucigalpa
        - America/Managua
        - America/Costa_Rica
        - America/Panama
        - America/Bogota
        - America/Lima
        - America/Santiago
        - America/Argentina/Buenos_Aires
        - America/Sao_Paulo
        - America/Montevideo
        - America/Puerto_Rico
        - Europe/London
        - Europe/Dublin
        - Europe/Lisbon
        - Europe/Madrid
        - Europe/Paris
        - Europe/Brussels
        - Europe/Amsterdam
        - Europe/Luxembourg
        - Europe/Berlin
        - Europe/Zurich
        - Europe/Vienna
        - Europe/Rome
        - Europe/Copenhagen
        - Europe/Stockholm
        - Europe/Oslo
        - Europe/Prague
        - Europe/Budapest
        - Europe/Warsaw
        - Europe/Helsinki
        - Europe/Tallinn
        - Europe/Riga
        - Europe/Vilnius
        - Europe/Belgrade
        - Europe/Tirane
        - Europe/Sofia
        - Europe/Athens
        - Europe/Bucharest
        - Europe/Kyiv
        - Europe/Chisinau
        - Europe/Istanbul
        - Europe/Kaliningrad
        - Europe/Moscow
        - Europe/Samara
        - Africa/Casablanca
        - Africa/Algiers
        - Africa/Tunis
        - Africa/Cairo
        - Africa/Tripoli
        - Africa/Lagos
        - Africa/Accra
        - Africa/Dakar
        - Africa/Abidjan
        - Africa/Nairobi
        - Africa/Dar_es_Salaam
        - Africa/Kampala
        - Africa/Johannesburg
        - Africa/Maputo
        - Africa/Windhoek
        - Asia/Dubai
        - Asia/Riyadh
        - Asia/Qatar
        - Asia/Kuwait
        - Asia/Bahrain
        - Asia/Muscat
        - Asia/Baghdad
        - Asia/Amman
        - Asia/Beirut
        - Asia/Jerusalem
        - Asia/Baku
        - Asia/Tbilisi
        - Asia/Yerevan
        - Asia/Almaty
        - Asia/Tashkent
        - Asia/Karachi
        - Asia/Kolkata
        - Asia/Dhaka
        - Asia/Colombo
        - Asia/Kathmandu
        - Asia/Bangkok
        - Asia/Ho_Chi_Minh
        - Asia/Singapore
        - Asia/Kuala_Lumpur
        - Asia/Jakarta
        - Asia/Manila
        - Asia/Shanghai
        - Asia/Hong_Kong
        - Asia/Taipei
        - Asia/Seoul
        - Asia/Tokyo
        - Australia/Sydney
        - Australia/Melbourne
        - Australia/Brisbane
        - Australia/Adelaide
        - Australia/Perth
        - Australia/Darwin
        - Australia/Hobart
        - Pacific/Auckland
      title: TimezoneCodeEnum
      description: Enum for timezone reference codes
    HosTrackingMode:
      properties:
        compliance_type:
          $ref: '#/components/schemas/HosComplianceTypeEnum'
        tracking_method:
          anyOf:
            - $ref: '#/components/schemas/HosTrackingMethodEnum'
            - type: 'null'
      type: object
      required:
        - compliance_type
      title: HosTrackingMode
      description: Normalized HOS tracking configuration.
    HosComplianceTypeEnum:
      type: string
      enum:
        - exempt
        - non_exempt
      title: HosComplianceTypeEnum
      description: Driver HOS Compliance type
    HosTrackingMethodEnum:
      type: string
      enum:
        - manual
        - automatic
      title: HosTrackingMethodEnum
      description: How HOS is tracked when applicable
    ResourceEnum:
      type: string
      enum:
        - asset
        - driver_association
        - driver_vehicle_association
        - driver_event_log
        - driver_safety_event
        - dvir_log
        - dvir_log_defect
        - engine_log
        - engine_status
        - fuel_transaction
        - fleet_info
        - hos_availability
        - hos_daily_snapshot
        - hos_event
        - hos_event_annotation
        - hos_event_attachment
        - hos_violation
        - ifta_summary
        - location_segment
        - message
        - group_message
        - user
        - vehicle
        - vehicle_location
        - vehicle_sensor
        - vehicle_region_segment
        - trailer
        - trailer_association
        - trailer_vehicle_association
        - trailer_location
        - trailer_status
        - workflow
      title: ResourceEnum
      description: Enum for resources
    ResourceOperationTypeEnum:
      type: string
      enum:
        - create
        - update
      title: ResourceOperationTypeEnum
      description: Enum for the type of operation to perform on a resource.
    ResourceOperationStatusEnum:
      type: string
      enum:
        - pending
        - success
        - failed
      title: ResourceOperationStatusEnum
      description: Enum for the status of a resource operation.
    ResourceOperationLog:
      properties:
        id:
          type: string
          format: uuid
          title: Log ID
          description: Unique identifier for the log entry.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Timestamp when the log entry was created.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Timestamp when the log entry was last updated.
        resource_operation_id:
          type: string
          format: uuid
          title: Resource Operation ID
          description: The ID of the resource operation this log entry belongs to.
        status:
          $ref: '#/components/schemas/ResourceOperationLogStatusEnum'
          title: Status
          description: The status of the operation attempt.
        error_type:
          anyOf:
            - $ref: '#/components/schemas/ResourceOperationErrorTypeEnum'
            - type: 'null'
          title: Error Type
          description: The type of error that occurred, if any.
        error_details:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Details
          description: Detailed information about the error, if any.
        response_status_code:
          anyOf:
            - type: integer
            - type: 'null'
          title: TSP Response Status Code
          description: HTTP status code returned by the TSP, if available.
        response_headers:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: TSP Response Headers
          description: HTTP response headers from the TSP (e.g. rate limit state).
      type: object
      required:
        - id
        - created_at
        - updated_at
        - resource_operation_id
        - status
      title: ResourceOperationLog
      description: API response model for a resource operation log entry.
    ValidationErrorDetail:
      properties:
        path:
          type: string
          title: Path
        input:
          type: string
          title: Input
        message:
          type: string
          title: Message
        error_type:
          type: string
          title: Error Type
      type: object
      required:
        - path
        - input
        - message
        - error_type
      title: ValidationErrorDetail
    RetryAfterDetail:
      properties:
        retry_after_seconds:
          type: integer
          title: Retry After Seconds
        message:
          type: string
          title: Message
      type: object
      required:
        - retry_after_seconds
        - message
      title: RetryAfterDetail
    ResourceOperationLogStatusEnum:
      type: string
      enum:
        - success
        - failed
      title: ResourceOperationLogStatusEnum
      description: Enum for the status of a resource operation log entry.
    ResourceOperationErrorTypeEnum:
      type: string
      enum:
        - auth
        - validation
        - network
        - tsp
      title: ResourceOperationErrorTypeEnum
      description: Enum for the type of error that occurred during a resource operation.
  securitySchemes:
    Bearer:
      type: oauth2
      flows:
        clientCredentials:
          refreshUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
          scopes: {}
          tokenUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
        authorizationCode:
          refreshUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
          scopes: {}
          authorizationUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/auth
          tokenUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token

````