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

# Log a trip check call

> Logs a check call (driver status update) on an in-progress trip. Only accepted while the trip is Covered, Dispatched, or In Transit.

Log a check call (driver status update) on a trip. Check calls are trip-level, so the load number, trip number, identity, and timestamp are resolved server-side from the trip in the URL path.

The trip must be in progress (`Covered`, `Dispatched`, or `In Transit`); a check call on a terminal, pre-dispatch, or post-delivery-billing trip is rejected with `422`.

### Endpoint

```
POST /api/p/v{version}/trips/{tripId}/check-calls
```

### Request Parameters

| Parameter | Type   | Required | Description                    |
| --------- | ------ | -------- | ------------------------------ |
| version   | String | Yes      | API version to use (`1.0`).    |
| tripId    | String | Yes      | Unique identifier of the trip. |

### Request Body

| Field               | Type   | Required | Description                                                                                                                                          |
| ------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Description         | string | Yes      | Free-text note for the check call (e.g. the driver's reply). Max 4000 characters.                                                                    |
| Activity            | string | No       | The activity reported (e.g. `Driving`, `At Pickup`). Max 100 characters.                                                                             |
| DriverId            | string | No       | Id of the driver to attribute the check call to. Must be one of the trip's assigned drivers (a team trip has two). Omit to record at the trip level. |
| Location            | object | No       | Structured location: `Street`, `City`, `State`, `Zip`, `Country`, `Coordinates` ({ `Latitude`, `Longitude` }). All fields optional.                  |
| SetpointTemperature | object | No       | Reefer set-point temperature: `Value` (number) + `Unit` (`Fahrenheit` / `Celsius` / `Kelvin`).                                                       |
| ReturnTemperature   | object | No       | Reefer return temperature: `Value` + `Unit`.                                                                                                         |

### Example CURL request

```bash theme={null}
curl --location 'https://integrations.alvys.com/api/p/v{version}/trips/{tripId}/check-calls' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
  "Description": "Driver reports on schedule",
  "Activity": "Driving",
  "DriverId": "DR2517179655771527026",
  "Location": {
    "City": "Dallas",
    "State": "TX",
    "Coordinates": { "Latitude": "32.7767", "Longitude": "-96.7970" }
  },
  "SetpointTemperature": { "Value": 34, "Unit": "Fahrenheit" }
}'
```

Replace `{version}` with `1.0`, `{tripId}` with the actual trip ID, and `YOUR_ACCESS_TOKEN` with a valid token.

### Response Body

The created check-call object:

| Name                | Type         | Description                                                                       |
| ------------------- | ------------ | --------------------------------------------------------------------------------- |
| Id                  | string       | Unique identifier of the check call.                                              |
| LoadNumber          | string       | Load number the check call belongs to.                                            |
| Description         | string       | Free-text note captured with the check call.                                      |
| Location            | object, null | Structured location (`Street`, `City`, `State`, `Zip`, `Country`, `Coordinates`). |
| CreatedAt           | string, null | UTC timestamp when the check call was recorded.                                   |
| Activity            | string, null | The activity reported (e.g. `Driving`, `At Pickup`).                              |
| ResponseType        | string, null | Categorization of the response (e.g. arrival, departure).                         |
| CreatedBy           | string, null | Name of the user or integration that logged the check call.                       |
| DriverName          | string, null | Assigned driver's name, if known.                                                 |
| TripId              | string       | Id of the trip the check call belongs to.                                         |
| TripNumber          | string, null | Related trip number, if known.                                                    |
| SetpointTemperature | object, null | Reefer set-point temperature (`Value`, `Unit`).                                   |
| ReturnTemperature   | object, null | Reefer return temperature (`Value`, `Unit`).                                      |

### Example Response (201 Created)

```json theme={null}
{
  "Id": "9f1c2a7b3e4d4f8a9b0c1d2e3f4a5b6c",
  "LoadNumber": "L100245",
  "Description": "Driver reports on schedule",
  "Location": {
    "Street": "",
    "City": "Dallas",
    "State": "TX",
    "Zip": "",
    "Country": "",
    "Coordinates": { "Latitude": "32.7767", "Longitude": "-96.7970" }
  },
  "CreatedAt": "2026-07-08T15:04:07+00:00",
  "Activity": "Driving",
  "ResponseType": null,
  "CreatedBy": "public-api-tl743-integration",
  "DriverName": "Jordan Rivera",
  "TripId": "b93e5cf1b6134f5e9a78b07af2870d9b",
  "TripNumber": "T100245-1",
  "SetpointTemperature": { "Value": 34, "Unit": "Fahrenheit" },
  "ReturnTemperature": null
}
```

### Status Codes

| Code | Meaning                                                             |
| ---- | ------------------------------------------------------------------- |
| 201  | Check call logged.                                                  |
| 400  | Validation error (e.g. empty `Description`).                        |
| 401  | Missing or invalid access token.                                    |
| 403  | Token lacks the required scope.                                     |
| 404  | Trip not found (or not accessible to your tenant).                  |
| 422  | Trip is not in progress, or `DriverId` is not assigned to the trip. |
| 429  | Rate limit exceeded.                                                |

***

### Rate Limits

All endpoints are subject to rate limits to protect the API from traffic spikes.
For detailed information, see the [Rate Limits](/docs/rate-limits) section.

***

### Try It Out

This page is interactive, allowing you to try a request by specifying the **API version** and **tripId** in the URL path and editing the request body.

As you fill out the parameters, the cURL command on the right side of the page will be automatically updated. Alternatively, you can directly edit the cURL command.

⚠️ Don’t forget: make sure to **authorize yourself** before trying a request.


## OpenAPI

````yaml POST /api/p/v{version}/trips/{tripId}/check-calls
openapi: 3.0.1
info:
  title: Alvys
  description: >-
    Alvys provides a robust set of REST APIs to allow you to integrate Alvys
    into virtually any platform. These APIs cover most of Alvys' major product
    areas with additional endpoints being added regularly based on customer
    requests.
  contact:
    name: Alvys Support
    url: https://www.alvys.com/resources/contact/
  version: v1
servers:
  - url: https://integrations.alvys.com
    description: Public API Server
  - url: https://api.alvys.com/
    description: Public API Server
security:
  - Public: []
tags:
  - name: Authentication
    description: Obtain an OAuth 2.0 access token for the Alvys Public API.
  - name: Carrier Settlement Statements
    description: >-
      Search carrier settlement statements and retrieve a single statement by
      number.
  - name: Carriers
    description: Read carrier records, search carriers, and manage carrier documents.
  - name: Customers
    description: Create, read, update, delete, and search customer records.
  - name: Deductions
    description: >-
      Create one-time deductions and search or delete existing deduction
      records.
  - name: DispatchPreferences
    description: Dispatch preferences endpoints for reading dispatch rules and preferences.
  - name: Driver Settlement Statements
    description: >-
      Search driver settlement statements and retrieve a single statement by
      number.
  - name: Drivers
    description: >-
      Read driver records, search drivers and driver events, and manage driver
      documents.
  - name: Fuel
    description: Read and search fuel transactions.
  - name: Invoices
    description: >-
      Read invoices, create carrier invoices, and record carrier and customer
      payments.
  - name: Loads
    description: Read, update, search loads, and manage load documents and notes.
  - name: Locations
    description: Read and search company location details.
  - name: Maintenance
    description: Read and search maintenance records.
  - name: Tenders
    description: Create, accept, reject, cancel, update, and search inbound EDI tenders.
  - name: Tolls
    description: Read and search toll transactions.
  - name: Trailers
    description: Read trailers, search trailer events, and manage trailer documents.
  - name: Trips
    description: >-
      Read, search trips, manage trip documents, and record stop appointments,
      arrivals, and departures.
  - name: Trucks
    description: Read trucks, search truck events, and manage truck documents.
  - name: Users
    description: List and search users.
  - name: Visibility
    description: >-
      Read inbound and outbound visibility history and search outbound
      visibility errors.
  - name: Webhooks
    description: >-
      Create, read, update, delete, enable, disable, verify, test, and rotate
      secrets for webhook subscriptions; read event types, delivery logs, and
      health metrics.
paths:
  /api/p/v{version}/trips/{tripId}/check-calls:
    post:
      tags:
        - Trips
      summary: Log a trip check call
      description: >-
        Logs a check call (driver status update) on an in-progress trip. Only
        accepted while the trip is Covered, Dispatched, or In Transit.
      parameters:
        - name: tripId
          in: path
          required: true
          schema:
            type: string
        - name: version
          in: path
          description: API version (e.g., 1.0)
          required: true
          schema:
            type: string
            default: '1.0'
            example: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/Alvys.Models.CheckCalls.Public.CheckCallCreateRequest
          application/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/Alvys.Models.CheckCalls.Public.CheckCallCreateRequest
          text/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/Alvys.Models.CheckCalls.Public.CheckCallCreateRequest
          application/*+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/Alvys.Models.CheckCalls.Public.CheckCallCreateRequest
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Alvys.Models.CheckCalls.Public.CheckCallResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Microsoft.AspNetCore.Mvc.ValidationProblemDetails
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
      security:
        - Public: []
components:
  schemas:
    Alvys.Models.CheckCalls.Public.CheckCallCreateRequest:
      required:
        - Description
      type: object
      properties:
        Description:
          maxLength: 4000
          minLength: 1
          type: string
          description: Free-text note for the check call (e.g. the driver's reply).
        Activity:
          maxLength: 100
          type: string
          nullable: true
          description: The activity reported (e.g. Driving, At Pickup).
        DriverId:
          maxLength: 100
          type: string
          nullable: true
          description: >-
            Id of the driver to attribute the check call to. Must be one of the
            trip's assigned drivers.
        Location:
          $ref: '#/components/schemas/Alvys.Models.StreetAddress'
        SetpointTemperature:
          $ref: '#/components/schemas/Alvys.Temperature'
        ReturnTemperature:
          $ref: '#/components/schemas/Alvys.Temperature'
      additionalProperties: false
    Alvys.Models.CheckCalls.Public.CheckCallResponse:
      required:
        - Id
        - LoadNumber
        - Description
        - TripId
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the check call.
        LoadNumber:
          type: string
          description: Load number the check call belongs to.
        Description:
          type: string
          description: Free-text note captured with the check call.
        Location:
          $ref: '#/components/schemas/Alvys.Models.StreetAddress'
        CreatedAt:
          type: string
          format: date-time
          nullable: true
          description: When the check call was recorded (UTC).
        Activity:
          type: string
          nullable: true
          description: The activity reported.
        ResponseType:
          type: string
          nullable: true
          description: Categorization of the response (e.g. arrival, departure).
        CreatedBy:
          type: string
          nullable: true
          description: Name of the user or integration that logged the check call.
        DriverName:
          type: string
          nullable: true
          description: Assigned driver's name, if known.
        TripId:
          type: string
          description: Id of the trip the check call belongs to.
        TripNumber:
          type: string
          nullable: true
          description: Related trip number, if known.
        SetpointTemperature:
          $ref: '#/components/schemas/Alvys.Temperature'
        ReturnTemperature:
          $ref: '#/components/schemas/Alvys.Temperature'
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ValidationProblemDetails:
      required:
        - Errors
      type: object
      properties:
        Errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        Type:
          type: string
          nullable: true
        Title:
          type: string
          nullable: true
        Status:
          type: integer
          format: int32
          nullable: true
        Detail:
          type: string
          nullable: true
        Instance:
          type: string
          nullable: true
      additionalProperties: {}
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        Type:
          type: string
          nullable: true
        Title:
          type: string
          nullable: true
        Status:
          type: integer
          format: int32
          nullable: true
        Detail:
          type: string
          nullable: true
        Instance:
          type: string
          nullable: true
      additionalProperties: {}
    Alvys.Models.StreetAddress:
      type: object
      properties:
        Street:
          type: string
          nullable: true
        City:
          type: string
          nullable: true
        State:
          type: string
          nullable: true
        Zip:
          type: string
          nullable: true
        Country:
          type: string
          nullable: true
        Coordinates:
          $ref: '#/components/schemas/Alvys.Models.Coordinates'
        TimeZoneId:
          type: string
          nullable: true
      additionalProperties: false
    Alvys.Temperature:
      required:
        - Value
        - UnitOfMeasure
      type: object
      properties:
        Value:
          type: number
          format: double
        UnitOfMeasure:
          allOf:
            - $ref: '#/components/schemas/Alvys.TemperatureUnits'
      additionalProperties: false
    Alvys.Models.Coordinates:
      required:
        - Latitude
        - Longitude
      type: object
      properties:
        Latitude:
          type: string
        Longitude:
          type: string
      additionalProperties: false
    Alvys.TemperatureUnits:
      enum:
        - Fahrenheit
        - Celsius
        - Kelvin
      type: string
  securitySchemes:
    Public:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 client-credentials access token. Obtain one from
        https://auth.alvys.com/oauth/token (grant_type=client_credentials,
        audience=https://api.alvys.com/public/), then paste it here. The
        playground sends it as `Authorization: Bearer <token>`.

````