@samsarahq/samsara 13.7.0 → 13.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/betaApIs/client/Client.d.ts +28 -2
  3. package/dist/cjs/api/resources/betaApIs/client/Client.js +28 -2
  4. package/dist/cjs/api/resources/betaApIs/client/requests/PlacesPatchPlaceRequestBody.d.ts +2 -0
  5. package/dist/cjs/api/resources/betaApIs/client/requests/PlacesPostPlaceRequestBody.d.ts +2 -0
  6. package/dist/cjs/api/resources/betaApIs/client/requests/SafetyEventsV2PatchSafetyEventsV2BatchRequestBody.d.ts +1 -1
  7. package/dist/cjs/api/resources/drivers/client/requests/CreateDriverRequest.d.ts +1 -0
  8. package/dist/cjs/api/resources/drivers/client/requests/UpdateDriverRequest.d.ts +1 -0
  9. package/dist/cjs/api/resources/workOrders/client/Client.js +4 -2
  10. package/dist/cjs/api/resources/workOrders/client/requests/GetWorkOrdersRequest.d.ts +2 -0
  11. package/dist/cjs/api/resources/workOrders/client/requests/StreamWorkOrdersRequest.d.ts +2 -0
  12. package/dist/cjs/api/resources/workOrders/client/requests/WorkOrdersPatchWorkOrdersRequestBody.d.ts +4 -0
  13. package/dist/cjs/api/resources/workOrders/client/requests/WorkOrdersPostWorkOrdersRequestBody.d.ts +4 -0
  14. package/dist/cjs/api/types/Driver.d.ts +1 -0
  15. package/dist/cjs/api/types/DriverDateOfBirth.d.ts +4 -0
  16. package/dist/cjs/api/types/DriverDateOfBirth.js +3 -0
  17. package/dist/cjs/api/types/PatchPlaceHubLocationUpsertBodyRequestBody.d.ts +4 -0
  18. package/dist/cjs/api/types/PlaceHubLocationCapacityServiceTimeInputRequestBody.d.ts +11 -0
  19. package/dist/cjs/api/types/PlaceHubLocationCapacityServiceTimeInputRequestBody.js +3 -0
  20. package/dist/cjs/api/types/PlaceHubLocationOrderServiceTimeInputRequestBody.d.ts +22 -0
  21. package/dist/cjs/api/types/PlaceHubLocationOrderServiceTimeInputRequestBody.js +14 -0
  22. package/dist/cjs/api/types/PlaceHubLocationServiceTimeInputRequestBody.d.ts +9 -0
  23. package/dist/cjs/api/types/PlaceHubLocationServiceTimeInputRequestBody.js +3 -0
  24. package/dist/cjs/api/types/WorkOrderMaintenanceSiteObjectResponseBody.d.ts +11 -0
  25. package/dist/cjs/api/types/WorkOrderMaintenanceSiteObjectResponseBody.js +3 -0
  26. package/dist/cjs/api/types/WorkOrderObjectResponseBody.d.ts +1 -0
  27. package/dist/cjs/api/types/WorkOrderWithTimeEntriesObjectResponseBody.d.ts +1 -0
  28. package/dist/cjs/api/types/index.d.ts +5 -0
  29. package/dist/cjs/api/types/index.js +5 -0
  30. package/dist/cjs/version.d.ts +1 -1
  31. package/dist/cjs/version.js +1 -1
  32. package/dist/esm/BaseClient.mjs +2 -2
  33. package/dist/esm/api/resources/betaApIs/client/Client.d.mts +28 -2
  34. package/dist/esm/api/resources/betaApIs/client/Client.mjs +28 -2
  35. package/dist/esm/api/resources/betaApIs/client/requests/PlacesPatchPlaceRequestBody.d.mts +2 -0
  36. package/dist/esm/api/resources/betaApIs/client/requests/PlacesPostPlaceRequestBody.d.mts +2 -0
  37. package/dist/esm/api/resources/betaApIs/client/requests/SafetyEventsV2PatchSafetyEventsV2BatchRequestBody.d.mts +1 -1
  38. package/dist/esm/api/resources/drivers/client/requests/CreateDriverRequest.d.mts +1 -0
  39. package/dist/esm/api/resources/drivers/client/requests/UpdateDriverRequest.d.mts +1 -0
  40. package/dist/esm/api/resources/workOrders/client/Client.mjs +4 -2
  41. package/dist/esm/api/resources/workOrders/client/requests/GetWorkOrdersRequest.d.mts +2 -0
  42. package/dist/esm/api/resources/workOrders/client/requests/StreamWorkOrdersRequest.d.mts +2 -0
  43. package/dist/esm/api/resources/workOrders/client/requests/WorkOrdersPatchWorkOrdersRequestBody.d.mts +4 -0
  44. package/dist/esm/api/resources/workOrders/client/requests/WorkOrdersPostWorkOrdersRequestBody.d.mts +4 -0
  45. package/dist/esm/api/types/Driver.d.mts +1 -0
  46. package/dist/esm/api/types/DriverDateOfBirth.d.mts +4 -0
  47. package/dist/esm/api/types/DriverDateOfBirth.mjs +2 -0
  48. package/dist/esm/api/types/PatchPlaceHubLocationUpsertBodyRequestBody.d.mts +4 -0
  49. package/dist/esm/api/types/PlaceHubLocationCapacityServiceTimeInputRequestBody.d.mts +11 -0
  50. package/dist/esm/api/types/PlaceHubLocationCapacityServiceTimeInputRequestBody.mjs +2 -0
  51. package/dist/esm/api/types/PlaceHubLocationOrderServiceTimeInputRequestBody.d.mts +22 -0
  52. package/dist/esm/api/types/PlaceHubLocationOrderServiceTimeInputRequestBody.mjs +11 -0
  53. package/dist/esm/api/types/PlaceHubLocationServiceTimeInputRequestBody.d.mts +9 -0
  54. package/dist/esm/api/types/PlaceHubLocationServiceTimeInputRequestBody.mjs +2 -0
  55. package/dist/esm/api/types/WorkOrderMaintenanceSiteObjectResponseBody.d.mts +11 -0
  56. package/dist/esm/api/types/WorkOrderMaintenanceSiteObjectResponseBody.mjs +2 -0
  57. package/dist/esm/api/types/WorkOrderObjectResponseBody.d.mts +1 -0
  58. package/dist/esm/api/types/WorkOrderWithTimeEntriesObjectResponseBody.d.mts +1 -0
  59. package/dist/esm/api/types/index.d.mts +5 -0
  60. package/dist/esm/api/types/index.mjs +5 -0
  61. package/dist/esm/version.d.mts +1 -1
  62. package/dist/esm/version.mjs +1 -1
  63. package/package.json +1 -1
  64. package/reference.md +28 -2
