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

# 🧪 Update Trailer

> Update an existing trailer. By default, the trailer will be updated 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 patch /v2/telematics/trailers/{id}
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/trailers/{id}:
    patch:
      tags:
        - Fleet Operations & Tracking
      summary: Update Trailer
      description: >-
        Update an existing trailer. By default, the trailer will be updated
        asynchronously, and you can check the status of the operation using the
        returned operation ID.
      operationId: update_trailer
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: The unique identifier of the trailer
            title: Id
          description: The unique identifier of the trailer
        - 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/TrailerUpdate'
      responses:
        '200':
          description: The trailer was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceOperation'
        '202':
          description: >-
            The request to update the trailer 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 update the trailer 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:
    TrailerUpdate:
      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.
        trailer_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Trailer Name
          description: Display name or unit number for the trailer.
        oem:
          anyOf:
            - type: string
            - type: 'null'
          title: Oem
          description: Manufacturer (OEM) of the trailer.
        model_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Type
          description: >-
            Manufacturer model or type designation (e.g., '53ft Dry Van',
            'Reefer').
        model_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Model Year
          description: Model year (four-digit, e.g., 2022).
        vin:
          anyOf:
            - type: string
            - type: 'null'
          title: Vin
          description: >-
            Vehicle Identification Number (VIN), typically 17 characters; if
            available.
        license_plate_region:
          anyOf:
            - type: string
            - type: 'null'
          title: License Plate Region
          description: Plate region/subdivision (state/province code, e.g., 'CA', 'ON').
        license_plate_country:
          anyOf:
            - type: string
            - type: 'null'
          title: License Plate Country
          description: Plate country code (ISO-3166-1 alpha-2, e.g., 'US', 'CA').
        license_plate_number:
          anyOf:
            - type: string
            - type: 'null'
          title: License Plate Number
          description: License plate number (e.g., 'HMT-3570').
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Active
          description: Indicates whether this trailer is currently active/in service.
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
          description: >-
            Operational status label (e.g., 'IN_SERVICE', 'OUT_OF_SERVICE',
            'MAINTENANCE').
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Free-text notes about the trailer (plain text).
        eld_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Id
          description: >-
            Telematics/ELD device identifier associated with this trailer, if
            any.
        eld_serial_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Serial Number
          description: Telematics/ELD device serial number, if any.
        eld_device_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Device Type
          description: Telematics/ELD device type or model family (vendor-specific).
        eld_product_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Product Id
          description: Telematics/ELD vendor product identifier (catalog/model code).
        total_axles:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Axles
          description: Total number of axles on the trailer.
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
          description: >-
            External trailer identifier as known in the TSP or customer's
            system.
        trailer_length:
          anyOf:
            - type: number
            - type: 'null'
          title: Trailer Length
          description: >-
            Length of the trailer (numeric; unit per source, e.g., feet or
            meters).
        trailer_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Trailer Type
          description: >-
            Body type/classification (e.g., Dry Van, Reefer, Flatbed, Tanker,
            Chassis).
      type: object
      required:
        - connection_id
      title: TrailerUpdate
      description: Trailer model for updating existing 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
    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

````