Samsara Logs API

The Logs API from Samsara — 4 operation(s) for logs.

Operations 4

GET /fleet/hos/daily-logs Get All Driver HOS Daily Logs #
GET /fleet/routes/audit-logs/feed Get Route Updates #
PATCH /hos/daily-logs/log-meta-data [beta] Update the ShippingDocs Field of an Existing Assignment. #
GET /v1/fleet/hos_authentication_logs Get HOS Signin and Signout #

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/samsara-logs-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

samsara-logs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Gain greater visibility by connecting your fleets, equipment, sites, and people.
  title: Samsara Logs API
  version: '2024-11-18'
servers:
- url: https://api.samsara.com/
- url: https://api.eu.samsara.com/
security:
- AccessTokenHeader: []
tags:
- name: Logs
paths:
  /fleet/hos/daily-logs:
    get:
      description: "Get summarized daily Hours of Service charts for the specified drivers.\n\nThe time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.\n\nThe `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).\n\n**Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.\n\nIf you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).\n\n <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href=\"https://developers.samsara.com/docs/rate-limits\" target=\"_blank\">here</a>).\n\nTo use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team."
      operationId: getHosDailyLogs
      parameters:
      - description: ' A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`'
        explode: false
        in: query
        name: driverIds
        schema:
          items:
            type: string
          type: array
        style: form
      - description: ' A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field'
        in: query
        name: startDate
        schema:
          type: string
      - description: ' An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field'
        in: query
        name: endDate
        schema:
          type: string
      - description: ' A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`'
        in: query
        name: tagIds
        schema:
          type: string
      - description: ' A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`'
        in: query
        name: parentTagIds
        schema:
          type: string
      - description: 'If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers).  Valid values: `active`, `deactivated`'
        in: query
        name: driverActivationStatus
        schema:
          default: active
          enum:
          - active
          - deactivated
          type: string
      - description: ' If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.'
        in: query
        name: after
        schema:
          type: string
      - description: 'Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.


          Valid value: `vehicle`  Valid values: `vehicle`'
        in: query
        name: expand
        schema:
          enum:
          - vehicle
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsResponseBody'
          description: OK response.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsUnauthorizedErrorResponseBody'
          description: Unauthorized response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsNotFoundErrorResponseBody'
          description: Not Found response.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsMethodNotAllowedErrorResponseBody'
          description: Method Not Allowed response.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsTooManyRequestsErrorResponseBody'
          description: Too Many Requests response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsInternalServerErrorResponseBody'
          description: Internal Server Error response.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsNotImplementedErrorResponseBody'
          description: Not Implemented response.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsBadGatewayErrorResponseBody'
          description: Bad Gateway response.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsServiceUnavailableErrorResponseBody'
          description: Service Unavailable response.
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsGatewayTimeoutErrorResponseBody'
          description: Gateway Timeout response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsGetHosDailyLogsBadRequestErrorResponseBody'
          description: Bad Request response.
      summary: Get All Driver HOS Daily Logs
      tags:
      - Logs
  /fleet/routes/audit-logs/feed:
    get:
      description: "Subscribes to a feed of immutable, append-only updates for routes. The initial request to this feed endpoint returns a cursor, which can be used on the next request to fetch updated routes that have had state changes since that request.\n\nThe legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/fetchAllRouteJobUpdates).\n\n <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href=\"https://developers.samsara.com/docs/rate-limits\" target=\"_blank\">here</a>).\n\nTo use this endpoint, select **Read Routes** under the Driver Workflow category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team."
      operationId: getRoutesFeed
      parameters:
      - description: ' If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.'
        in: query
        name: after
        schema:
          type: string
      - description: 'Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.


          Valid value: `route`  Valid values: `route`'
        in: query
        name: expand
        schema:
          enum:
          - route
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedResponseBody'
          description: OK response.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedUnauthorizedErrorResponseBody'
          description: Unauthorized response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedNotFoundErrorResponseBody'
          description: Not Found response.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedMethodNotAllowedErrorResponseBody'
          description: Method Not Allowed response.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedTooManyRequestsErrorResponseBody'
          description: Too Many Requests response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedInternalServerErrorResponseBody'
          description: Internal Server Error response.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedNotImplementedErrorResponseBody'
          description: Not Implemented response.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedBadGatewayErrorResponseBody'
          description: Bad Gateway response.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedServiceUnavailableErrorResponseBody'
          description: Service Unavailable response.
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedGatewayTimeoutErrorResponseBody'
          description: Gateway Timeout response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesGetRoutesFeedBadRequestErrorResponseBody'
          description: Bad Request response.
      summary: Get Route Updates
      tags:
      - Logs
  /hos/daily-logs/log-meta-data:
    patch:
      description: "Update the shippingDocs field of an existing assignment.\n\n <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href=\"https://developers.samsara.com/docs/rate-limits\" target=\"_blank\">here</a>).\n\nTo use this endpoint, select **Write ELD Hours of Service (US)** under the Compliance category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team."
      operationId: updateShippingDocs
      parameters:
      - description: A start date in yyyy-mm-dd format. Required.
        in: query
        name: hosDate
        required: true
        schema:
          type: string
      - description: ID of the driver for whom the duty status is being set.
        in: query
        name: driverID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsResponseBody'
          description: OK response.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsUnauthorizedErrorResponseBody'
          description: Unauthorized response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsNotFoundErrorResponseBody'
          description: Not Found response.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsMethodNotAllowedErrorResponseBody'
          description: Method Not Allowed response.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsTooManyRequestsErrorResponseBody'
          description: Too Many Requests response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsInternalServerErrorResponseBody'
          description: Internal Server Error response.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsNotImplementedErrorResponseBody'
          description: Not Implemented response.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsBadGatewayErrorResponseBody'
          description: Bad Gateway response.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsServiceUnavailableErrorResponseBody'
          description: Service Unavailable response.
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsGatewayTimeoutErrorResponseBody'
          description: Gateway Timeout response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HosDailyLogsUpdateShippingDocsBadRequestErrorResponseBody'
          description: Bad Request response.
      summary: '[beta] Update the ShippingDocs Field of an Existing Assignment.'
      tags:
      - Logs
      x-codegen-request-body-name: UpdateShippingDocsRequestBody
  /v1/fleet/hos_authentication_logs:
    get:
      description: "<n class=\"warning\">\n<nh>\n<i class=\"fa fa-exclamation-circle\"></i>\nThis endpoint is still on our legacy API.\n</nh>\n</n>\n\nGet the HOS (hours of service) signin and signout logs for the specified driver. The response includes 4 fields that are now deprecated.\n\n**Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded. \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team.\n\nTo use this endpoint, select **Read ELD Hours of Service (US)** under the Compliance category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>"
      operationId: V1getFleetHosAuthenticationLogs
      parameters:
      - description: Driver ID to query.
        in: query
        name: driverId
        required: true
        schema:
          format: int64
          type: integer
      - description: Beginning of the time range, specified in milliseconds UNIX time.
        in: query
        name: startMs
        required: true
        schema:
          format: int64
          type: integer
      - description: End of the time range, specified in milliseconds UNIX time.
        in: query
        name: endMs
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1HosAuthenticationLogsResponse'
          description: HOS authentication logs for the specified driver.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: Get HOS Signin and Signout
      tags:
      - Logs