@@ -44,8 +44,8 @@ function normalizeClientOptions(options) {
44
44
  const headers = (0, headers_js_1.mergeHeaders)({
45
45
  "X-Fern-Language": "JavaScript",
46
46
  "X-Fern-SDK-Name": "@samsarahq/samsara",
47
- "X-Fern-SDK-Version": "13.7.0",
48
- "User-Agent": "@samsarahq/samsara/13.7.0",
47
+ "X-Fern-SDK-Version": "13.9.0",
48
+ "User-Agent": "@samsarahq/samsara/13.9.0",
49
49
  "X-Fern-Runtime": core.RUNTIME.type,
50
50
  "X-Fern-Runtime-Version": core.RUNTIME.version,
51
51
  "X-Samsara-Version": (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : "2025-06-11",
@@ -1772,7 +1772,33 @@ export declare class BetaApIsClient {
1772
1772
  /**
1773
1773
  * Ingest new readings. This endpoint allows the ingestion of batches of readings.
1774
1774
  *
1775
- * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API. When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
1775
+ * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API.
1776
+ *
1777
+ *
1778
+ * Readings that currently support ingestion (by category):
1779
+ *
1780
+ *
1781
+ * <details>
1782
+ * <summary><strong>ingestible</strong></summary>
1783
+ *
1784
+ * * `batteryVoltage`
1785
+ * * `coolantTemp`
1786
+ * * `ecuFuelLevelMillipercent`
1787
+ * * `engineHours`
1788
+ * * `engineRpm`
1789
+ * * `engineState` (values: off | running | idling)
1790
+ * * `faultCodesJ1939`
1791
+ * * `faultCodesOBDII`
1792
+ * * `fuelLevelPerc`
1793
+ * * `location`
1794
+ * * `odometerEcu`
1795
+ * * `oilPressure`
1796
+ *
1797
+ * </details>
1798
+ *
1799
+ * **Note:** Use the `GET /readings/definitions` endpoint and check the `ingestionEnabled` field for the authoritative, up-to-date set of ingestible readings for your organization.
1800
+ *
1801
+ * When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
1776
1802
  *
1777
1803
  * Related guide: [Readings](https://developers.samsara.com/docs/readings).
1778
1804
  *
@@ -2288,7 +2314,7 @@ export declare class BetaApIsClient {
2288
2314
  *
2289
2315
  * @example
2290
2316
  * await client.betaApIs.patchSafetyEventsV2Batch({
2291
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
2317
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
2292
2318
  * })
2293
2319
  */
2294
2320
  patchSafetyEventsV2Batch(request: Samsara.SafetyEventsV2PatchSafetyEventsV2BatchRequestBody, requestOptions?: BetaApIsClient.RequestOptions): core.HttpResponsePromise<Samsara.SafetyEventsV2PatchSafetyEventsV2BatchResponseBody>;
@@ -5200,7 +5200,33 @@ class BetaApIsClient {
5200
5200
  /**
5201
5201
  * Ingest new readings. This endpoint allows the ingestion of batches of readings.
5202
5202
  *
5203
- * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API. When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5203
+ * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API.
5204
+ *
5205
+ *
5206
+ * Readings that currently support ingestion (by category):
5207
+ *
5208
+ *
5209
+ * <details>
5210
+ * <summary><strong>ingestible</strong></summary>
5211
+ *
5212
+ * * `batteryVoltage`
5213
+ * * `coolantTemp`
5214
+ * * `ecuFuelLevelMillipercent`
5215
+ * * `engineHours`
5216
+ * * `engineRpm`
5217
+ * * `engineState` (values: off | running | idling)
5218
+ * * `faultCodesJ1939`
5219
+ * * `faultCodesOBDII`
5220
+ * * `fuelLevelPerc`
5221
+ * * `location`
5222
+ * * `odometerEcu`
5223
+ * * `oilPressure`
5224
+ *
5225
+ * </details>
5226
+ *
5227
+ * **Note:** Use the `GET /readings/definitions` endpoint and check the `ingestionEnabled` field for the authoritative, up-to-date set of ingestible readings for your organization.
5228
+ *
5229
+ * When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5204
5230
  *
5205
5231
  * Related guide: [Readings](https://developers.samsara.com/docs/readings).
5206
5232
  *
@@ -6648,7 +6674,7 @@ class BetaApIsClient {
6648
6674
  *
6649
6675
  * @example
6650
6676
  * await client.betaApIs.patchSafetyEventsV2Batch({
6651
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6677
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6652
6678
  * })
6653
6679
  */
6654
6680
  patchSafetyEventsV2Batch(request, requestOptions) {
@@ -19,6 +19,8 @@ export interface PlacesPatchPlaceRequestBody {
19
19
  hubLocations?: Samsara.PatchPlaceHubLocationsBodyRequestBody;
20
20
  /** When present, replaces IFTA exemption types for the place. */
21
21
  iftaExemptionTypes?: string[];
22
+ /** When true, show addresses inside the geofence on the map. */
23
+ isShowAddressesEnabled?: boolean;
22
24
  /** Center latitude when switching to or editing a circle geofence. */
23
25
  latitude?: number;
24
26
  /** Center longitude when switching to or editing a circle geofence. */
@@ -19,6 +19,8 @@ export interface PlacesPostPlaceRequestBody {
19
19
  hubLocations?: Samsara.PatchPlaceHubLocationUpsertBodyRequestBody[];
20
20
  /** IFTA exemption types for this place. */
21
21
  iftaExemptionTypes?: string[];
22
+ /** When true, show addresses inside the geofence on the map. */
23
+ isShowAddressesEnabled?: boolean;
22
24
  /** Center latitude when using a circle geofence with radiusMeters. */
23
25
  latitude?: number;
24
26
  /** Center longitude when using a circle geofence with radiusMeters. */
@@ -2,7 +2,7 @@ import type * as Samsara from "../../../../index.js";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
5
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6
6
  * }
7
7
  */
8
8
  export interface SafetyEventsV2PatchSafetyEventsV2BatchRequestBody {
@@ -12,6 +12,7 @@ export interface CreateDriverRequest {
12
12
  carrierSettings?: Samsara.DriverCarrierSettings;
13
13
  /** The ID Card Code on the back of the physical card assigned to the driver. Contact Samsara if you would like to enable this feature. */
14
14
  currentIdCardCode?: string;
15
+ dateOfBirth?: Samsara.DriverDateOfBirth;
15
16
  /** Flag indicating this driver may use Adverse Weather exemptions in ELD logs. */
16
17
  eldAdverseWeatherExemptionEnabled?: boolean;
17
18
  /** Flag indicating this driver may use Big Day exemption in ELD logs. */
@@ -12,6 +12,7 @@ export interface UpdateDriverRequest {
12
12
  carrierSettings?: Samsara.DriverCarrierSettings;
13
13
  /** The ID Card Code on the back of the physical card assigned to the driver. Contact Samsara if you would like to enable this feature. */
14
14
  currentIdCardCode?: string;
15
+ dateOfBirth?: Samsara.DriverDateOfBirth;
15
16
  /** The date and time this driver is considered to be deactivated in RFC 3339 format. */
16
17
  deactivatedAtTime?: string;
17
18
  /** A value indicating whether the driver is active or deactivated. Valid values: `active`, `deactivated`. */
@@ -265,10 +265,11 @@ class WorkOrdersClient {
265
265
  __getWorkOrders() {
266
266
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
267
267
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
268
- const { ids, after } = request;
268
+ const { ids, after, includeExternalIds } = request;
269
269
  const _queryParams = {
270
270
  ids,
271
271
  after,
272
+ includeExternalIds,
272
273
  };
273
274
  const _authRequest = yield this._options.authProvider.getAuthRequest();
274
275
  const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ "X-Samsara-Version": requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.version }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -613,7 +614,7 @@ class WorkOrdersClient {
613
614
  __streamWorkOrders(request, requestOptions) {
614
615
  return __awaiter(this, void 0, void 0, function* () {
615
616
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
616
- const { after, startTime, endTime, workOrderStatuses, assetIds, assignedUserIds } = request;
617
+ const { after, startTime, endTime, workOrderStatuses, assetIds, assignedUserIds, includeExternalIds } = request;
617
618
  const _queryParams = {
618
619
  after,
619
620
  startTime,
@@ -625,6 +626,7 @@ class WorkOrdersClient {
625
626
  : undefined,
626
627
  assetIds,
627
628
  assignedUserIds,
629
+ includeExternalIds,
628
630
  };
629
631
  const _authRequest = yield this._options.authProvider.getAuthRequest();
630
632
  const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ "X-Samsara-Version": requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.version }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -7,4 +7,6 @@ export interface GetWorkOrdersRequest {
7
7
  ids?: string | string[];
8
8
  /** 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. */
9
9
  after?: string;
10
+ /** When true, populates `maintenanceSite.placeExternalIds` on each work order by resolving the linked Place's external ids. Defaults to false. Adds one batch lookup per response page. */
11
+ includeExternalIds?: boolean;
10
12
  }
@@ -18,4 +18,6 @@ export interface StreamWorkOrdersRequest {
18
18
  assetIds?: string | string[];
19
19
  /** Work Order assigned user id filter. Up to 50 ids. */
20
20
  assignedUserIds?: string | string[];
21
+ /** When true, populates `maintenanceSite.placeExternalIds` on each work order by resolving the linked Place's external ids. Defaults to false. Adds one batch lookup per response page. */
22
+ includeExternalIds?: boolean;
21
23
  }
@@ -29,6 +29,10 @@ export interface WorkOrdersPatchWorkOrdersRequestBody {
29
29
  items?: Samsara.WorkOrderItemObjectRequestBody[];
30
30
  /** The odometer reading at the time of the work order. Will default to current asset reading if unset. */
31
31
  odometerMeters?: number;
32
+ /** External ID (`key:value`) of the Place where the work is performed. Resolved against the organization's external IDs for places. Send an empty string to clear the maintenance site on the work order. Mutually exclusive with `placeId`. */
33
+ placeExternalId?: string;
34
+ /** ID of the Place where the work is performed. Must reference a Place returned by the Places API that is linked to a maintenance site in the organization. Send an empty string to clear the maintenance site on the work order. Mutually exclusive with `placeExternalId`. */
35
+ placeId?: string;
32
36
  /** The purchase order number for the work order. */
33
37
  poNumber?: string;
34
38
  /** The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent` */
@@ -25,6 +25,10 @@ export interface WorkOrdersPostWorkOrdersRequestBody {
25
25
  items?: Samsara.WorkOrderItemObjectRequestBody[];
26
26
  /** The odometer reading at the time of the work order. Will default to current asset reading if unset. */
27
27
  odometerMeters?: number;
28
+ /** External ID (`key:value`) of the Place where the work is performed. Resolved against the organization's external IDs for places; the resolved Place must be linked to a maintenance site. Mutually exclusive with `placeId`. */
29
+ placeExternalId?: string;
30
+ /** ID of the Place where the work is performed. Must reference a Place returned by the Places API that is linked to a maintenance site in the organization. Mutually exclusive with `placeExternalId`. */
31
+ placeId?: string;
28
32
  /** The purchase order number for the work order. */
29
33
  poNumber?: string;
30
34
  /** The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent` */
@@ -8,6 +8,7 @@ export interface Driver {
8
8
  carrierSettings?: Samsara.DriverCarrierSettings | undefined;
9
9
  createdAtTime?: Samsara.DriverCreatedAtTime | undefined;
10
10
  currentIdCardCode?: Samsara.DriverIdCardCode | undefined;
11
+ dateOfBirth?: Samsara.DriverDateOfBirth | undefined;
11
12
  driverActivationStatus?: Samsara.DriverActivationStatus | undefined;
12
13
  eldAdverseWeatherExemptionEnabled?: Samsara.DriverEldAdverseWeatherExemptionEnabled | undefined;
13
14
  eldBigDayExemptionEnabled?: Samsara.DriverEldBigDayExemptionEnabled | undefined;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Driver's date of birth in `YYYY-MM-DD` format. Treated as a calendar date (no time component, no timezone).
3
+ */
4
+ export type DriverDateOfBirth = string;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -17,8 +17,12 @@ export interface PatchPlaceHubLocationUpsertBodyRequestBody {
17
17
  isIgnoreOrderServiceTimeEnabled?: boolean | undefined;
18
18
  /** Stop position preference: unspecified, any, first, or last. */
19
19
  locationPositionType?: string | undefined;
20
+ /** Route priority from 1 (lowest) to 5 (highest). */
21
+ locationPriority?: number | undefined;
22
+ orderServiceTime?: Samsara.PlaceHubLocationOrderServiceTimeInputRequestBody | undefined;
20
23
  /** Required planner skills for this hub location. */
21
24
  requiredSkills?: Samsara.PlaceHubLocationRequiredSkillInputRequestBody[] | undefined;
25
+ serviceTime?: Samsara.PlaceHubLocationServiceTimeInputRequestBody | undefined;
22
26
  /** Recurring local-time service windows for this hub location. */
23
27
  serviceWindows?: Samsara.PlaceHubLocationServiceWindowInputRequestBody[] | undefined;
24
28
  /** Default instructions for drivers at this hub location. */
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Per-capacity order service time entry for a hub location row.
3
+ */
4
+ export interface PlaceHubLocationCapacityServiceTimeInputRequestBody {
5
+ /** Capacity UUID. */
6
+ capacityId: string;
7
+ /** Service time in seconds. */
8
+ serviceTimeSeconds: number;
9
+ /** Additional service time per quantity unit. */
10
+ serviceTimeSecondsPerQuantityUnit: number;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import type * as Samsara from "../index.js";
2
+ /**
3
+ * Order service time configuration for a hub location row.
4
+ */
5
+ export interface PlaceHubLocationOrderServiceTimeInputRequestBody {
6
+ /** Capacity-based service times for variable mode. */
7
+ capacityServiceTimes?: Samsara.PlaceHubLocationCapacityServiceTimeInputRequestBody[] | undefined;
8
+ /** Fixed order service time in seconds when applicable. */
9
+ fixedTimeSeconds?: number | undefined;
10
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
11
+ modeType: PlaceHubLocationOrderServiceTimeInputRequestBody.ModeType;
12
+ }
13
+ export declare namespace PlaceHubLocationOrderServiceTimeInputRequestBody {
14
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
15
+ const ModeType: {
16
+ readonly Fixed: "fixed";
17
+ readonly Variable: "variable";
18
+ readonly Unknown: "unknown";
19
+ readonly Unspecified: "unspecified";
20
+ };
21
+ type ModeType = (typeof ModeType)[keyof typeof ModeType];
22
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PlaceHubLocationOrderServiceTimeInputRequestBody = void 0;
5
+ var PlaceHubLocationOrderServiceTimeInputRequestBody;
6
+ (function (PlaceHubLocationOrderServiceTimeInputRequestBody) {
7
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
8
+ PlaceHubLocationOrderServiceTimeInputRequestBody.ModeType = {
9
+ Fixed: "fixed",
10
+ Variable: "variable",
11
+ Unknown: "unknown",
12
+ Unspecified: "unspecified",
13
+ };
14
+ })(PlaceHubLocationOrderServiceTimeInputRequestBody || (exports.PlaceHubLocationOrderServiceTimeInputRequestBody = PlaceHubLocationOrderServiceTimeInputRequestBody = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Additional service time configuration for a hub location row.
3
+ */
4
+ export interface PlaceHubLocationServiceTimeInputRequestBody {
5
+ /** Whole minutes of additional service time. */
6
+ additionalTimeMinutes: number;
7
+ /** Whether additional service time is enabled. */
8
+ isEnabled: boolean;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The maintenance site (inventory location) where the work is performed.
3
+ */
4
+ export interface WorkOrderMaintenanceSiteObjectResponseBody {
5
+ /** Display name of the maintenance site. */
6
+ name?: string | undefined;
7
+ /** External identifiers for the linked Place. Populated only when the request sets `includeExternalIds=true`. */
8
+ placeExternalIds?: Record<string, string> | undefined;
9
+ /** ID of the Place linked to this maintenance site. Joinable against the Places API. Omitted if the maintenance site is not linked to a place. */
10
+ placeId?: string | undefined;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -34,6 +34,7 @@ export interface WorkOrderObjectResponseBody {
34
34
  invoiceNumber?: string | undefined;
35
35
  /** Items related to the work order. */
36
36
  items?: Samsara.WorkOrderItemObjectResponseBody[] | undefined;
37
+ maintenanceSite?: Samsara.WorkOrderMaintenanceSiteObjectResponseBody | undefined;
37
38
  /** The odometer reading at the time of the work order. */
38
39
  odometerMeters?: number | undefined;
39
40
  /** The purchase order number for the work order. */
@@ -34,6 +34,7 @@ export interface WorkOrderWithTimeEntriesObjectResponseBody {
34
34
  invoiceNumber?: string | undefined;
35
35
  /** Items related to the work order. */
36
36
  items?: Samsara.WorkOrderItemObjectResponseBody[] | undefined;
37
+ maintenanceSite?: Samsara.WorkOrderMaintenanceSiteObjectResponseBody | undefined;
37
38
  /** The odometer reading at the time of the work order. */
38
39
  odometerMeters?: number | undefined;
39
40
  /** The purchase order number for the work order. */
@@ -492,6 +492,7 @@ export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentServiceUnavailabl
492
492
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentTooManyRequestsErrorResponseBody.js";
493
493
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentUnauthorizedErrorResponseBody.js";
494
494
  export * from "./DriverCreatedAtTime.js";
495
+ export * from "./DriverDateOfBirth.js";
495
496
  export * from "./DriverDocumentSubmittedDetailsObjectRequestBody.js";
496
497
  export * from "./DriverDocumentSubmittedDetailsObjectResponseBody.js";
497
498
  export * from "./DriverDocumentSubmittedResponseBody.js";
@@ -1878,7 +1879,10 @@ export * from "./PersonDetectedResponseBody.js";
1878
1879
  export * from "./PhotoValueObjectRequestBody.js";
1879
1880
  export * from "./PhotoValueObjectResponseBody.js";
1880
1881
  export * from "./PlaceGeofenceVertexResponseResponseBody.js";
1882
+ export * from "./PlaceHubLocationCapacityServiceTimeInputRequestBody.js";
1883
+ export * from "./PlaceHubLocationOrderServiceTimeInputRequestBody.js";
1881
1884
  export * from "./PlaceHubLocationRequiredSkillInputRequestBody.js";
1885
+ export * from "./PlaceHubLocationServiceTimeInputRequestBody.js";
1882
1886
  export * from "./PlaceHubLocationServiceWindowInputRequestBody.js";
1883
1887
  export * from "./PlaceNavigationLocationResponseResponseBody.js";
1884
1888
  export * from "./PlaceNavigationResponseResponseBody.js";
@@ -3413,6 +3417,7 @@ export * from "./WorkOrderDiscountObjectRequestBody.js";
3413
3417
  export * from "./WorkOrderDiscountObjectResponseBody.js";
3414
3418
  export * from "./WorkOrderItemObjectRequestBody.js";
3415
3419
  export * from "./WorkOrderItemObjectResponseBody.js";
3420
+ export * from "./WorkOrderMaintenanceSiteObjectResponseBody.js";
3416
3421
  export * from "./WorkOrderMoneyObjectRequestBody.js";
3417
3422
  export * from "./WorkOrderMoneyObjectResponseBody.js";
3418
3423
  export * from "./WorkOrderObjectResponseBody.js";
@@ -508,6 +508,7 @@ __exportStar(require("./DriverCoachAssignmentsPutDriverCoachAssignmentServiceUna
508
508
  __exportStar(require("./DriverCoachAssignmentsPutDriverCoachAssignmentTooManyRequestsErrorResponseBody.js"), exports);
509
509
  __exportStar(require("./DriverCoachAssignmentsPutDriverCoachAssignmentUnauthorizedErrorResponseBody.js"), exports);
510
510
  __exportStar(require("./DriverCreatedAtTime.js"), exports);
511
+ __exportStar(require("./DriverDateOfBirth.js"), exports);
511
512
  __exportStar(require("./DriverDocumentSubmittedDetailsObjectRequestBody.js"), exports);
512
513
  __exportStar(require("./DriverDocumentSubmittedDetailsObjectResponseBody.js"), exports);
513
514
  __exportStar(require("./DriverDocumentSubmittedResponseBody.js"), exports);
@@ -1894,7 +1895,10 @@ __exportStar(require("./PersonDetectedResponseBody.js"), exports);
1894
1895
  __exportStar(require("./PhotoValueObjectRequestBody.js"), exports);
1895
1896
  __exportStar(require("./PhotoValueObjectResponseBody.js"), exports);
1896
1897
  __exportStar(require("./PlaceGeofenceVertexResponseResponseBody.js"), exports);
1898
+ __exportStar(require("./PlaceHubLocationCapacityServiceTimeInputRequestBody.js"), exports);
1899
+ __exportStar(require("./PlaceHubLocationOrderServiceTimeInputRequestBody.js"), exports);
1897
1900
  __exportStar(require("./PlaceHubLocationRequiredSkillInputRequestBody.js"), exports);
1901
+ __exportStar(require("./PlaceHubLocationServiceTimeInputRequestBody.js"), exports);
1898
1902
  __exportStar(require("./PlaceHubLocationServiceWindowInputRequestBody.js"), exports);
1899
1903
  __exportStar(require("./PlaceNavigationLocationResponseResponseBody.js"), exports);
1900
1904
  __exportStar(require("./PlaceNavigationResponseResponseBody.js"), exports);
@@ -3429,6 +3433,7 @@ __exportStar(require("./WorkOrderDiscountObjectRequestBody.js"), exports);
3429
3433
  __exportStar(require("./WorkOrderDiscountObjectResponseBody.js"), exports);
3430
3434
  __exportStar(require("./WorkOrderItemObjectRequestBody.js"), exports);
3431
3435
  __exportStar(require("./WorkOrderItemObjectResponseBody.js"), exports);
3436
+ __exportStar(require("./WorkOrderMaintenanceSiteObjectResponseBody.js"), exports);
3432
3437
  __exportStar(require("./WorkOrderMoneyObjectRequestBody.js"), exports);
3433
3438
  __exportStar(require("./WorkOrderMoneyObjectResponseBody.js"), exports);
3434
3439
  __exportStar(require("./WorkOrderObjectResponseBody.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "13.7.0";
1
+ export declare const SDK_VERSION = "13.9.0";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "13.7.0";
4
+ exports.SDK_VERSION = "13.9.0";
@@ -7,8 +7,8 @@ export function normalizeClientOptions(options) {
7
7
  const headers = mergeHeaders({
8
8
  "X-Fern-Language": "JavaScript",
9
9
  "X-Fern-SDK-Name": "@samsarahq/samsara",
10
- "X-Fern-SDK-Version": "13.7.0",
11
- "User-Agent": "@samsarahq/samsara/13.7.0",
10
+ "X-Fern-SDK-Version": "13.9.0",
11
+ "User-Agent": "@samsarahq/samsara/13.9.0",
12
12
  "X-Fern-Runtime": core.RUNTIME.type,
13
13
  "X-Fern-Runtime-Version": core.RUNTIME.version,
14
14
  "X-Samsara-Version": (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : "2025-06-11",
@@ -1772,7 +1772,33 @@ export declare class BetaApIsClient {
1772
1772
  /**
1773
1773
  * Ingest new readings. This endpoint allows the ingestion of batches of readings.
1774
1774
  *
1775
- * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API. When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
1775
+ * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API.
1776
+ *
1777
+ *
1778
+ * Readings that currently support ingestion (by category):
1779
+ *
1780
+ *
1781
+ * <details>
1782
+ * <summary><strong>ingestible</strong></summary>
1783
+ *
1784
+ * * `batteryVoltage`
1785
+ * * `coolantTemp`
1786
+ * * `ecuFuelLevelMillipercent`
1787
+ * * `engineHours`
1788
+ * * `engineRpm`
1789
+ * * `engineState` (values: off | running | idling)
1790
+ * * `faultCodesJ1939`
1791
+ * * `faultCodesOBDII`
1792
+ * * `fuelLevelPerc`
1793
+ * * `location`
1794
+ * * `odometerEcu`
1795
+ * * `oilPressure`
1796
+ *
1797
+ * </details>
1798
+ *
1799
+ * **Note:** Use the `GET /readings/definitions` endpoint and check the `ingestionEnabled` field for the authoritative, up-to-date set of ingestible readings for your organization.
1800
+ *
1801
+ * When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
1776
1802
  *
1777
1803
  * Related guide: [Readings](https://developers.samsara.com/docs/readings).
1778
1804
  *
@@ -2288,7 +2314,7 @@ export declare class BetaApIsClient {
2288
2314
  *
2289
2315
  * @example
2290
2316
  * await client.betaApIs.patchSafetyEventsV2Batch({
2291
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
2317
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
2292
2318
  * })
2293
2319
  */
2294
2320
  patchSafetyEventsV2Batch(request: Samsara.SafetyEventsV2PatchSafetyEventsV2BatchRequestBody, requestOptions?: BetaApIsClient.RequestOptions): core.HttpResponsePromise<Samsara.SafetyEventsV2PatchSafetyEventsV2BatchResponseBody>;
@@ -5164,7 +5164,33 @@ export class BetaApIsClient {
5164
5164
  /**
5165
5165
  * Ingest new readings. This endpoint allows the ingestion of batches of readings.
5166
5166
  *
5167
- * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API. When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5167
+ * Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API.
5168
+ *
5169
+ *
5170
+ * Readings that currently support ingestion (by category):
5171
+ *
5172
+ *
5173
+ * <details>
5174
+ * <summary><strong>ingestible</strong></summary>
5175
+ *
5176
+ * * `batteryVoltage`
5177
+ * * `coolantTemp`
5178
+ * * `ecuFuelLevelMillipercent`
5179
+ * * `engineHours`
5180
+ * * `engineRpm`
5181
+ * * `engineState` (values: off | running | idling)
5182
+ * * `faultCodesJ1939`
5183
+ * * `faultCodesOBDII`
5184
+ * * `fuelLevelPerc`
5185
+ * * `location`
5186
+ * * `odometerEcu`
5187
+ * * `oilPressure`
5188
+ *
5189
+ * </details>
5190
+ *
5191
+ * **Note:** Use the `GET /readings/definitions` endpoint and check the `ingestionEnabled` field for the authoritative, up-to-date set of ingestible readings for your organization.
5192
+ *
5193
+ * When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5168
5194
  *
5169
5195
  * Related guide: [Readings](https://developers.samsara.com/docs/readings).
5170
5196
  *
@@ -6612,7 +6638,7 @@ export class BetaApIsClient {
6612
6638
  *
6613
6639
  * @example
6614
6640
  * await client.betaApIs.patchSafetyEventsV2Batch({
6615
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6641
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6616
6642
  * })
6617
6643
  */
6618
6644
  patchSafetyEventsV2Batch(request, requestOptions) {
@@ -19,6 +19,8 @@ export interface PlacesPatchPlaceRequestBody {
19
19
  hubLocations?: Samsara.PatchPlaceHubLocationsBodyRequestBody;
20
20
  /** When present, replaces IFTA exemption types for the place. */
21
21
  iftaExemptionTypes?: string[];
22
+ /** When true, show addresses inside the geofence on the map. */
23
+ isShowAddressesEnabled?: boolean;
22
24
  /** Center latitude when switching to or editing a circle geofence. */
23
25
  latitude?: number;
24
26
  /** Center longitude when switching to or editing a circle geofence. */
@@ -19,6 +19,8 @@ export interface PlacesPostPlaceRequestBody {
19
19
  hubLocations?: Samsara.PatchPlaceHubLocationUpsertBodyRequestBody[];
20
20
  /** IFTA exemption types for this place. */
21
21
  iftaExemptionTypes?: string[];
22
+ /** When true, show addresses inside the geofence on the map. */
23
+ isShowAddressesEnabled?: boolean;
22
24
  /** Center latitude when using a circle geofence with radiusMeters. */
23
25
  latitude?: number;
24
26
  /** Center longitude when using a circle geofence with radiusMeters. */
@@ -2,7 +2,7 @@ import type * as Samsara from "../../../../index.mjs";
2
2
  /**
3
3
  * @example
4
4
  * {
5
- * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
5
+ * safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6
6
  * }
7
7
  */
8
8
  export interface SafetyEventsV2PatchSafetyEventsV2BatchRequestBody {
@@ -12,6 +12,7 @@ export interface CreateDriverRequest {
12
12
  carrierSettings?: Samsara.DriverCarrierSettings;
13
13
  /** The ID Card Code on the back of the physical card assigned to the driver. Contact Samsara if you would like to enable this feature. */
14
14
  currentIdCardCode?: string;
15
+ dateOfBirth?: Samsara.DriverDateOfBirth;
15
16
  /** Flag indicating this driver may use Adverse Weather exemptions in ELD logs. */
16
17
  eldAdverseWeatherExemptionEnabled?: boolean;
17
18
  /** Flag indicating this driver may use Big Day exemption in ELD logs. */
@@ -12,6 +12,7 @@ export interface UpdateDriverRequest {
12
12
  carrierSettings?: Samsara.DriverCarrierSettings;
13
13
  /** The ID Card Code on the back of the physical card assigned to the driver. Contact Samsara if you would like to enable this feature. */
14
14
  currentIdCardCode?: string;
15
+ dateOfBirth?: Samsara.DriverDateOfBirth;
15
16
  /** The date and time this driver is considered to be deactivated in RFC 3339 format. */
16
17
  deactivatedAtTime?: string;
17
18
  /** A value indicating whether the driver is active or deactivated. Valid values: `active`, `deactivated`. */
@@ -229,10 +229,11 @@ export class WorkOrdersClient {
229
229
  __getWorkOrders() {
230
230
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
231
231
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
232
- const { ids, after } = request;
232
+ const { ids, after, includeExternalIds } = request;
233
233
  const _queryParams = {
234
234
  ids,
235
235
  after,
236
+ includeExternalIds,
236
237
  };
237
238
  const _authRequest = yield this._options.authProvider.getAuthRequest();
238
239
  const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "X-Samsara-Version": requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.version }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -577,7 +578,7 @@ export class WorkOrdersClient {
577
578
  __streamWorkOrders(request, requestOptions) {
578
579
  return __awaiter(this, void 0, void 0, function* () {
579
580
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
580
- const { after, startTime, endTime, workOrderStatuses, assetIds, assignedUserIds } = request;
581
+ const { after, startTime, endTime, workOrderStatuses, assetIds, assignedUserIds, includeExternalIds } = request;
581
582
  const _queryParams = {
582
583
  after,
583
584
  startTime,
@@ -589,6 +590,7 @@ export class WorkOrdersClient {
589
590
  : undefined,
590
591
  assetIds,
591
592
  assignedUserIds,
593
+ includeExternalIds,
592
594
  };
593
595
  const _authRequest = yield this._options.authProvider.getAuthRequest();
594
596
  const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "X-Samsara-Version": requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.version }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -7,4 +7,6 @@ export interface GetWorkOrdersRequest {
7
7
  ids?: string | string[];
8
8
  /** 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. */
9
9
  after?: string;
10
+ /** When true, populates `maintenanceSite.placeExternalIds` on each work order by resolving the linked Place's external ids. Defaults to false. Adds one batch lookup per response page. */
11
+ includeExternalIds?: boolean;
10
12
  }
@@ -18,4 +18,6 @@ export interface StreamWorkOrdersRequest {
18
18
  assetIds?: string | string[];
19
19
  /** Work Order assigned user id filter. Up to 50 ids. */
20
20
  assignedUserIds?: string | string[];
21
+ /** When true, populates `maintenanceSite.placeExternalIds` on each work order by resolving the linked Place's external ids. Defaults to false. Adds one batch lookup per response page. */
22
+ includeExternalIds?: boolean;
21
23
  }
@@ -29,6 +29,10 @@ export interface WorkOrdersPatchWorkOrdersRequestBody {
29
29
  items?: Samsara.WorkOrderItemObjectRequestBody[];
30
30
  /** The odometer reading at the time of the work order. Will default to current asset reading if unset. */
31
31
  odometerMeters?: number;
32
+ /** External ID (`key:value`) of the Place where the work is performed. Resolved against the organization's external IDs for places. Send an empty string to clear the maintenance site on the work order. Mutually exclusive with `placeId`. */
33
+ placeExternalId?: string;
34
+ /** ID of the Place where the work is performed. Must reference a Place returned by the Places API that is linked to a maintenance site in the organization. Send an empty string to clear the maintenance site on the work order. Mutually exclusive with `placeExternalId`. */
35
+ placeId?: string;
32
36
  /** The purchase order number for the work order. */
33
37
  poNumber?: string;
34
38
  /** The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent` */
@@ -25,6 +25,10 @@ export interface WorkOrdersPostWorkOrdersRequestBody {
25
25
  items?: Samsara.WorkOrderItemObjectRequestBody[];
26
26
  /** The odometer reading at the time of the work order. Will default to current asset reading if unset. */
27
27
  odometerMeters?: number;
28
+ /** External ID (`key:value`) of the Place where the work is performed. Resolved against the organization's external IDs for places; the resolved Place must be linked to a maintenance site. Mutually exclusive with `placeId`. */
29
+ placeExternalId?: string;
30
+ /** ID of the Place where the work is performed. Must reference a Place returned by the Places API that is linked to a maintenance site in the organization. Mutually exclusive with `placeExternalId`. */
31
+ placeId?: string;
28
32
  /** The purchase order number for the work order. */
29
33
  poNumber?: string;
30
34
  /** The priority of the work order Valid values: `High`, `Low`, `Medium`, `Urgent` */
@@ -8,6 +8,7 @@ export interface Driver {
8
8
  carrierSettings?: Samsara.DriverCarrierSettings | undefined;
9
9
  createdAtTime?: Samsara.DriverCreatedAtTime | undefined;
10
10
  currentIdCardCode?: Samsara.DriverIdCardCode | undefined;
11
+ dateOfBirth?: Samsara.DriverDateOfBirth | undefined;
11
12
  driverActivationStatus?: Samsara.DriverActivationStatus | undefined;
12
13
  eldAdverseWeatherExemptionEnabled?: Samsara.DriverEldAdverseWeatherExemptionEnabled | undefined;
13
14
  eldBigDayExemptionEnabled?: Samsara.DriverEldBigDayExemptionEnabled | undefined;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Driver's date of birth in `YYYY-MM-DD` format. Treated as a calendar date (no time component, no timezone).
3
+ */
4
+ export type DriverDateOfBirth = string;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -17,8 +17,12 @@ export interface PatchPlaceHubLocationUpsertBodyRequestBody {
17
17
  isIgnoreOrderServiceTimeEnabled?: boolean | undefined;
18
18
  /** Stop position preference: unspecified, any, first, or last. */
19
19
  locationPositionType?: string | undefined;
20
+ /** Route priority from 1 (lowest) to 5 (highest). */
21
+ locationPriority?: number | undefined;
22
+ orderServiceTime?: Samsara.PlaceHubLocationOrderServiceTimeInputRequestBody | undefined;
20
23
  /** Required planner skills for this hub location. */
21
24
  requiredSkills?: Samsara.PlaceHubLocationRequiredSkillInputRequestBody[] | undefined;
25
+ serviceTime?: Samsara.PlaceHubLocationServiceTimeInputRequestBody | undefined;
22
26
  /** Recurring local-time service windows for this hub location. */
23
27
  serviceWindows?: Samsara.PlaceHubLocationServiceWindowInputRequestBody[] | undefined;
24
28
  /** Default instructions for drivers at this hub location. */
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Per-capacity order service time entry for a hub location row.
3
+ */
4
+ export interface PlaceHubLocationCapacityServiceTimeInputRequestBody {
5
+ /** Capacity UUID. */
6
+ capacityId: string;
7
+ /** Service time in seconds. */
8
+ serviceTimeSeconds: number;
9
+ /** Additional service time per quantity unit. */
10
+ serviceTimeSecondsPerQuantityUnit: number;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,22 @@
1
+ import type * as Samsara from "../index.mjs";
2
+ /**
3
+ * Order service time configuration for a hub location row.
4
+ */
5
+ export interface PlaceHubLocationOrderServiceTimeInputRequestBody {
6
+ /** Capacity-based service times for variable mode. */
7
+ capacityServiceTimes?: Samsara.PlaceHubLocationCapacityServiceTimeInputRequestBody[] | undefined;
8
+ /** Fixed order service time in seconds when applicable. */
9
+ fixedTimeSeconds?: number | undefined;
10
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
11
+ modeType: PlaceHubLocationOrderServiceTimeInputRequestBody.ModeType;
12
+ }
13
+ export declare namespace PlaceHubLocationOrderServiceTimeInputRequestBody {
14
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
15
+ const ModeType: {
16
+ readonly Fixed: "fixed";
17
+ readonly Variable: "variable";
18
+ readonly Unknown: "unknown";
19
+ readonly Unspecified: "unspecified";
20
+ };
21
+ type ModeType = (typeof ModeType)[keyof typeof ModeType];
22
+ }
@@ -0,0 +1,11 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export var PlaceHubLocationOrderServiceTimeInputRequestBody;
3
+ (function (PlaceHubLocationOrderServiceTimeInputRequestBody) {
4
+ /** Mode: fixed or variable. Valid values: `fixed`, `variable`, `unknown`, `unspecified` */
5
+ PlaceHubLocationOrderServiceTimeInputRequestBody.ModeType = {
6
+ Fixed: "fixed",
7
+ Variable: "variable",
8
+ Unknown: "unknown",
9
+ Unspecified: "unspecified",
10
+ };
11
+ })(PlaceHubLocationOrderServiceTimeInputRequestBody || (PlaceHubLocationOrderServiceTimeInputRequestBody = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Additional service time configuration for a hub location row.
3
+ */
4
+ export interface PlaceHubLocationServiceTimeInputRequestBody {
5
+ /** Whole minutes of additional service time. */
6
+ additionalTimeMinutes: number;
7
+ /** Whether additional service time is enabled. */
8
+ isEnabled: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The maintenance site (inventory location) where the work is performed.
3
+ */
4
+ export interface WorkOrderMaintenanceSiteObjectResponseBody {
5
+ /** Display name of the maintenance site. */
6
+ name?: string | undefined;
7
+ /** External identifiers for the linked Place. Populated only when the request sets `includeExternalIds=true`. */
8
+ placeExternalIds?: Record<string, string> | undefined;
9
+ /** ID of the Place linked to this maintenance site. Joinable against the Places API. Omitted if the maintenance site is not linked to a place. */
10
+ placeId?: string | undefined;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -34,6 +34,7 @@ export interface WorkOrderObjectResponseBody {
34
34
  invoiceNumber?: string | undefined;
35
35
  /** Items related to the work order. */
36
36
  items?: Samsara.WorkOrderItemObjectResponseBody[] | undefined;
37
+ maintenanceSite?: Samsara.WorkOrderMaintenanceSiteObjectResponseBody | undefined;
37
38
  /** The odometer reading at the time of the work order. */
38
39
  odometerMeters?: number | undefined;
39
40
  /** The purchase order number for the work order. */
@@ -34,6 +34,7 @@ export interface WorkOrderWithTimeEntriesObjectResponseBody {
34
34
  invoiceNumber?: string | undefined;
35
35
  /** Items related to the work order. */
36
36
  items?: Samsara.WorkOrderItemObjectResponseBody[] | undefined;
37
+ maintenanceSite?: Samsara.WorkOrderMaintenanceSiteObjectResponseBody | undefined;
37
38
  /** The odometer reading at the time of the work order. */
38
39
  odometerMeters?: number | undefined;
39
40
  /** The purchase order number for the work order. */
@@ -492,6 +492,7 @@ export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentServiceUnavailabl
492
492
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentTooManyRequestsErrorResponseBody.mjs";
493
493
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentUnauthorizedErrorResponseBody.mjs";
494
494
  export * from "./DriverCreatedAtTime.mjs";
495
+ export * from "./DriverDateOfBirth.mjs";
495
496
  export * from "./DriverDocumentSubmittedDetailsObjectRequestBody.mjs";
496
497
  export * from "./DriverDocumentSubmittedDetailsObjectResponseBody.mjs";
497
498
  export * from "./DriverDocumentSubmittedResponseBody.mjs";
@@ -1878,7 +1879,10 @@ export * from "./PersonDetectedResponseBody.mjs";
1878
1879
  export * from "./PhotoValueObjectRequestBody.mjs";
1879
1880
  export * from "./PhotoValueObjectResponseBody.mjs";
1880
1881
  export * from "./PlaceGeofenceVertexResponseResponseBody.mjs";
1882
+ export * from "./PlaceHubLocationCapacityServiceTimeInputRequestBody.mjs";
1883
+ export * from "./PlaceHubLocationOrderServiceTimeInputRequestBody.mjs";
1881
1884
  export * from "./PlaceHubLocationRequiredSkillInputRequestBody.mjs";
1885
+ export * from "./PlaceHubLocationServiceTimeInputRequestBody.mjs";
1882
1886
  export * from "./PlaceHubLocationServiceWindowInputRequestBody.mjs";
1883
1887
  export * from "./PlaceNavigationLocationResponseResponseBody.mjs";
1884
1888
  export * from "./PlaceNavigationResponseResponseBody.mjs";
@@ -3413,6 +3417,7 @@ export * from "./WorkOrderDiscountObjectRequestBody.mjs";
3413
3417
  export * from "./WorkOrderDiscountObjectResponseBody.mjs";
3414
3418
  export * from "./WorkOrderItemObjectRequestBody.mjs";
3415
3419
  export * from "./WorkOrderItemObjectResponseBody.mjs";
3420
+ export * from "./WorkOrderMaintenanceSiteObjectResponseBody.mjs";
3416
3421
  export * from "./WorkOrderMoneyObjectRequestBody.mjs";
3417
3422
  export * from "./WorkOrderMoneyObjectResponseBody.mjs";
3418
3423
  export * from "./WorkOrderObjectResponseBody.mjs";
@@ -492,6 +492,7 @@ export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentServiceUnavailabl
492
492
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentTooManyRequestsErrorResponseBody.mjs";
493
493
  export * from "./DriverCoachAssignmentsPutDriverCoachAssignmentUnauthorizedErrorResponseBody.mjs";
494
494
  export * from "./DriverCreatedAtTime.mjs";
495
+ export * from "./DriverDateOfBirth.mjs";
495
496
  export * from "./DriverDocumentSubmittedDetailsObjectRequestBody.mjs";
496
497
  export * from "./DriverDocumentSubmittedDetailsObjectResponseBody.mjs";
497
498
  export * from "./DriverDocumentSubmittedResponseBody.mjs";
@@ -1878,7 +1879,10 @@ export * from "./PersonDetectedResponseBody.mjs";
1878
1879
  export * from "./PhotoValueObjectRequestBody.mjs";
1879
1880
  export * from "./PhotoValueObjectResponseBody.mjs";
1880
1881
  export * from "./PlaceGeofenceVertexResponseResponseBody.mjs";
1882
+ export * from "./PlaceHubLocationCapacityServiceTimeInputRequestBody.mjs";
1883
+ export * from "./PlaceHubLocationOrderServiceTimeInputRequestBody.mjs";
1881
1884
  export * from "./PlaceHubLocationRequiredSkillInputRequestBody.mjs";
1885
+ export * from "./PlaceHubLocationServiceTimeInputRequestBody.mjs";
1882
1886
  export * from "./PlaceHubLocationServiceWindowInputRequestBody.mjs";
1883
1887
  export * from "./PlaceNavigationLocationResponseResponseBody.mjs";
1884
1888
  export * from "./PlaceNavigationResponseResponseBody.mjs";
@@ -3413,6 +3417,7 @@ export * from "./WorkOrderDiscountObjectRequestBody.mjs";
3413
3417
  export * from "./WorkOrderDiscountObjectResponseBody.mjs";
3414
3418
  export * from "./WorkOrderItemObjectRequestBody.mjs";
3415
3419
  export * from "./WorkOrderItemObjectResponseBody.mjs";
3420
+ export * from "./WorkOrderMaintenanceSiteObjectResponseBody.mjs";
3416
3421
  export * from "./WorkOrderMoneyObjectRequestBody.mjs";
3417
3422
  export * from "./WorkOrderMoneyObjectResponseBody.mjs";
3418
3423
  export * from "./WorkOrderObjectResponseBody.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "13.7.0";
1
+ export declare const SDK_VERSION = "13.9.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "13.7.0";
1
+ export const SDK_VERSION = "13.9.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@samsarahq/samsara",
3
- "version": "13.7.0",
3
+ "version": "13.9.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
package/reference.md CHANGED
@@ -5699,7 +5699,33 @@ await client.betaApIs.getQualificationTypes({
5699
5699
 
5700
5700
  Ingest new readings. This endpoint allows the ingestion of batches of readings.
5701
5701
 
5702
- Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API. When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5702
+ Ingesting readings is only supported for assets created using the POST /assets API endpoint with readingsIngestionEnabled set to true. To see a full list of readings available for ingestion use the GET readings definitions API.
5703
+
5704
+
5705
+ Readings that currently support ingestion (by category):
5706
+
5707
+
5708
+ <details>
5709
+ <summary><strong>ingestible</strong></summary>
5710
+
5711
+ * `batteryVoltage`
5712
+ * `coolantTemp`
5713
+ * `ecuFuelLevelMillipercent`
5714
+ * `engineHours`
5715
+ * `engineRpm`
5716
+ * `engineState` (values: off | running | idling)
5717
+ * `faultCodesJ1939`
5718
+ * `faultCodesOBDII`
5719
+ * `fuelLevelPerc`
5720
+ * `location`
5721
+ * `odometerEcu`
5722
+ * `oilPressure`
5723
+
5724
+ </details>
5725
+
5726
+ **Note:** Use the `GET /readings/definitions` endpoint and check the `ingestionEnabled` field for the authoritative, up-to-date set of ingestible readings for your organization.
5727
+
5728
+ When ingesting location data, the readingID 'location' must be used and the value object must contain at least the following fields: 'speed', 'latitude', 'longitude'.
5703
5729
 
5704
5730
  Related guide: [Readings](https://developers.samsara.com/docs/readings).
5705
5731
 
@@ -6886,7 +6912,7 @@ To use this endpoint, select **Write Safety Events & Scores** under the Safety &
6886
6912
 
6887
6913
  ```typescript
6888
6914
  await client.betaApIs.patchSafetyEventsV2Batch({
6889
- safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6915
+ safetyEventIds: ["bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590", "bb2ff5ab-30ad-49ec-9d2d-55ec30bbf590"]
6890
6916
  });
6891
6917
 
6892
6918
  ```