/**
* Samsara API
* # Overview Something new! Welcome Samsara\'s new and improved API. Check out our FAQ [here](https://developers.samsara.com/docs/introducing-our-next-generation-api) to see what\'s changed and learn how to get started.
Want to access the legacy API docs? You can find them [here](https://www.samsara.com/api-legacy).
*Note: Because this is a new set of APIs, we have not transitioned all endpoints over to this standard. Endpoints that still use the legacy standards are indicated in the reference documentation. If you can\'t find an API that you\'re looking for, we encourage you to look for it in our [legacy API docs](https://www.samsara.com/api-legacy) as we continue to transition all endpoints over. Check back here for updates!*
Submit your feedback [here](https://forms.gle/r4bs6HQshQAvBuwv6)! Samsara provides API endpoints so that you can build powerful applications and custom solutions with sensor data. Samsara has endpoints available to track and analyze sensors, vehicles, and entire fleets. The Samsara API is a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer). It uses standard [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) authentication, verbs, and response codes, and it returns [JSON](http://www.json.org/) response bodies. If you\'re familiar with what you can build with a REST API, then this will be your go-to API reference. Visit [developers.samsara.com](https://developers.samsara.com) to find getting started guides and an API overview. If you have any questions, please visit https://samsara.com/help. ## Endpoints All our APIs can be accessed through HTTP requests to URLs like: ``` https://api.samsara.com/ ``` For EU customers, this URL will be: ``` https://api.eu.samsara.com/ ``` Note Legacy endpoints will have the URL: `https://api.samsara.com/v1/` or `https://api.eu.samsara.com/v1/` ## Authentication To authenticate your API request you will need to include your secret token. You can manage your API tokens in the [Dashboard](https://cloud.samsara.com). They are visible under `Settings->Organization->API Tokens`. Your API tokens carry many privileges, so be sure to keep them secure. Do not share your secret API tokens in publicly accessible areas such as GitHub, client-side code, and so on. Authentication to the API is performed via Bearer Token in the HTTP Authorization header. Provide your API token as the `access_token` value in an `Authorization: Bearer` header. You do not need to provide a password: ```curl Authorization: Bearer {access_token} ``` All API requests must be made over [HTTPS](https://en.wikipedia.org/wiki/HTTPS). Calls made over plain HTTP or without authentication will fail. ### OAuth2 If building an application for our marketplace, our API is accessible via. OAuth2 as well. | Type | Value | | ------------- |:-------------:| | Security scheme | OAuth2 | | OAuth2 Flow | accessCode | | Authorization URL | https://api.samsara.com/oauth2/authorize | | Token URL | https://api.samsara.com/oauth2/token | ## Common Patterns You can find more info about request methods, response codes, error codes, versioning, pagination, timestamps, and mini-objects [here](https://developers.samsara.com/docs/common-structures).
*
* The version of the OpenAPI document: 2024-11-18
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { BaseRouteResponseObjectResponseBody } from './base-route-response-object-response-body';
import { RouteChangesResponseBody } from './route-changes-response-body';
/**
* Route feed object.
* @export
* @interface RouteFeedObjectResponseBody
*/
export interface RouteFeedObjectResponseBody {
/**
*
* @type {RouteChangesResponseBody}
* @memberof RouteFeedObjectResponseBody
*/
'changes': RouteChangesResponseBody;
/**
* The operation that was performed as part of this route update. Valid values: `stop scheduled`, `stop en route`, `stop skipped`, `stop arrived`, `stop departed`, `stop ETA updated`, `stop arrival time updated`, `stop completion time updated`, `stop order changed`, `stop arrival prevented`
* @type {string}
* @memberof RouteFeedObjectResponseBody
*/
'operation'?: RouteFeedObjectResponseBodyOperationEnum;
/**
*
* @type {BaseRouteResponseObjectResponseBody}
* @memberof RouteFeedObjectResponseBody
*/
'route': BaseRouteResponseObjectResponseBody;
/**
* The source of this route update. Updates that are triggered by time or by the route being completed are \'automatic\'. Valid values: `automatic`, `driver`, `admin`
* @type {string}
* @memberof RouteFeedObjectResponseBody
*/
'source': RouteFeedObjectResponseBodySourceEnum;
/**
* The timestamp of the route in RFC 3339 format.
* @type {string}
* @memberof RouteFeedObjectResponseBody
*/
'time': string;
/**
* The type of route update. The route tracking updates occur as a route is completed and stops transition from one state to another. Currently only Route Tracking updates are supported, but this will change in the future when additional types are added. Valid values: `route tracking`
* @type {string}
* @memberof RouteFeedObjectResponseBody
*/
'type': RouteFeedObjectResponseBodyTypeEnum;
}
export declare const RouteFeedObjectResponseBodyOperationEnum: {
readonly Scheduled: "stop scheduled";
readonly EnRoute: "stop en route";
readonly Skipped: "stop skipped";
readonly Arrived: "stop arrived";
readonly Departed: "stop departed";
readonly EtaUpdated: "stop ETA updated";
readonly ArrivalTimeUpdated: "stop arrival time updated";
readonly CompletionTimeUpdated: "stop completion time updated";
readonly OrderChanged: "stop order changed";
readonly ArrivalPrevented: "stop arrival prevented";
};
export type RouteFeedObjectResponseBodyOperationEnum = typeof RouteFeedObjectResponseBodyOperationEnum[keyof typeof RouteFeedObjectResponseBodyOperationEnum];
export declare const RouteFeedObjectResponseBodySourceEnum: {
readonly Automatic: "automatic";
readonly Driver: "driver";
readonly Admin: "admin";
};
export type RouteFeedObjectResponseBodySourceEnum = typeof RouteFeedObjectResponseBodySourceEnum[keyof typeof RouteFeedObjectResponseBodySourceEnum];
export declare const RouteFeedObjectResponseBodyTypeEnum: {
readonly RouteTracking: "route tracking";
};
export type RouteFeedObjectResponseBodyTypeEnum = typeof RouteFeedObjectResponseBodyTypeEnum[keyof typeof RouteFeedObjectResponseBodyTypeEnum];