components:
  schemas:
    RoutesGetRoutesFeedBadGatewayErrorResponseBody:
      description: Bad Gateway
      properties:
        message:
          description: Message of error
          example: 'rpc error: code = Unknown desc = connection refused'
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    HosDailyLogsGetHosDailyLogsResponseBody:
      properties:
        data:
          description: List of drivers and their HOS daily logs data.
          items:
            $ref: '#/components/schemas/HosDailyLogsObjectResponseBody'
          type: array
        pagination:
          $ref: '#/components/schemas/GoaPaginationResponseResponseBody'
      required:
      - data
      - pagination
      type: object
    RoutesGetRoutesFeedBadRequestErrorResponseBody:
      description: Bad Request parameters
      properties:
        message:
          description: Message of error
          example: Invalid value for parameter.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    HosDailyLogsUpdateShippingDocsRequestBody:
      description: Update the shippingDocs field.
      properties:
        shippingDocs:
          description: ShippingDocs associated with the driver for the day.
          example: ShippingID1, ShippingID2
          type: string
      required:
      - shippingDocs
      type: object
    RoutesGetRoutesFeedServiceUnavailableErrorResponseBody:
      description: Service unavailable
      properties:
        message:
          description: Message of error
          example: context deadline exceeded
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    PatchShippingDocsResponseBodyResponseBody:
      description: Response after successfully updating the LogMetaData object.
      properties:
        adverseDrivingClaimed:
          description: Whether the driver has claimed the [Adverse Driving Exemption](https://kb.samsara.com/hc/en-us/articles/360047336792-Adverse-Driving-Exemption) for this HOS day chart.
          example: true
          type: boolean
        bigDayClaimed:
          description: Whether the driver has claimed the [Big Day Exemption](https://kb.samsara.com/hc/en-us/articles/360057113891-16-Hour-Short-Haul-Exemption-Big-Day-) for this HOS day chart.
          example: false
          type: boolean
        carrierFormattedAddress:
          description: The address of the carrier used for this HOS chart.
          example: 1990 Alameda Street, San Francisco, CA 94103
          type: string
        carrierName:
          description: The name of the carrier used for this HOS chart.
          example: Carrier Name
          type: string
        carrierUsDotNumber:
          description: The US DOT number of the carrier used for this HOS chart.
          example: 1234
          format: int64
          type: integer
        homeTerminalFormattedAddress:
          description: The address of the Home Terminal used for this HOS chart.
          example: 1990 Alameda Street, San Francisco, CA 94103
          type: string
        homeTerminalName:
          description: The name of the Home Terminal used for this HOS chart.
          example: Home Terminal Name
          type: string
        isCertified:
          description: Whether this HOS day chart was certified by the driver.
          example: true
          type: boolean
        isUsShortHaulActive:
          description: Whether the driver has the 150 air-mile Short Haul Exemption active for this HOS day chart.
          example: false
          type: boolean
        trailerNames:
          description: List of trailer names associated with the driver for the day. If a trailer was associated with a log through the driver app, the trailer name will be the trailer ID.
          example:
          - '10293'
          - Trailer ID 1
          items:
            example: Nemo qui nulla dolor consectetur.
            type: string
          type: array
      type: object
    HosDailyLogsGetHosDailyLogsBadGatewayErrorResponseBody:
      description: Bad Gateway
      properties:
        message:
          description: Message of error
          example: 'rpc error: code = Unknown desc = connection refused'
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    V1HosAuthenticationLogsResponse_authenticationLogs:
      properties:
        actionType:
          description: The log type - one of 'signin' or 'signout'
          example: signin
          type: string
        address:
          description: 'DEPRECATED: THIS FIELD MAY NOT BE POPULATED'
          example: THIS FIELD MAY NOT BE POPULATED
          type: string
        addressName:
          description: 'DEPRECATED: THIS FIELD MAY NOT BE POPULATED'
          example: THIS FIELD MAY NOT BE POPULATED
          type: string
        city:
          description: 'DEPRECATED: THIS FIELD MAY NOT BE POPULATED'
          example: THIS FIELD MAY NOT BE POPULATED
          type: string
        happenedAtMs:
          description: The time at which the event was recorded in UNIX milliseconds.
          example: 1462881998034
          format: int64
          type: integer
        state:
          description: 'DEPRECATED: THIS FIELD MAY NOT BE POPULATED'
          example: THIS FIELD MAY NOT BE POPULATED
          type: string
      type: object
    HosDailyLogsGetHosDailyLogsBadRequestErrorResponseBody:
      description: Bad Request parameters
      properties:
        message:
          description: Message of error
          example: Invalid value for parameter.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    HosDailyLogsUpdateShippingDocsMethodNotAllowedErrorResponseBody:
      description: Method not allowed
      properties:
        message:
          description: Message of error
          example: DELETE not allowed on /endpoint.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    RoutesGetRoutesFeedInternalServerErrorResponseBody:
      description: An internal server error occurred
      properties:
        message:
          description: Message of error
          example: Failed to execute GraphQL query.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    HosDailyLogsGetHosDailyLogsInternalServerErrorResponseBody:
      description: An internal server error occurred
      properties:
        message:
          description: Message of error
          example: Failed to execute GraphQL query.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    V1ErrorResponse:
      description: Error message describing why the request failed.
      type: string
    HosDailyLogsUpdateShippingDocsUnauthorizedErrorResponseBody:
      description: Unauthorized
      properties:
        message:
          description: Message of error
          example: Invalid token.
          type: string
        requestId:
          description: The request ID; used when reaching out to support for issues with requests.
          example: 8916e1c1
          type: string
      required:
      - message
      - requestId
      type: object
    RoutesStopResponseObjectResponseBody:
      properties:
        actualArrivalTime:
          description: Actual arrival time, if it exists, for the route stop in RFC 3339 format.
          example: '2006-01-02T15:04:05+07:00'
          format: date-time
          type: string
        actualDepartureTime:
          description: Actual departure time, if it exists, for the route stop in RFC 3339 format.
          example: '2006-01-02T15:04:05+07:00'
          format: date-time
          type: string
        address:
          $ref: '#/components/schemas/GoaAddressTinyResponseResponseBody'
        documents:
          description: List of documents associated with the stop.
          items:
            $ref: '#/components/schemas/GoaDocumentTinyResponseResponseBody'
          type: array
        enRouteTime:
          description: The time the stop became en-route, in RFC 3339 format.
          example: '2006-01-02T15:04:05+07:00'
          format: date-time
          type: string
        eta:
          description: Estimated time of arrival, if this stop is currently en-route, in RFC 3339 format.
          example: '2006-01-02T15:04:05+07:00'
          format: date-time
          type: string
        externalIds:
          additionalProperties:
            type: string
          description: A map of external ids
          type: object
        id:
          description: Id of the stop
          example: '324231'
          type: string
        liveSharingUrl:
          description: The shareable url of the stop's current status.
          example: https://cloud.samsara.com/fleet/viewer/job/fleet_viewer_token
          type: string
        locationLiveSharingLinks:
          description: List of shareable, non-expired 'By Location' Live Sharing Links.
          items:
            $ref: '#/components/schemas/LiveSharingLinkResponseObjectResponseBody'
          type: array
        name:
          description: Name of the stop
          example: 'Stop #1'
          type: string
        notes:
          description: Notes for the stop
          example: These are my notes
          maxLength: 2000
          type: string
        ontimeWindowAfterArrivalMs:
          description: Specifies the time window (in milliseconds) after a stop's scheduled arrival time during which the stop is considered 'on-time'.
          example: 300000
          format: int64
          type: integer
        ontimeWindowBeforeArrivalMs:
          description: Specifies the time window (in milliseconds) before a stop's scheduled arrival time during which the stop is considered 'on-time'.
          example: 300000
          format: int64
          type: integer
        scheduledArrivalTime:
          description: Scheduled arrival time, if it exists, for the stop in RFC 3339 format.
          example: '2019-06-13T19:08:25Z'
          format: date-time
          type: string
        scheduledDepartureTime:
          description: Scheduled departure time, if it exists, for the stop in RFC 3339 format.
          example: '2019-06-13T19:08:25Z'
          format: date-time
          type: string
        singleUseLocation:
          $ref: '#/components/schemas/RoutesSingleUseAddressObjectResponseBody'
        skippedTime:
          description: Skipped time, if it exists, for the route stop in RFC 3339 format.
          example: '2006-01-02T15:04:05+07:00'
          format: date-time
          type: string
        state:
          description: 'The current state of the route stop.  Valid values: `unassigned`, `scheduled`, `en route`, `skipped`, `arrived`, `departed`'
          enum:
          - unassigned
          - scheduled
          - en route
          - skipped
          - arrived
          - departed
          example: scheduled
          type: string
      required:
      - id
      - name
      - state
      type: object
    RouteSettingsResponseBody:
      description: An optional dictionary, only necessary to override the defaults for route start and end conditions.
      properties:
        routeCompletionCondition:
          default: arriveLastStop
          description: "Defaults to 'arriveLastStop' which ends the route upon arriving at the final stop. The condition 'departLastStop' \nends the route upon departing the last stop. If 'arriveLastStop' is set, then the departure time of the final stop should not be set.  Valid values: `arriveLastStop`, `departLastStop`"
          enum:
          - arriveLastStop
          - departLastStop
          example: arriveLastStop
          type: string
        routeStartingCondition:
          default: departFirstStop
          description: "Defaults to 'departFirstStop' which starts the route upon departing the first stop in the route.\n The condition 'arriveFirstStop' starts the route upon arriving at the first stop in the route. If 'departFirstStop' is set,\nthe arrival time of the first stop should not be set.  Valid values: `departFirstStop`, `arriveFirstStop`"
          enum:
          - departFirstStop
          - arriveFirstStop
          example: departFirstStop
          type: string
      type: object
    HosDailyLogsUpdateShippingDocsResponseBody:
      properties:
        data:
          $ref: '#/components/schemas/PatchShippingDocsResponseBodyResponseBody'
      required:
      - data
      type: object
    HosDailyLogsGetHosDailyLogsGatewayTimeoutErrorResponseBody:
      description: Gateway timeout
      properties:
        message:
          description: Message

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/samsara/refs/heads/main/openapi/samsara-logs-api-openapi.yml