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

# 🧪 Get Load Declared Assignments

> Retrieve the vehicles the identifiers you sent matched for a load you posted. Vehicles are matched when you post or edit the load, from the `vehicle` identifiers you sent: the TSP ID first, then the VIN, then the license plate with its region. The first identifier that finds a vehicle you can see decides the match, and `matched_on` lists every identifier of yours that the vehicle agrees with. If an identifier fits several vehicles, all of them are returned, best match first: the vehicle that agrees with the most of your identifiers, then, where you can read vehicle locations, the one that reported a position most recently, then the one whose vehicle record was updated most recently. A vehicle is returned even if another identifier you sent disagrees with it (for example the VIN matches but the plate doesn't), because either side may have a data-quality issue. Such vehicles rank below ones that agree on more of your identifiers, and `matched_on` shows exactly which identifiers agreed. Only vehicles in fleets that share vehicle data with you are returned.

<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/intelligence/openapi.json get /v2/visibility/loads/{load_id}/declared-assignments
openapi: 3.1.0
info:
  title: Telematics Intelligence Service - REST API
  description: Telematics Intelligence Service REST API.
  version: 0.1.0
servers:
  - url: https://api.catenatelematics.com
    description: Catena Intelligence API
security: []
tags:
  - name: Analytics
    description: >-
      Endpoints providing analytical insights and aggregated data for vehicles,
      fleets, drivers, and trailers.
  - name: Benchmarks
    description: >-
      Endpoints providing cross-fleet benchmark data. A vehicle's metrics are
      ranked against a cohort of peer vehicles drawn from the full Catena fleet
      population. Cohort statistics are k-anonymised: percentile and cohort
      counts are suppressed when the cohort covers too few distinct fleets to
      protect individual fleet privacy.
  - name: Visibility
    description: >-
      Post load context, including planned locations, times, and the carrier,
      vehicle and driver.
paths:
  /v2/visibility/loads/{load_id}/declared-assignments:
    get:
      tags:
        - Visibility
      summary: Get declared assignments for a load
      description: >-
        Retrieve the vehicles the identifiers you sent matched for a load you
        posted. Vehicles are matched when you post or edit the load, from the
        `vehicle` identifiers you sent: the TSP ID first, then the VIN, then the
        license plate with its region. The first identifier that finds a vehicle
        you can see decides the match, and `matched_on` lists every identifier
        of yours that the vehicle agrees with. If an identifier fits several
        vehicles, all of them are returned, best match first: the vehicle that
        agrees with the most of your identifiers, then, where you can read
        vehicle locations, the one that reported a position most recently, then
        the one whose vehicle record was updated most recently. A vehicle is
        returned even if another identifier you sent disagrees with it (for
        example the VIN matches but the plate doesn't), because either side may
        have a data-quality issue. Such vehicles rank below ones that agree on
        more of your identifiers, and `matched_on` shows exactly which
        identifiers agreed. Only vehicles in fleets that share vehicle data with
        you are returned.
      operationId: get_load_declared_assignments
      parameters:
        - name: load_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Load Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoadDeclaredAssignmentsRead'
        '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
      security:
        - Bearer:
            - telematics:read
components:
  schemas:
    LoadDeclaredAssignmentsRead:
      properties:
        load_id:
          type: string
          format: uuid
          title: Load Id
          description: Catena identifier of the load.
        load_ref:
          type: string
          title: Load Ref
          description: Your reference for the load, as posted.
        assignments:
          items:
            $ref: '#/components/schemas/LoadDeclaredAssignmentRead'
          type: array
          title: Assignments
          description: >-
            Vehicles matched when you posted or last edited the load, best match
            first. Empty when you sent no vehicle identifiers, or none matched a
            vehicle you can see. More than one when an identifier fits several
            vehicles.
      type: object
      required:
        - load_id
        - load_ref
        - assignments
      title: LoadDeclaredAssignmentsRead
      description: >-
        Vehicles matched to a load from the vehicle identifiers its partner
        sent.
    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
    LoadDeclaredAssignmentRead:
      properties:
        vehicle:
          $ref: '#/components/schemas/VehicleEmbeddedRead'
          description: >-
            The vehicle, including its Catena identifier as `vehicle.id`, its
            VIN and its license plate.
        matched_on:
          items:
            $ref: '#/components/schemas/DeclaredMatchFieldEnum'
          type: array
          title: Matched On
          description: >-
            The identifiers you sent that this vehicle agrees with: `tsp_id`,
            `vin` and `license_plate`, in that order.
      type: object
      required:
        - vehicle
        - matched_on
      title: LoadDeclaredAssignmentRead
      description: One vehicle the identifiers you sent for the load matched.
    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
    VehicleEmbeddedRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the record at Catena Telematics.
        vehicle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Vehicle Name
          description: Display name or unit number for the vehicle.
        oem:
          anyOf:
            - type: string
            - type: 'null'
          title: Oem
          description: Manufacturer (OEM) of the vehicle.
        model_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Type
          description: >-
            Manufacturer model or type designation (e.g., 'Class 8 Tractor',
            'Pickup').
        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-3, e.g., 'USA', 'CAN').
        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 the vehicle 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').
        eld_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Id
          description: >-
            Telematics/ELD device identifier associated with this vehicle, if
            any.
        eld_serial_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Eld Serial Number
          description: Telematics/ELD device serial number, if any.
        source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Id
          description: Unique identifier of the record in the TSP.
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
          description: >-
            External vehicle identifier as known in the TSP or customer's
            system.
      type: object
      required:
        - id
      title: VehicleEmbeddedRead
      description: Lightweight vehicle snapshot embedded in other API responses.
    DeclaredMatchFieldEnum:
      type: string
      enum:
        - vin
        - license_plate
        - tsp_id
      title: DeclaredMatchFieldEnum
      description: An identifier a declared assignment can be matched on.
  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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.