Loadsmart Asset Visit API

The Asset Visit API from Loadsmart — 10 operation(s) for asset visit.

Business capability
Logistics Operations Management BC-520.50

Operations 13

POST /asset-visit Create a single AssetVisit #
GET /asset-visit Retrieve multiple AssetVisits #
PATCH /asset-visit/{id} Update a single AssetVisit #
GET /asset-visit/{id} Retrieve a single AssetVisit #
DELETE /asset-visit/{id} Delete a single AssetVisit #
POST /asset-visit/event Asset visit controller create asset visit event #
GET /asset-visit/{id}/yard-events Asset visit controller get asset visit events #
GET /asset-visit/{id}/arrival-container Asset visit controller get arrival asset container for visit #
PATCH /asset-visit/{id}/check-in-acknowledgment Asset visit controller update check in acknowledgment #
POST /asset-visit/{id}/attach/{assetContainerId} Asset visit controller attach container #
POST /asset-visit/{id}/detach/{assetContainerId} Asset visit controller detach container #
POST /asset-visit/link-unplanned-checkin-to-appointment Asset visit controller link unplanned checkin to appointment #
POST /asset-visit/unlink-checkin-from-appointment Asset visit controller unlink checkin from appointment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/loadsmart-asset-visit-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

loadsmart-asset-visit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opendock Nova API Documentation Asset Visit API
  description: '## Welcome to Opendock Nova!'
  version: v4.144.0 - 39b4253
  contact: {}
servers:
- url: https://neutron.opendock.com
  description: Production Server
- url: https://neutron.staging.opendock.com
  description: Staging Server
tags:
- name: Asset Visit
paths:
  /asset-visit:
    post:
      operationId: createOneBaseAssetVisitControllerAssetVisit
      summary: Create a single AssetVisit
      parameters:
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetVisitDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
        '201':
          description: Get create one base response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
    get:
      operationId: getManyBaseAssetVisitControllerAssetVisit
      summary: Retrieve multiple AssetVisits
      parameters:
      - name: excludeStatuses
        required: false
        in: query
        description: Event types to exclude. Asset visits with any event matching these types will be filtered out.
        schema:
          type: array
          items:
            type: string
            enum:
            - NotArrived
            - Arrived
            - Docked
            - Departed
            - Canceled
            - Attached
            - Detached
            - Appointment Linked
            - Appointment Unlinked
            - RejectedByCheckin
            - RejectedByWarehouse
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      - name: fields
        description: Selects resource fields. <a href="https://github.com/nestjsx/crud/wiki/Requests#select" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: s
        description: Adds search condition. <a href="https://github.com/nestjsx/crud/wiki/Requests#search" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: string
      - name: filter
        description: Adds filter condition. <a href="https://github.com/nestjsx/crud/wiki/Requests#filter" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: or
        description: Adds OR condition. <a href="https://github.com/nestjsx/crud/wiki/Requests#or" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: sort
        description: Adds sort by field. <a href="https://github.com/nestjsx/crud/wiki/Requests#sort" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: join
        description: Adds relational resources. <a href="https://github.com/nestjsx/crud/wiki/Requests#join" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: limit
        description: Limit amount of resources. <a href="https://github.com/nestjsx/crud/wiki/Requests#limit" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: integer
      - name: offset
        description: Offset amount of resources. <a href="https://github.com/nestjsx/crud/wiki/Requests#offset" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: integer
      - name: page
        description: Page portion of resources. <a href="https://github.com/nestjsx/crud/wiki/Requests#page" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: integer
      - name: cache
        description: Reset cache (if was enabled). <a href="https://github.com/nestjsx/crud/wiki/Requests#cache" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: integer
          minimum: 0
          maximum: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedDto'
                - properties:
                    entity:
                      type: string
                      example: AssetVisit
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
  /asset-visit/{id}:
    patch:
      operationId: updateOneBaseAssetVisitControllerAssetVisit
      summary: Update a single AssetVisit
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAssetVisitDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
    get:
      operationId: getOneBaseAssetVisitControllerAssetVisit
      summary: Retrieve a single AssetVisit
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      - name: fields
        description: Selects resource fields. <a href="https://github.com/nestjsx/crud/wiki/Requests#select" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: join
        description: Adds relational resources. <a href="https://github.com/nestjsx/crud/wiki/Requests#join" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: cache
        description: Reset cache (if was enabled). <a href="https://github.com/nestjsx/crud/wiki/Requests#cache" target="_blank">Docs</a>
        required: false
        in: query
        schema:
          type: integer
          minimum: 0
          maximum: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
    delete:
      operationId: deleteOneBaseAssetVisitControllerAssetVisit
      summary: Delete a single AssetVisit
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Delete one base response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
  /asset-visit/event:
    post:
      operationId: AssetVisitController_createAssetVisitEvent
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetVisitEventDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller create asset visit event
      x-summary-source: derived
  /asset-visit/{id}/yard-events:
    get:
      operationId: AssetVisitController_getAssetVisitEvents
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller get asset visit events
      x-summary-source: derived
  /asset-visit/{id}/arrival-container:
    get:
      operationId: AssetVisitController_getArrivalAssetContainerForVisit
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetContainer'
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller get arrival asset container for visit
      x-summary-source: derived
  /asset-visit/{id}/check-in-acknowledgment:
    patch:
      operationId: AssetVisitController_updateCheckInAcknowledgment
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAssetVisitAcknowledgmentDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetVisit'
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller update check in acknowledgment
      x-summary-source: derived
  /asset-visit/{id}/attach/{assetContainerId}:
    post:
      operationId: AssetVisitController_attachContainer
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller attach container
      x-summary-source: derived
  /asset-visit/{id}/detach/{assetContainerId}:
    post:
      operationId: AssetVisitController_detachContainer
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: assetContainerId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller detach container
      x-summary-source: derived
  /asset-visit/link-unplanned-checkin-to-appointment:
    post:
      operationId: AssetVisitController_linkUnplannedCheckinToAppointment
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkUnplannedCheckinToAppointmentDto'
      responses:
        '200':
          description: ''
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller link unplanned checkin to appointment
      x-summary-source: derived
  /asset-visit/unlink-checkin-from-appointment:
    post:
      operationId: AssetVisitController_unlinkCheckinFromAppointment
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnlinkAssetFromAppointmentDto'
      responses:
        '200':
          description: ''
      tags:
      - Asset Visit
      security:
      - bearer: []
      summary: Asset visit controller unlink checkin from appointment
      x-summary-source: derived
