Samsara Assets API

The Assets API from Samsara — 8 operation(s) for assets.

OpenAPI Specification

samsara-assets-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: Gain greater visibility by connecting your fleets, equipment, sites, and people.
  title: Samsara Assets API
  version: '2024-11-18'
servers:
- url: https://api.samsara.com/
- url: https://api.eu.samsara.com/
security:
- AccessTokenHeader: []
tags:
- name: Assets
paths:
  /industrial/assets:
    get:
      description: "List all assets in the organization. \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 Equipment** under the Equipment 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: getIndustrialAssets
      parameters:
      - description: The limit for how many objects will be in the response. Default and max for this value is 512 objects.
        in: query
        name: limit
        schema:
          format: int64
          maximum: 512
          minimum: 1
          type: integer
      - 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: '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`'
        explode: false
        in: query
        name: parentTagIds
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`'
        explode: false
        in: query
        name: tagIds
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'A comma-separated list of industrial asset UUIDs. Example: `assetIds=076efac2-83b5-47aa-ba36-18428436dcac,6707b3f0-23b9-4fe3-b7be-11be34aea544`'
        explode: false
        in: query
        name: assetIds
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIndustrialAssetsResponse'
          description: Assets in the organization.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardErrorResponse'
          description: Error response
      summary: List All Assets
      tags:
      - Assets
    post:
      description: "Create an asset with optional configuration parameters. \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 **Write Equipment** under the Equipment 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: createIndustrialAsset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetCreate'
        description: The asset to create
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
          description: Newly created asset object
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardErrorResponse'
          description: Error response
      summary: Create an Asset
      tags:
      - Assets
      x-codegen-request-body-name: asset
  /industrial/assets/{id}:
    delete:
      description: "Delete asset. \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 **Write Equipment** under the Equipment 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: deleteIndustrialAsset
      parameters:
      - description: Id of the asset to be deleted.
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardDeleteResponse'
          description: A successful DELETE response is a 204 with no content.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardErrorResponse'
          description: Error response
      summary: Delete an Existing Asset
      tags:
      - Assets
    patch:
      description: "Update an existing asset. Only the provided fields will be updated. \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 **Write Equipment** under the Equipment 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: patchIndustrialAsset
      parameters:
      - description: Id of the asset to be updated
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetPatch'
        description: The updated asset fields
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
          description: The updated asset
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardErrorResponse'
          description: Error response
      summary: Update an Asset
      tags:
      - Assets
      x-codegen-request-body-name: asset
  /industrial/assets/{id}/data-outputs:
    patch:
      description: "Writes values to multiple data outputs on an asset simultaneously. Only the provided data outputs will be updated.\n\n <b>Rate limit:</b> 100 requests/min (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 Equipment Statistics** under the Equipment 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: patchAssetDataOutputs
      parameters:
      - description: Asset ID
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsResponseBody'
          description: OK response.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsUnauthorizedErrorResponseBody'
          description: Unauthorized response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsNotFoundErrorResponseBody'
          description: Not Found response.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsMethodNotAllowedErrorResponseBody'
          description: Method Not Allowed response.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsTooManyRequestsErrorResponseBody'
          description: Too Many Requests response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsInternalServerErrorResponseBody'
          description: Internal Server Error response.
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsNotImplementedErrorResponseBody'
          description: Not Implemented response.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsBadGatewayErrorResponseBody'
          description: Bad Gateway response.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsServiceUnavailableErrorResponseBody'
          description: Service Unavailable response.
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsGatewayTimeoutErrorResponseBody'
          description: Gateway Timeout response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetDataOutputsPatchAssetDataOutputsBadRequestErrorResponseBody'
          description: Bad Request response.
      summary: Writes to Data Outputs on an Asset
      tags:
      - Assets
      x-codegen-request-body-name: PatchAssetDataOutputsRequestBody
  /v1/fleet/assets:
    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\nFetch all of the assets. \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 Equipment** under the Equipment 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: V1getAllAssets
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_1'
          description: List of assets.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: List All Assets
      tags:
      - Assets
  /v1/fleet/assets/locations:
    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\nFetch current locations of all assets. \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 Equipment Statistics** under the Equipment 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: V1getAllAssetCurrentLocations
      parameters:
      - description: Pagination parameter indicating the cursor position to continue returning results after. Used in conjunction with the 'limit' parameter. Mutually exclusive with 'endingBefore' parameter.
        in: query
        name: startingAfter
        schema:
          type: string
      - description: Pagination parameter indicating the cursor position to return results before. Used in conjunction with the 'limit' parameter. Mutually exclusive with 'startingAfter' parameter.
        in: query
        name: endingBefore
        schema:
          type: string
      - description: Pagination parameter indicating the number of results to return in this request. Used in conjunction with either 'startingAfter' or 'endingBefore'.
        in: query
        name: limit
        schema:
          format: int64
          type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_2'
          description: List of assets and their current locations.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: List Current Location for All Assets
      tags:
      - Assets
  /v1/fleet/assets/reefers:
    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\nFetches all reefers and reefer-specific stats. \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 Trailers** under the Trailers 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: V1getAssetsReefers
      parameters:
      - description: Timestamp in milliseconds representing the start of the period to fetch, inclusive. Used in combination with endMs.
        in: query
        name: startMs
        required: true
        schema:
          format: int64
          type: integer
      - description: Timestamp in milliseconds representing the end of the period to fetch, inclusive. Used in combination with startMs.
        in: query
        name: endMs
        required: true
        schema:
          format: int64
          type: integer
      - description: Pagination parameter indicating the cursor position to continue returning results after. Used in conjunction with the 'limit' parameter. Mutually exclusive with 'endingBefore' parameter.
        in: query
        name: startingAfter
        schema:
          type: string
      - description: Pagination parameter indicating the cursor position to return results before. Used in conjunction with the 'limit' parameter. Mutually exclusive with 'startingAfter' parameter.
        in: query
        name: endingBefore
        schema:
          type: string
      - description: Pagination parameter indicating the number of results to return in this request. Used in conjunction with either 'startingAfter' or 'endingBefore'.
        in: query
        name: limit
        schema:
          format: int64
          type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_3'
          description: All org reefers and reefer-specific details.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: List Stats for All Reefers
      tags:
      - Assets
  /v1/fleet/assets/{asset_id}/locations:
    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\nList historical locations for a given asset. \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 Equipment Statistics** under the Equipment 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: V1getAssetLocation
      parameters:
      - description: ID of the asset. Must contain only digits 0-9.
        in: path
        name: asset_id
        required: true
        schema:
          format: int64
          type: integer
      - description: Timestamp in milliseconds representing the start of the period to fetch, inclusive. Used in combination with endMs.
        in: query
        name: startMs
        required: true
        schema:
          format: int64
          type: integer
      - description: Timestamp in milliseconds representing the end of the period to fetch, inclusive. Used in combination with startMs.
        in: query
        name: endMs
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1AssetLocationResponse'
          description: Asset location details.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: List Historical Locations for a Given Asset
      tags:
      - Assets
  /v1/fleet/assets/{asset_id}/reefer:
    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\nFetch the reefer-specific stats of an asset. \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 Trailers** under the Trailers 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: V1getAssetReefer
      parameters:
      - description: ID of the asset. Must contain only digits 0-9.
        in: path
        name: asset_id
        required: true
        schema:
          format: int64
          type: integer
      - description: Timestamp in milliseconds representing the start of the period to fetch, inclusive. Used in combination with endMs.
        in: query
        name: startMs
        required: true
        schema:
          format: int64
          type: integer
      - description: Timestamp in milliseconds representing the end of the period to fetch, inclusive. Used in combination with startMs.
        in: query
        name: endMs
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1AssetReeferResponse'
          description: Reefer-specific asset details.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: List Stats for a Given Reefer
      tags:
      - Assets
components:
  schemas:
    PatchAssetDataOutputsSingleResponseResponseBody:
      description: A response that corresponds to an element in the original request body.
      properties:
        errorMessage:
          description: If the request failed, this displays the error message.
          example: 'Failed to write to Device: GFRV-43N-VGX'
          type: string
        id:
          description: The data output ID.
          example: 8a9371af-82d1-4158-bf91-4ecc8d3a114c
          type: string
        statusCode:
          description: The status code of the request. 200 indicates the request succeeded for this data output. 500 indicates an internal server error.
          example: 200
          format: int64
          type: integer
      required:
      - id
      - statusCode
      type: object
    AssetDataInput_lastPoint:
      description: The last reported point of a data input.
      properties:
        time:
          $ref: '#/components/schemas/time'
        value:
          description: Numeric value of the data point.
          example: 1992.0506
          format: double
          type: number
      type: object
    V1AssetReeferResponse_reeferStats_alarms:
      properties:
        alarmCode:
          description: ID of the alarm
          example: 102
          format: int64
          type: integer
        description:
          description: Description of the alarm
          example: Check Return Air Sensor
          type: string
        operatorAction:
          description: Recommended operator action
          example: Check and repair at end of trip
          type: string
        severity:
          description: 'Severity of the alarm: 1: OK to run, 2: Check as specified, 3: Take immediate action'
          example: 1
          format: int64
          type: integer
      type: object
    V1ErrorResponse:
      description: Error message describing why the request failed.
      type: string
    inline_response_200_1:
      properties:
        assets:
          items:
            $ref: '#/components/schemas/V1Asset'
          type: array
      type: object
    inline_response_200_3:
      properties:
        data:
          items:
            $ref: '#/components/schemas/V1AssetsReefer'
          type: array
        pagination:
          $ref: '#/components/schemas/V1Pagination'
      type: object
    time:
      description: 'UTC timestamp in RFC 3339 format. Example: `2020-01-27T07:06:25Z`.'
      example: '2020-01-27T07:06:25Z'
      type: string
    AssetResponse_runningStatusDataInput:
      description: The associated running status data input. isRunning will be true when the data input's value is 1.
      properties:
        id:
          description: Id of the data input
          example: '12345'
          type: string
      required:
      - id
      type: object
    AssetResponse_parentAsset:
      description: The asset's parent
      properties:
        id:
          $ref: '#/components/schemas/ParentId'
        name:
          $ref: '#/components/schemas/AssetName'
      required:
      - id
      - name
      type: object
    AssetDataOutputsPatchAssetDataOutputsInternalServerErrorResponseBody:
      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
    V1AssetReeferResponse_reeferStats:
      properties:
        alarms:
          description: Reefer alarms
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_alarms_1'
          type: array
        engineHours:
          description: Engine hours of the reefer
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_engineHours'
          type: array
        fuelPercentage:
          description: Fuel percentage of the reefer
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_fuelPercentage'
          type: array
        powerStatus:
          description: Power status of the reefer
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_powerStatus'
          type: array
        returnAirTemp:
          description: Return air temperature of the reefer
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_returnAirTemp'
          type: array
        setPoint:
          description: Set point temperature of the reefer
          items:
            $ref: '#/components/schemas/V1AssetReeferResponse_reeferStats_setPoint'
          type: array
      type: object
    V1Asset_cable:
      description: The cable connected to the asset
      properties:
        assetType:
          description: Asset type
          example: Thermo King
          type: string
      type: object
    AssetDataOutputsPatchAssetDataOutputsNotFoundErrorResponseBody:
      description: Resource not found
      properties:
        message:
          description: Message of error
          example: Object not found.
          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
    AssetDataOutputsPatchAssetDataOutputsTooManyRequestsErrorResponseBody:
      description: Too many requests
      properties:
        message:
          description: Message of error
          example: Exceeded rate limit.
          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
    tagTinyResponse:
      description: A minified tag object
      properties:
        id:
          description: ID of the tag.
          example: '3914'
          type: string
        name:
          description: Name of the tag.
          example: East Coast
          type: string
        parentTagId:
          description: If this tag is part a hierarchical tag tree, this is the ID of the parent tag, otherwise this will be omitted.
          example: '4815'
          type: string
      type: object
    AssetDataOutput:
      properties:
        dataGroup:
          description: Name of the data group that the data output is associated with
          example: Control Pressure
          type: string
        dataInput:
          $ref: '#/components/schemas/AssetDataInput'
        deviceId:
          description: ID of the device that the data output is configured on
          example: '123'
          type: string
        id:
          description: ID of the data output
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          type: string
        name:
          description: Name of the data output
          example: Digital Output 1
          type: string
      type: object
    standardErrorResponse:
      description: Error response
      properties:
        message:
          description: The message of the error.
          example: An error has occurred.
          type: string
        requestId:
          description: The ID of the request.
          example: 8916e1c1
          type: string
      type: object
    CustomMetadata:
      additionalProperties:
        type: string
      description: The custom fields of an asset.
      example:
        manufacturer: Samsara
        serialNumber: 123ABC
      type: object
    V1Asset:
      description: Basic information of an asset
      properties:
        assetSerialNumber:
          description: Serial number of the host asset
          example: SNTEST123
          type: string
        cable:
          $ref: '#/components/schemas/V1Asset_cable'
        engineHours:
          description: Engine hours
          example: 104
          type: integer
        id:
          description: Asset ID
          example: 1
          format: int64
          type: integer
        name:
          description: Asset name
          example: Trailer 123
          type: string
        vehicleId:
          description: The ID of the Vehicle associated to the Asset (if present)
          example: 2
          format: int64
          type: integer
      required:
      - id
      type: object
    V1Pagination:
      properties:
        endCursor:
          description: Cursor identifier representing the last element in the response. This value should be used in conjunction with a subsequent request's 'startingAfter' query parameter.
          example: MTU5MTEzNjA2OTU0MzQ3
          type: string
        hasNextPage:
          description: True if there are more pages of results after this response.
          type: boolean
        hasPrevPage:
          description: True if there are more pages of results before this response.
          type: boolean
        startCursor:
          description: Cursor identifier representing the first element in the response. This value should be used in conjunction with a subsequent request's 'ending_before' query parameter.
          example: MTU5MTEzNjA2OTU0MzQ3
          type: string
      required:
      - endCursor
      - hasNextPage
      - hasPrevPage
      - startCursor
      type: object
    AssetDataOutputsPatchAssetDataOutputsMethodNotAllowedErrorResponseBody:
      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
    AssetDataOutputsPatchAssetDataOutputsResponseBody:
      properties:
        data:
          description: List of responses for each data output from the original request.
          i

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