openapi: 3.0.1 info: description: Gain greater visibility by connecting your fleets, equipment, sites, and people. title: Samsara Gateways API version: '2024-11-18' servers: - url: https://api.samsara.com/ - url: https://api.eu.samsara.com/ security: - AccessTokenHeader: [] tags: - name: Gateways paths: /gateways: get: description: "List all gateways\n\n Rate limit: 5 requests/sec (learn more about rate limits here).\n\nTo use this endpoint, select **Read Gateways** under the Setup & Administration category when creating or editing an API token. Learn More.\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team." operationId: getGateways parameters: - description: Filter by a comma separated list of gateway models. explode: false in: query name: models schema: items: type: string type: array style: form - 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 responses: '200': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysResponseBody' description: OK response. '401': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysUnauthorizedErrorResponseBody' description: Unauthorized response. '404': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysNotFoundErrorResponseBody' description: Not Found response. '405': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysMethodNotAllowedErrorResponseBody' description: Method Not Allowed response. '429': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysTooManyRequestsErrorResponseBody' description: Too Many Requests response. '500': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysInternalServerErrorResponseBody' description: Internal Server Error response. '501': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysNotImplementedErrorResponseBody' description: Not Implemented response. '502': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysBadGatewayErrorResponseBody' description: Bad Gateway response. '503': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysServiceUnavailableErrorResponseBody' description: Service Unavailable response. '504': content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysGatewayTimeoutErrorResponseBody' description: Gateway Timeout response. default: content: application/json: schema: $ref: '#/components/schemas/GatewaysGetGatewaysBadRequestErrorResponseBody' description: Bad Request response. summary: List All Gateways tags: - Gateways post: description: "Activate a new gateway. To activate a device and associate it with your organization, enter its serial number. Each device's serial number can also be found on its label or packaging, or from your order confirmation email. A Not Found error could mean that the serial was not found or it has already been activated\n\n Rate limit: 100 requests/min (learn more about rate limits here).\n\nTo use this endpoint, select **Write Gateways** under the Setup & Administration category when creating or editing an API token. Learn More.\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team." operationId: postGateway requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayRequestBody' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayResponseBody' description: OK response. '401': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayUnauthorizedErrorResponseBody' description: Unauthorized response. '404': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayNotFoundErrorResponseBody' description: Not Found response. '405': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayMethodNotAllowedErrorResponseBody' description: Method Not Allowed response. '429': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayTooManyRequestsErrorResponseBody' description: Too Many Requests response. '500': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayInternalServerErrorResponseBody' description: Internal Server Error response. '501': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayNotImplementedErrorResponseBody' description: Not Implemented response. '502': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayBadGatewayErrorResponseBody' description: Bad Gateway response. '503': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayServiceUnavailableErrorResponseBody' description: Service Unavailable response. '504': content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayGatewayTimeoutErrorResponseBody' description: Gateway Timeout response. default: content: application/json: schema: $ref: '#/components/schemas/GatewaysPostGatewayBadRequestErrorResponseBody' description: Bad Request response. summary: Activate a New Gateway tags: - Gateways x-codegen-request-body-name: PostGatewayRequestBody /gateways/{id}: delete: description: "Deactivate a gateway\n\n Rate limit: 100 requests/min (learn more about rate limits here).\n\nTo use this endpoint, select **Write Gateways** under the Setup & Administration category when creating or editing an API token. Learn More.\n \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team." operationId: deleteGateway parameters: - description: Gateway serial number in: path name: id required: true schema: pattern: ^[a-zA-Z0-9]{4}-[a-zA-Z0-9]{3}-[a-zA-Z0-9]{3}$ type: string responses: '204': content: {} description: No Content response. '401': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayUnauthorizedErrorResponseBody' description: Unauthorized response. '404': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayNotFoundErrorResponseBody' description: Not Found response. '405': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayMethodNotAllowedErrorResponseBody' description: Method Not Allowed response. '429': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayTooManyRequestsErrorResponseBody' description: Too Many Requests response. '500': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayInternalServerErrorResponseBody' description: Internal Server Error response. '501': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayNotImplementedErrorResponseBody' description: Not Implemented response. '502': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayBadGatewayErrorResponseBody' description: Bad Gateway response. '503': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayServiceUnavailableErrorResponseBody' description: Service Unavailable response. '504': content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayGatewayTimeoutErrorResponseBody' description: Gateway Timeout response. default: content: application/json: schema: $ref: '#/components/schemas/GatewaysDeleteGatewayBadRequestErrorResponseBody' description: Bad Request response. summary: Deactivate a Gateway tags: - Gateways components: schemas: GatewaysPostGatewayRequestBody: properties: serial: description: Gateway serial number example: GFRV-43N-VGX pattern: ^[a-zA-Z0-9]{4}-[a-zA-Z0-9]{3}-[a-zA-Z0-9]{3}|DC_([a-zA-Z0-9]){10}|SC_([a-zA-Z0-9]){10}$ type: string required: - serial type: object AccessoryResponseObjectResponseBody: description: An object containing information about an accessory connected to the VG. properties: model: description: Product model name of the device example: EM11 type: string serial: description: The serial number of the accessory device. example: ABCD-123-EFG type: string type: object GatewaysDeleteGatewayInternalServerErrorResponseBody: 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 GatewaysPostGatewayResponseBody: properties: data: $ref: '#/components/schemas/GatewayResponseObjectResponseBody' required: - data type: object GatewaysDeleteGatewayBadGatewayErrorResponseBody: 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 GatewaysDeleteGatewayNotImplementedErrorResponseBody: description: Requested endpoint is not yet implemented properties: message: description: Message of error example: Not implemented. 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 GatewaysDeleteGatewayBadRequestErrorResponseBody: 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 GoaPaginationResponseResponseBody: description: Pagination parameters. properties: endCursor: description: Cursor identifier representing the last element in the response. This value should be used in conjunction with a subsequent request's 'after' query parameter. This may be an empty string if there are no more pages left to view. example: MjkY type: string hasNextPage: description: True if there are more pages of results immediately available after this endCursor. example: true type: boolean required: - endCursor - hasNextPage type: object DataUsageResponseObjectResponseBody: description: An object containing information about the gateway data usage in mb for the last 30 days. properties: cellularDataUsageBytes: description: Celluar data usage in bytes. example: 6506614854048094000 format: int64 type: integer hotspotUsageBytes: description: Wifi hotspot data usage in bytes. example: 6601334700399258000 format: int64 type: integer type: object GatewaysDeleteGatewayUnauthorizedErrorResponseBody: 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 GatewaysDeleteGatewayNotFoundErrorResponseBody: 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 GatewaysPostGatewayServiceUnavailableErrorResponseBody: 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 GatewaysGetGatewaysServiceUnavailableErrorResponseBody: 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 ConnectionStatusResponseObjectResponseBody: description: An objecting containing information about the connectivity status of the gateway properties: healthStatus: description: 'The most recent health status of the gateway. Valid values: `Status Not Set`, `Connected`, `Not Installed`, `Power Source Off - Active Vehicle`, `Power Source Off - Inactive Vehicle`, `Weak Cellular Signal`, `Requires Investigation`, `Requires Charge`, `Unsupported Product`, `Low Battery. Replace Device.`, `Low Vehicle Battery`, `Unplugged`, `Low Charging State`, `Vehicle Off`, `Weak GPS Signal`, `Low Gateway Battery`, `Low Gateway Battery (AG24)`, `Low Gateway Battery (AG45)`, `Low Gateway Battery (AG26)`, `Low Gateway Battery (AG46)`, `Low Gateway Battery (AG46-P)`, `Temporarily Offline`, `Prolonged Offline`, `Recently Offline`, `Replacement Required`, `Status Unknown`' enum: - Status Not Set - Connected - Not Installed - Power Source Off - Active Vehicle - Power Source Off - Inactive Vehicle - Weak Cellular Signal - Requires Investigation - Requires Charge - Unsupported Product - Low Battery. Replace Device. - Low Vehicle Battery - Unplugged - Low Charging State - Vehicle Off - Weak GPS Signal - Low Gateway Battery - Low Gateway Battery (AG24) - Low Gateway Battery (AG45) - Low Gateway Battery (AG26) - Low Gateway Battery (AG46) - Low Gateway Battery (AG46-P) - Temporarily Offline - Prolonged Offline - Recently Offline - Replacement Required - Status Unknown example: Not Installed type: string lastConnected: description: 'The last time the gateway was connected in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).' example: '2019-06-13T19:08:25Z' type: string type: object GatewaysDeleteGatewayGatewayTimeoutErrorResponseBody: description: Gateway timeout 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 GatewaysPostGatewayBadGatewayErrorResponseBody: 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 GatewaysPostGatewayInternalServerErrorResponseBody: 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 GatewaysPostGatewayMethodNotAllowedErrorResponseBody: 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 GatewayAssetResponseObjectResponseBody: description: An object containing information about the asset the gateway is installed on properties: externalIds: additionalProperties: type: string description: A map of external ids type: object id: description: The unique Samsara ID of the asset where the gateway is installed. This is automatically generated when the asset is created and cannot be changed. Use this ID on PATCH vehicle, equipment, or trailer endpoints to update the asset example: '8393848111' type: string type: object GatewaysPostGatewayTooManyRequestsErrorResponseBody: 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 GatewaysGetGatewaysTooManyRequestsErrorResponseBody: 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 GatewaysDeleteGatewayServiceUnavailableErrorResponseBody: 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 GatewaysPostGatewayNotImplementedErrorResponseBody: description: Requested endpoint is not yet implemented properties: message: description: Message of error example: Not implemented. 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 GatewaysGetGatewaysBadRequestErrorResponseBody: 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 GatewaysGetGatewaysInternalServerErrorResponseBody: 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 GatewaysPostGatewayNotFoundErrorResponseBody: 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 GatewaysGetGatewaysUnauthorizedErrorResponseBody: 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 GatewaysGetGatewaysMethodNotAllowedErrorResponseBody: 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 GatewaysGetGatewaysGatewayTimeoutErrorResponseBody: description: Gateway timeout 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 GatewaysGetGatewaysResponseBody: properties: data: description: Activated gateways items: $ref: '#/components/schemas/GatewayResponseObjectResponseBody' type: array pagination: $ref: '#/components/schemas/GoaPaginationResponseResponseBody' required: - data - pagination type: object GatewaysDeleteGatewayTooManyRequestsErrorResponseBody: 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 GatewaysDeleteGatewayMethodNotAllowedErrorResponseBody: 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 GatewaysGetGatewaysNotImplementedErrorResponseBody: description: Requested endpoint is not yet implemented properties: message: description: Message of error example: Not implemented. 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 GatewaysGetGatewaysBadGatewayErrorResponseBody: 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 GatewaysPostGatewayGatewayTimeoutErrorResponseBody: description: Gateway timeout 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 GatewaysPostGatewayBadRequestErrorResponseBody: 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 GatewaysPostGatewayUnauthorizedErrorResponseBody: 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 GatewayResponseObjectResponseBody: properties: accessoryDevices: description: Accessory devices on gateway items: $ref: '#/components/schemas/AccessoryResponseObjectResponseBody' type: array asset: $ref: '#/components/schemas/GatewayAssetResponseObjectResponseBody' connectionStatus: $ref: '#/components/schemas/ConnectionStatusResponseObjectResponseBody' dataUsageLast30Days: $ref: '#/components/schemas/DataUsageResponseObjectResponseBody' model: description: 'The model of the gateway installed on the asset. Valid values: `AG15`, `AG24`, `AG24EU`, `AG26`, `AG26EU`, `AG41`, `AG41EU`, `AG45`, `AG45EU`, `AG46`, `AG46EU`, `AG46P`, `AG46PEU`, `AG51`, `AG51EU`, `AG52`, `AG52EU`, `AG53`, `AG53EU`, `IG15`, `IG21`, `IG41`, `IG61`, `SG1`, `SG1B`, `SG1G`, `SG1G32`, `SG1x`, `VG32`, `VG33`, `VG34`, `VG34EU`, `VG34FN`, `VG34M`, `VG54ATT`, `VG54EU`, `VG54FN`, `VG54NA`, `VG54NAE`, `VG54NAH`, `VG55EU`, `VG55FN`, `VG55NA`' enum: - AG15 - AG24 - AG24EU - AG26 - AG26EU - AG41 - AG41EU - AG45 - AG45EU - AG46 - AG46EU - AG46P - AG46PEU - AG51 - AG51EU - AG52 - AG52EU - AG53 - AG53EU - IG15 - IG21 - IG41 - IG61 - SG1 - SG1B - SG1G - SG1G32 - SG1x - VG32 - VG33 - VG34 - VG34EU - VG34FN - VG34M - VG54ATT - VG54EU - VG54FN - VG54NA - VG54NAE - VG54NAH - VG55EU - VG55FN - VG55NA example: VG34 type: string serial: description: The serial number of the gateway installed on the asset. example: GFRV-43N-VGX type: string required: - model - serial type: object GatewaysGetGatewaysNotFoundErrorResponseBody: 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 securitySchemes: AccessTokenHeader: type: http scheme: bearer x-original-swagger-version: '2.0' x-readme: explorer-enabled: true proxy-enabled: true