components:
  schemas:
    AssetContainer:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the record
          example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
          readOnly: true
        createDateTime:
          format: date-time
          type: string
          description: The date and time when the record was created
          example: '2023-10-01T12:00:00Z'
          readOnly: true
        createdBy:
          type: object
          description: The ID of the user who created the record
          example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
          readOnly: true
        lastChangedDateTime:
          format: date-time
          type: string
          description: The date and time when the record was last changed
          example: '2023-10-01T12:00:00Z'
          readOnly: true
        type:
          $ref: '#/components/schemas/AssetContainerType'
        state:
          $ref: '#/components/schemas/AssetContainerState'
        code:
          type: string
          description: The code of the asset container
          example: AC001
        notes:
          type: string
          description: Extra data about the asset container
          example: Asset container for storing goods
        lastLocationCheckConfirmedAt:
          type: object
          description: When a yard location check last confirmed the container present (server-set only; not generic “seen”).
          format: date-time
        assetVisitId:
          type: string
          format: uuid
          description: The id of the asset visit
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        orgId:
          type: string
          format: uuid
        warehouseId:
          type: string
          format: uuid
          description: The id of the warehouse
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        pickupAppointmentId:
          type: string
          format: uuid
          description: The id of the pickup appointment
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        dropAppointmentId:
          type: string
          format: uuid
          description: The id of the drop appointment
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        companyId:
          type: string
          format: uuid
          description: The id of the company that owns the asset container
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
      required:
      - id
      - createDateTime
      - createdBy
      - lastChangedDateTime
      - type
      - code
      - orgId
      - warehouseId
      - pickupAppointmentId
    AssetContainerDetailsDto:
      type: object
      properties: {}
    PaginatedDto:
      type: object
      properties:
        count:
          type: number
          example: 2
        total:
          type: number
          example: 2
        page:
          type: number
          example: 1
        pageCount:
          type: number
          example: 1
        action:
          type: string
          example: read
        entity:
          type: string
          example: Appointment
        data:
          type: array
          items:
            type: string
      required:
      - count
      - total
      - page
      - pageCount
      - action
      - entity
      - data
    UpdateAssetVisitAcknowledgmentDto:
      type: object
      properties:
        tags:
          type: object
    AssetContainerState:
      type: string
      description: The state of the asset container
      enum:
      - Full
      - Empty
      - Partially Loaded
    CreateAssetVisitDto:
      type: object
      properties:
        tags:
          type: object
        warehouseId:
          type: string
          format: uuid
        appointmentId:
          type: string
          format: uuid
        licensePlate:
          type: object
        dotNumber:
          type: object
        companyId:
          type: string
          format: uuid
        phone:
          type: string
          description: Driver Phone number in E.164 format
        useWhatsApp:
          type: boolean
          description: Whether to communicate via WhatsApp
        isPlanned:
          type: boolean
        companyHint:
          type: string
          description: Company name
        visitType:
          $ref: '#/components/schemas/AssetVisitType'
        driverNotes:
          type: string
          description: Driver notes for check-in
        driverAppointmentIdentifier:
          type: string
          description: Appointment identifier entered by the driver for check-in
        hasArrived:
          type: boolean
        assetContainerDetails:
          type: array
          items:
            $ref: '#/components/schemas/AssetContainerDetailsDto'
      required:
      - warehouseId
      - phone
      - useWhatsApp
    LinkUnplannedCheckinToAppointmentDto:
      type: object
      properties:
        tags:
          type: object
        appointmentId:
          type: string
        assetVisitId:
          type: string
        companyId:
          type: string
          deprecated: true
          description: 'Deprecated: company is resolved from the appointment user on the server. Optional for legacy clients only.'
      required:
      - appointmentId
      - assetVisitId
    AssetVisitType:
      type: string
      description: The type of the asset visit
      enum:
      - LiveUnload
      - LiveLoad
      - Live
      - Drop
      - PickUp
      - DropHook
      - Unknown
    AssetVisit:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the record
          example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
          readOnly: true
        createDateTime:
          format: date-time
          type: string
          description: The date and time when the record was created
          example: '2023-10-01T12:00:00Z'
          readOnly: true
        createdBy:
          type: object
          description: The ID of the user who created the record
          example: a0e1f2c3-d4e5-6f7g-8h9i-j0k1l2m3n4o5
          readOnly: true
        lastChangedDateTime:
          format: date-time
          type: string
          description: The date and time when the record was last changed
          example: '2023-10-01T12:00:00Z'
          readOnly: true
        orgId:
          type: string
          format: uuid
        warehouseId:
          type: string
          format: uuid
          description: The id of the warehouse
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        appointmentId:
          type: string
          format: uuid
          description: The id of the appointment
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        secondaryAppointmentId:
          type: string
          format: uuid
          description: The id of the secondary appointment
          example: b1e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4p
        companyId:
          type: string
          format: uuid
          description: The id of the company
          example: a0e4b1c2-3d4e-5f6g-7h8i-9j0k1l2m3n4o
        phone:
          type: string
          description: The phone number of the driver
          example: '+14155552671'
        isPlanned:
          type: boolean
          description: Indicates if the visit has an appointment or not
          example: false
        companyHint:
          type: string
          description: A free-text to indicate the company name when there is no appointment
          example: Super Company CO.
        driverNotes:
          type: string
          description: Notes typed by the driver when checking in
          example: My truck is broken, please help me
        driverAppointmentIdentifier:
          type: string
          description: Appointment identification typed by the driver when checking in
          example: PO48593
        visitType:
          example: Live
          $ref: '#/components/schemas/AssetVisitType'
        checkInAcknowledged:
          type: boolean
          description: Whether the check-in was acknowledged by the warehouse or not
          example: false
        rejectReason:
          type: object
          description: The reason the asset visit was rejected
          example: Driver did not pass safety check
      required:
      - id
      - createDateTime
      - createdBy
      - lastChangedDateTime
      - orgId
      - warehouseId
      - phone
      - isPlanned
    UpdateAssetVisitDto:
      type: object
      properties:
        tags:
          type: object
        appointmentId:
          type: string
          format: uuid
        companyId:
          type: object
          format: uuid
        licensePlate:
          type: string
        dotNumber:
          type: string
        companyHint:
          type: string
          maxLength: 128
          description: Free-text carrier name when no companyId is selected
        visitType:
          $ref: '#/components/schemas/AssetVisitType'
    CreateAssetVisitEventDto:
      type: object
      properties:
        tags:
          type: object
    AssetContainerType:
      type: string
      description: The type of the asset container
      enum:
      - Trailer
      - Container
      - Oversized
      - Chassis
      - Reefer
      - Other
    UnlinkAssetFromAppointmentDto:
      type: object
      properties:
        tags:
          type: object
        appointmentId:
          type: string
        assetVisitId:
          type: string
      required:
      - appointmentId
      - assetVisitId
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http