@seamapi/types 1.1084.0 → 1.1086.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.
- package/lib/seam/connect/model-types.d.ts +1 -1
- package/lib/seam/connect/models/cameras/camera-live-view-answer.d.ts +9 -0
- package/lib/seam/connect/models/cameras/camera-live-view-answer.js +12 -0
- package/lib/seam/connect/models/cameras/camera-live-view-answer.js.map +1 -0
- package/lib/seam/connect/models/cameras/camera-live-view-session.d.ts +18 -0
- package/lib/seam/connect/models/cameras/camera-live-view-session.js +21 -0
- package/lib/seam/connect/models/cameras/camera-live-view-session.js.map +1 -0
- package/lib/seam/connect/models/cameras/index.d.ts +2 -0
- package/lib/seam/connect/models/cameras/index.js +3 -0
- package/lib/seam/connect/models/cameras/index.js.map +1 -0
- package/lib/seam/connect/models/devices/device-provider.d.ts +4 -1
- package/lib/seam/connect/models/devices/device-provider.js +2 -2
- package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
- package/lib/seam/connect/models/devices/device.d.ts +6 -0
- package/lib/seam/connect/models/devices/device.js +3 -0
- package/lib/seam/connect/models/devices/device.js.map +1 -1
- package/lib/seam/connect/models/devices/unmanaged-device.d.ts +4 -0
- package/lib/seam/connect/models/events/devices.d.ts +12 -6
- package/lib/seam/connect/models/events/devices.js +7 -3
- package/lib/seam/connect/models/events/devices.js.map +1 -1
- package/lib/seam/connect/models/events/seam-event.d.ts +6 -3
- package/lib/seam/connect/models/index.d.ts +2 -0
- package/lib/seam/connect/models/index.js +2 -0
- package/lib/seam/connect/models/index.js.map +1 -1
- package/lib/seam/connect/models/instant-keys/instant-key-preview.d.ts +6 -6
- package/lib/seam/connect/models/media/index.d.ts +1 -0
- package/lib/seam/connect/models/media/index.js +2 -0
- package/lib/seam/connect/models/media/index.js.map +1 -0
- package/lib/seam/connect/models/media/media.d.ts +36 -0
- package/lib/seam/connect/models/media/media.js +44 -0
- package/lib/seam/connect/models/media/media.js.map +1 -0
- package/lib/seam/connect/openapi.js +244 -39
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +124 -18
- package/lib/seam/connect/schemas.d.ts +1 -1
- package/lib/seam/connect/schemas.js +1 -1
- package/lib/seam/connect/schemas.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/seam/connect/internal/schemas.ts +3 -0
- package/src/lib/seam/connect/model-types.ts +3 -0
- package/src/lib/seam/connect/models/cameras/camera-live-view-answer.ts +16 -0
- package/src/lib/seam/connect/models/cameras/camera-live-view-session.ts +28 -0
- package/src/lib/seam/connect/models/cameras/index.ts +2 -0
- package/src/lib/seam/connect/models/devices/device-provider.ts +2 -2
- package/src/lib/seam/connect/models/devices/device.ts +5 -0
- package/src/lib/seam/connect/models/events/devices.ts +9 -3
- package/src/lib/seam/connect/models/index.ts +2 -0
- package/src/lib/seam/connect/models/media/index.ts +1 -0
- package/src/lib/seam/connect/models/media/media.ts +55 -0
- package/src/lib/seam/connect/openapi.ts +266 -40
- package/src/lib/seam/connect/route-types.ts +124 -21
- package/src/lib/seam/connect/schemas.ts +3 -0
|
@@ -5,6 +5,7 @@ export * from './action-attempts/index.js';
|
|
|
5
5
|
export * from './batch.js';
|
|
6
6
|
export * from './bridges/index.js';
|
|
7
7
|
export * from './bridges/index.js';
|
|
8
|
+
export * from './cameras/index.js';
|
|
8
9
|
export * from './client-sessions/index.js';
|
|
9
10
|
export * from './connect-webviews/index.js';
|
|
10
11
|
export * from './connected-accounts/index.js';
|
|
@@ -19,6 +20,7 @@ export * from './datetime.js';
|
|
|
19
20
|
export * from './devices/index.js';
|
|
20
21
|
export * from './events/index.js';
|
|
21
22
|
export * from './instant-keys/index.js';
|
|
23
|
+
export * from './media/index.js';
|
|
22
24
|
export * from './noise-sensors/index.js';
|
|
23
25
|
export * from './pagination.js';
|
|
24
26
|
export * from './partner/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAChD,cAAc,uCAAuC,CAAA;AACrD,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
|
|
@@ -64,14 +64,14 @@ declare const instant_key_preview_access: z.ZodObject<{
|
|
|
64
64
|
available: z.ZodBoolean;
|
|
65
65
|
}, "strip", z.ZodTypeAny, {
|
|
66
66
|
name: string;
|
|
67
|
-
available: boolean;
|
|
68
67
|
icon: string;
|
|
68
|
+
available: boolean;
|
|
69
69
|
location?: string | undefined;
|
|
70
70
|
hours?: string | undefined;
|
|
71
71
|
}, {
|
|
72
72
|
name: string;
|
|
73
|
-
available: boolean;
|
|
74
73
|
icon: string;
|
|
74
|
+
available: boolean;
|
|
75
75
|
location?: string | undefined;
|
|
76
76
|
hours?: string | undefined;
|
|
77
77
|
}>;
|
|
@@ -142,14 +142,14 @@ export declare const instant_key_preview: z.ZodObject<{
|
|
|
142
142
|
available: z.ZodBoolean;
|
|
143
143
|
}, "strip", z.ZodTypeAny, {
|
|
144
144
|
name: string;
|
|
145
|
-
available: boolean;
|
|
146
145
|
icon: string;
|
|
146
|
+
available: boolean;
|
|
147
147
|
location?: string | undefined;
|
|
148
148
|
hours?: string | undefined;
|
|
149
149
|
}, {
|
|
150
150
|
name: string;
|
|
151
|
-
available: boolean;
|
|
152
151
|
icon: string;
|
|
152
|
+
available: boolean;
|
|
153
153
|
location?: string | undefined;
|
|
154
154
|
hours?: string | undefined;
|
|
155
155
|
}>, "many">;
|
|
@@ -186,8 +186,8 @@ export declare const instant_key_preview: z.ZodObject<{
|
|
|
186
186
|
};
|
|
187
187
|
access: {
|
|
188
188
|
name: string;
|
|
189
|
-
available: boolean;
|
|
190
189
|
icon: string;
|
|
190
|
+
available: boolean;
|
|
191
191
|
location?: string | undefined;
|
|
192
192
|
hours?: string | undefined;
|
|
193
193
|
}[];
|
|
@@ -222,8 +222,8 @@ export declare const instant_key_preview: z.ZodObject<{
|
|
|
222
222
|
};
|
|
223
223
|
access: {
|
|
224
224
|
name: string;
|
|
225
|
-
available: boolean;
|
|
226
225
|
icon: string;
|
|
226
|
+
available: boolean;
|
|
227
227
|
location?: string | undefined;
|
|
228
228
|
hours?: string | undefined;
|
|
229
229
|
}[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './media.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/seam/connect/models/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as z from 'zod/v3';
|
|
2
|
+
export declare const media: z.ZodObject<{
|
|
3
|
+
media_id: z.ZodString;
|
|
4
|
+
workspace_id: z.ZodString;
|
|
5
|
+
device_id: z.ZodNullable<z.ZodString>;
|
|
6
|
+
event_id: z.ZodNullable<z.ZodString>;
|
|
7
|
+
media_type: z.ZodEnum<["video", "image"]>;
|
|
8
|
+
content_type: z.ZodNullable<z.ZodString>;
|
|
9
|
+
status: z.ZodEnum<["pending", "available", "unavailable", "failed"]>;
|
|
10
|
+
url: z.ZodNullable<z.ZodString>;
|
|
11
|
+
expires_at: z.ZodNullable<z.ZodString>;
|
|
12
|
+
created_at: z.ZodString;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
status: "pending" | "failed" | "available" | "unavailable";
|
|
15
|
+
device_id: string | null;
|
|
16
|
+
workspace_id: string;
|
|
17
|
+
created_at: string;
|
|
18
|
+
expires_at: string | null;
|
|
19
|
+
url: string | null;
|
|
20
|
+
event_id: string | null;
|
|
21
|
+
media_id: string;
|
|
22
|
+
media_type: "video" | "image";
|
|
23
|
+
content_type: string | null;
|
|
24
|
+
}, {
|
|
25
|
+
status: "pending" | "failed" | "available" | "unavailable";
|
|
26
|
+
device_id: string | null;
|
|
27
|
+
workspace_id: string;
|
|
28
|
+
created_at: string;
|
|
29
|
+
expires_at: string | null;
|
|
30
|
+
url: string | null;
|
|
31
|
+
event_id: string | null;
|
|
32
|
+
media_id: string;
|
|
33
|
+
media_type: "video" | "image";
|
|
34
|
+
content_type: string | null;
|
|
35
|
+
}>;
|
|
36
|
+
export type Media = z.infer<typeof media>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as z from 'zod/v3';
|
|
2
|
+
import { datetime } from '../datetime.js';
|
|
3
|
+
export const media = z.object({
|
|
4
|
+
media_id: z.string().uuid().describe('ID of the media.'),
|
|
5
|
+
workspace_id: z
|
|
6
|
+
.string()
|
|
7
|
+
.uuid()
|
|
8
|
+
.describe('ID of the workspace that contains the media.'),
|
|
9
|
+
device_id: z
|
|
10
|
+
.string()
|
|
11
|
+
.uuid()
|
|
12
|
+
.nullable()
|
|
13
|
+
.describe('ID of the device that captured the media.'),
|
|
14
|
+
event_id: z
|
|
15
|
+
.string()
|
|
16
|
+
.uuid()
|
|
17
|
+
.nullable()
|
|
18
|
+
.describe('ID of the event that the media belongs to.'),
|
|
19
|
+
media_type: z
|
|
20
|
+
.enum(['video', 'image'])
|
|
21
|
+
.describe('Type of the media: a video clip or a still image.'),
|
|
22
|
+
content_type: z
|
|
23
|
+
.string()
|
|
24
|
+
.nullable()
|
|
25
|
+
.describe('MIME type of the media, such as `video/mp4` or `image/jpeg`.'),
|
|
26
|
+
status: z
|
|
27
|
+
.enum(['pending', 'available', 'unavailable', 'failed'])
|
|
28
|
+
.describe('Status of the media. `pending` means that Seam is still retrieving the media. `available` means that `url` can be used to download it. `unavailable` means that no media exists for the event, and `failed` means that Seam could not retrieve it.'),
|
|
29
|
+
url: z
|
|
30
|
+
.string()
|
|
31
|
+
.url()
|
|
32
|
+
.nullable()
|
|
33
|
+
.describe('Short-lived URL from which you can download the media. Null unless `status` is `available`. The URL expires after about five minutes. Call `/media/get` again for a new URL.'),
|
|
34
|
+
expires_at: datetime
|
|
35
|
+
.nullable()
|
|
36
|
+
.describe('Date and time at which the media stops being available. Null when Seam does not know when the media expires.'),
|
|
37
|
+
created_at: datetime.describe('Date and time at which the media was created.'),
|
|
38
|
+
}).describe(`
|
|
39
|
+
---
|
|
40
|
+
route_path: /media
|
|
41
|
+
---
|
|
42
|
+
Represents a piece of media, such as a video clip or a thumbnail image, that a device captured for an event. Media is in beta.
|
|
43
|
+
`);
|
|
44
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../../../src/lib/seam/connect/models/media/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACxD,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;IACxD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACxB,QAAQ,CAAC,mDAAmD,CAAC;IAChE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SACvD,QAAQ,CACP,oPAAoP,CACrP;IACH,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACP,8KAA8K,CAC/K;IACH,UAAU,EAAE,QAAQ;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,8GAA8G,CAC/G;IACH,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAC3B,+CAA+C,CAChD;CACF,CAAC,CAAC,QAAQ,CAAC;;;;;CAKX,CAAC,CAAA"}
|
|
@@ -11192,6 +11192,52 @@ const openapi = {
|
|
|
11192
11192
|
'x-route-path': '/seam/bridge/v1/bridge_connected_systems',
|
|
11193
11193
|
'x-undocumented': 'Seam Bridge client only.',
|
|
11194
11194
|
},
|
|
11195
|
+
camera_live_view_answer: {
|
|
11196
|
+
description: 'Represents the WebRTC SDP answer that starts streaming video from a camera for a live view session.',
|
|
11197
|
+
properties: {
|
|
11198
|
+
sdp_answer: {
|
|
11199
|
+
description: 'WebRTC SDP answer for the offer, limited to 64 KiB of UTF-8 data.',
|
|
11200
|
+
type: 'string',
|
|
11201
|
+
},
|
|
11202
|
+
},
|
|
11203
|
+
required: ['sdp_answer'],
|
|
11204
|
+
type: 'object',
|
|
11205
|
+
'x-route-path': '/cameras/live_views',
|
|
11206
|
+
},
|
|
11207
|
+
camera_live_view_session: {
|
|
11208
|
+
description: 'Represents a short-lived live view session for a single camera. Use the session ID and token to start a WebRTC stream and to stop the session.',
|
|
11209
|
+
properties: {
|
|
11210
|
+
camera_live_view_session_id: {
|
|
11211
|
+
description: 'ID of the camera live view session.',
|
|
11212
|
+
format: 'uuid',
|
|
11213
|
+
type: 'string',
|
|
11214
|
+
},
|
|
11215
|
+
device_id: {
|
|
11216
|
+
description: 'ID of the camera.',
|
|
11217
|
+
format: 'uuid',
|
|
11218
|
+
type: 'string',
|
|
11219
|
+
},
|
|
11220
|
+
expires_at: {
|
|
11221
|
+
description: 'Date and time at which the live view session expires.',
|
|
11222
|
+
format: 'date-time',
|
|
11223
|
+
type: 'string',
|
|
11224
|
+
},
|
|
11225
|
+
token: {
|
|
11226
|
+
description: 'Token that authorizes the offer and stop requests for this session.',
|
|
11227
|
+
maxLength: 512,
|
|
11228
|
+
minLength: 1,
|
|
11229
|
+
type: 'string',
|
|
11230
|
+
},
|
|
11231
|
+
},
|
|
11232
|
+
required: [
|
|
11233
|
+
'camera_live_view_session_id',
|
|
11234
|
+
'device_id',
|
|
11235
|
+
'token',
|
|
11236
|
+
'expires_at',
|
|
11237
|
+
],
|
|
11238
|
+
type: 'object',
|
|
11239
|
+
'x-route-path': '/cameras/live_views',
|
|
11240
|
+
},
|
|
11195
11241
|
client_session: {
|
|
11196
11242
|
description: "Represents a [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens). If you want to restrict your users' access to their own devices, use client sessions.\n\nYou create each client session with a custom `user_identifier_key`. Normally, the `user_identifier_key` is a user ID that your application provides.\n\nWhen calling the Seam API from your backend using an API key, you can pass the `user_identifier_key` as a parameter to limit results to the associated client session. For example, `/devices/list?user_identifier_key=123` only returns devices associated with the client session created with the `user_identifier_key` `123`.\n\nA client session has a token that you can use with the Seam JavaScript SDK to make requests from the client (browser) directly to the Seam API. The token restricts the user's access to only the devices that they own.\n\nSee also [Get Started with React](https://www.seam.co/docs/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens).",
|
|
11197
11243
|
properties: {
|
|
@@ -12106,6 +12152,10 @@ const openapi = {
|
|
|
12106
12152
|
description: 'Indicates whether the device supports simulating removal in a sandbox.',
|
|
12107
12153
|
type: 'boolean',
|
|
12108
12154
|
},
|
|
12155
|
+
can_stream_live_video: {
|
|
12156
|
+
description: 'Indicates whether the camera supports streaming live video through a camera live view session.',
|
|
12157
|
+
type: 'boolean',
|
|
12158
|
+
},
|
|
12109
12159
|
can_turn_off_hvac: {
|
|
12110
12160
|
description: 'Indicates whether the thermostat can be turned off.',
|
|
12111
12161
|
type: 'boolean',
|
|
@@ -16143,6 +16193,10 @@ const openapi = {
|
|
|
16143
16193
|
description: 'Indicates whether the device supports simulating removal in a sandbox.',
|
|
16144
16194
|
type: 'boolean',
|
|
16145
16195
|
},
|
|
16196
|
+
can_stream_live_video: {
|
|
16197
|
+
description: 'Indicates whether the camera supports streaming live video through a camera live view session.',
|
|
16198
|
+
type: 'boolean',
|
|
16199
|
+
},
|
|
16146
16200
|
can_turn_off_hvac: {
|
|
16147
16201
|
description: 'Indicates whether the thermostat can be turned off.',
|
|
16148
16202
|
type: 'boolean',
|
|
@@ -26069,10 +26123,10 @@ const openapi = {
|
|
|
26069
26123
|
format: 'uri',
|
|
26070
26124
|
type: 'string',
|
|
26071
26125
|
},
|
|
26072
|
-
|
|
26073
|
-
description: '
|
|
26074
|
-
|
|
26075
|
-
type: '
|
|
26126
|
+
media_ids: {
|
|
26127
|
+
description: 'IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one.',
|
|
26128
|
+
items: { format: 'uuid', type: 'string' },
|
|
26129
|
+
type: 'array',
|
|
26076
26130
|
},
|
|
26077
26131
|
motion_sub_type: {
|
|
26078
26132
|
description: 'Sub-type of motion detected, if available.',
|
|
@@ -26159,6 +26213,11 @@ const openapi = {
|
|
|
26159
26213
|
format: 'uri',
|
|
26160
26214
|
type: 'string',
|
|
26161
26215
|
},
|
|
26216
|
+
media_ids: {
|
|
26217
|
+
description: 'IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one.',
|
|
26218
|
+
items: { format: 'uuid', type: 'string' },
|
|
26219
|
+
type: 'array',
|
|
26220
|
+
},
|
|
26162
26221
|
occurred_at: {
|
|
26163
26222
|
description: 'Date and time at which the event occurred.',
|
|
26164
26223
|
format: 'date-time',
|
|
@@ -26600,6 +26659,79 @@ const openapi = {
|
|
|
26600
26659
|
'x-route-path': '/unstable_partner/building_blocks',
|
|
26601
26660
|
'x-undocumented': 'Unreleased.',
|
|
26602
26661
|
},
|
|
26662
|
+
media: {
|
|
26663
|
+
description: 'Represents a piece of media, such as a video clip or a thumbnail image, that a device captured for an event. Media is in beta.',
|
|
26664
|
+
properties: {
|
|
26665
|
+
content_type: {
|
|
26666
|
+
description: 'MIME type of the media, such as `video/mp4` or `image/jpeg`.',
|
|
26667
|
+
nullable: true,
|
|
26668
|
+
type: 'string',
|
|
26669
|
+
},
|
|
26670
|
+
created_at: {
|
|
26671
|
+
description: 'Date and time at which the media was created.',
|
|
26672
|
+
format: 'date-time',
|
|
26673
|
+
type: 'string',
|
|
26674
|
+
},
|
|
26675
|
+
device_id: {
|
|
26676
|
+
description: 'ID of the device that captured the media.',
|
|
26677
|
+
format: 'uuid',
|
|
26678
|
+
nullable: true,
|
|
26679
|
+
type: 'string',
|
|
26680
|
+
},
|
|
26681
|
+
event_id: {
|
|
26682
|
+
description: 'ID of the event that the media belongs to.',
|
|
26683
|
+
format: 'uuid',
|
|
26684
|
+
nullable: true,
|
|
26685
|
+
type: 'string',
|
|
26686
|
+
},
|
|
26687
|
+
expires_at: {
|
|
26688
|
+
description: 'Date and time at which the media stops being available. Null when Seam does not know when the media expires.',
|
|
26689
|
+
format: 'date-time',
|
|
26690
|
+
nullable: true,
|
|
26691
|
+
type: 'string',
|
|
26692
|
+
},
|
|
26693
|
+
media_id: {
|
|
26694
|
+
description: 'ID of the media.',
|
|
26695
|
+
format: 'uuid',
|
|
26696
|
+
type: 'string',
|
|
26697
|
+
},
|
|
26698
|
+
media_type: {
|
|
26699
|
+
description: 'Type of the media: a video clip or a still image.',
|
|
26700
|
+
enum: ['video', 'image'],
|
|
26701
|
+
type: 'string',
|
|
26702
|
+
},
|
|
26703
|
+
status: {
|
|
26704
|
+
description: 'Status of the media. `pending` means that Seam is still retrieving the media. `available` means that `url` can be used to download it. `unavailable` means that no media exists for the event, and `failed` means that Seam could not retrieve it.',
|
|
26705
|
+
enum: ['pending', 'available', 'unavailable', 'failed'],
|
|
26706
|
+
type: 'string',
|
|
26707
|
+
},
|
|
26708
|
+
url: {
|
|
26709
|
+
description: 'Short-lived URL from which you can download the media. Null unless `status` is `available`. The URL expires after about five minutes. Call `/media/get` again for a new URL.',
|
|
26710
|
+
format: 'uri',
|
|
26711
|
+
nullable: true,
|
|
26712
|
+
type: 'string',
|
|
26713
|
+
},
|
|
26714
|
+
workspace_id: {
|
|
26715
|
+
description: 'ID of the workspace that contains the media.',
|
|
26716
|
+
format: 'uuid',
|
|
26717
|
+
type: 'string',
|
|
26718
|
+
},
|
|
26719
|
+
},
|
|
26720
|
+
required: [
|
|
26721
|
+
'media_id',
|
|
26722
|
+
'workspace_id',
|
|
26723
|
+
'device_id',
|
|
26724
|
+
'event_id',
|
|
26725
|
+
'media_type',
|
|
26726
|
+
'content_type',
|
|
26727
|
+
'status',
|
|
26728
|
+
'url',
|
|
26729
|
+
'expires_at',
|
|
26730
|
+
'created_at',
|
|
26731
|
+
],
|
|
26732
|
+
type: 'object',
|
|
26733
|
+
'x-route-path': '/media',
|
|
26734
|
+
},
|
|
26603
26735
|
noise_threshold: {
|
|
26604
26736
|
description: 'Represents a [noise threshold](https://www.seam.co/docs/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://www.seam.co/docs/capability-guides/noise-sensors). Thresholds represent the limits of noise tolerated at a property, which can be customized for each hour of the day. Each device has its own default thresholds, but you can use the Seam API to modify them.',
|
|
26605
26737
|
properties: {
|
|
@@ -32472,6 +32604,10 @@ const openapi = {
|
|
|
32472
32604
|
description: 'Indicates whether the device supports simulating removal in a sandbox.',
|
|
32473
32605
|
type: 'boolean',
|
|
32474
32606
|
},
|
|
32607
|
+
can_stream_live_video: {
|
|
32608
|
+
description: 'Indicates whether the camera supports streaming live video through a camera live view session.',
|
|
32609
|
+
type: 'boolean',
|
|
32610
|
+
},
|
|
32475
32611
|
can_turn_off_hvac: {
|
|
32476
32612
|
description: 'Indicates whether the thermostat can be turned off.',
|
|
32477
32613
|
type: 'boolean',
|
|
@@ -41928,7 +42064,7 @@ const openapi = {
|
|
|
41928
42064
|
},
|
|
41929
42065
|
'/cameras/live_views/create': {
|
|
41930
42066
|
post: {
|
|
41931
|
-
description: 'Creates a short-lived
|
|
42067
|
+
description: 'Creates a short-lived live view session for a single camera. Pass the returned session ID and token to `/cameras/live_views/offer` to start a WebRTC stream, and to `/cameras/live_views/stop` to end the session.\n\nCamera live view is in beta. To enable it for your workspace, contact Seam support. To check whether a camera supports live view, use `device.can_stream_live_video`.',
|
|
41932
42068
|
operationId: 'camerasLiveViewsCreatePost',
|
|
41933
42069
|
requestBody: {
|
|
41934
42070
|
content: {
|
|
@@ -41936,14 +42072,23 @@ const openapi = {
|
|
|
41936
42072
|
schema: {
|
|
41937
42073
|
additionalProperties: false,
|
|
41938
42074
|
properties: {
|
|
41939
|
-
device_id: {
|
|
42075
|
+
device_id: {
|
|
42076
|
+
description: 'ID of the camera to view.',
|
|
42077
|
+
format: 'uuid',
|
|
42078
|
+
type: 'string',
|
|
42079
|
+
},
|
|
41940
42080
|
duration_seconds: {
|
|
41941
42081
|
default: 600,
|
|
42082
|
+
description: 'Number of seconds for which the live view session is valid, up to 600.',
|
|
41942
42083
|
maximum: 600,
|
|
41943
42084
|
minimum: 1,
|
|
41944
42085
|
type: 'integer',
|
|
41945
42086
|
},
|
|
41946
|
-
include_audio: {
|
|
42087
|
+
include_audio: {
|
|
42088
|
+
default: false,
|
|
42089
|
+
description: "Indicates whether to include the camera's audio.",
|
|
42090
|
+
type: 'boolean',
|
|
42091
|
+
},
|
|
41947
42092
|
},
|
|
41948
42093
|
required: ['device_id'],
|
|
41949
42094
|
type: 'object',
|
|
@@ -41958,22 +42103,7 @@ const openapi = {
|
|
|
41958
42103
|
schema: {
|
|
41959
42104
|
properties: {
|
|
41960
42105
|
camera_live_view_session: {
|
|
41961
|
-
|
|
41962
|
-
camera_live_view_session_id: {
|
|
41963
|
-
format: 'uuid',
|
|
41964
|
-
type: 'string',
|
|
41965
|
-
},
|
|
41966
|
-
device_id: { format: 'uuid', type: 'string' },
|
|
41967
|
-
expires_at: { format: 'date-time', type: 'string' },
|
|
41968
|
-
token: { maxLength: 512, minLength: 1, type: 'string' },
|
|
41969
|
-
},
|
|
41970
|
-
required: [
|
|
41971
|
-
'camera_live_view_session_id',
|
|
41972
|
-
'device_id',
|
|
41973
|
-
'expires_at',
|
|
41974
|
-
'token',
|
|
41975
|
-
],
|
|
41976
|
-
type: 'object',
|
|
42106
|
+
$ref: '#/components/schemas/camera_live_view_session',
|
|
41977
42107
|
},
|
|
41978
42108
|
ok: { type: 'boolean' },
|
|
41979
42109
|
},
|
|
@@ -41995,12 +42125,11 @@ const openapi = {
|
|
|
41995
42125
|
'x-fern-sdk-return-value': 'camera_live_view_session',
|
|
41996
42126
|
'x-response-key': 'camera_live_view_session',
|
|
41997
42127
|
'x-title': 'Create a Camera Live View Session',
|
|
41998
|
-
'x-undocumented': 'Camera pilot; not yet for customer use.',
|
|
41999
42128
|
},
|
|
42000
42129
|
},
|
|
42001
42130
|
'/cameras/live_views/offer': {
|
|
42002
42131
|
post: {
|
|
42003
|
-
description: 'Exchanges
|
|
42132
|
+
description: 'Exchanges a WebRTC SDP offer for an SDP answer that starts streaming video from the camera, for a live view session that you created using `/cameras/live_views/create`.\n\nCamera live view is in beta. To enable it for your workspace, contact Seam support.',
|
|
42004
42133
|
operationId: 'camerasLiveViewsOfferPost',
|
|
42005
42134
|
requestBody: {
|
|
42006
42135
|
content: {
|
|
@@ -42009,16 +42138,22 @@ const openapi = {
|
|
|
42009
42138
|
additionalProperties: false,
|
|
42010
42139
|
properties: {
|
|
42011
42140
|
camera_live_view_session_id: {
|
|
42141
|
+
description: 'ID of the camera live view session.',
|
|
42012
42142
|
format: 'uuid',
|
|
42013
42143
|
type: 'string',
|
|
42014
42144
|
},
|
|
42015
42145
|
sdp_offer: {
|
|
42016
|
-
description: 'WebRTC SDP, limited to 64 KiB of UTF-8 data.',
|
|
42146
|
+
description: 'WebRTC SDP offer from the viewer, limited to 64 KiB of UTF-8 data.',
|
|
42017
42147
|
maxLength: 65_536,
|
|
42018
42148
|
minLength: 1,
|
|
42019
42149
|
type: 'string',
|
|
42020
42150
|
},
|
|
42021
|
-
token: {
|
|
42151
|
+
token: {
|
|
42152
|
+
description: 'Token returned when the camera live view session was created.',
|
|
42153
|
+
maxLength: 512,
|
|
42154
|
+
minLength: 1,
|
|
42155
|
+
type: 'string',
|
|
42156
|
+
},
|
|
42022
42157
|
},
|
|
42023
42158
|
required: ['camera_live_view_session_id', 'token', 'sdp_offer'],
|
|
42024
42159
|
type: 'object',
|
|
@@ -42032,15 +42167,12 @@ const openapi = {
|
|
|
42032
42167
|
'application/json': {
|
|
42033
42168
|
schema: {
|
|
42034
42169
|
properties: {
|
|
42035
|
-
|
|
42036
|
-
|
|
42037
|
-
description: 'WebRTC SDP, limited to 64 KiB of UTF-8 data.',
|
|
42038
|
-
maxLength: 65_536,
|
|
42039
|
-
minLength: 1,
|
|
42040
|
-
type: 'string',
|
|
42170
|
+
camera_live_view_answer: {
|
|
42171
|
+
$ref: '#/components/schemas/camera_live_view_answer',
|
|
42041
42172
|
},
|
|
42173
|
+
ok: { type: 'boolean' },
|
|
42042
42174
|
},
|
|
42043
|
-
required: ['
|
|
42175
|
+
required: ['camera_live_view_answer', 'ok'],
|
|
42044
42176
|
type: 'object',
|
|
42045
42177
|
},
|
|
42046
42178
|
},
|
|
@@ -42055,14 +42187,14 @@ const openapi = {
|
|
|
42055
42187
|
tags: [],
|
|
42056
42188
|
'x-fern-sdk-group-name': ['cameras', 'live_views'],
|
|
42057
42189
|
'x-fern-sdk-method-name': 'offer',
|
|
42058
|
-
'x-
|
|
42190
|
+
'x-fern-sdk-return-value': 'camera_live_view_answer',
|
|
42191
|
+
'x-response-key': 'camera_live_view_answer',
|
|
42059
42192
|
'x-title': 'Negotiate a Camera Live View',
|
|
42060
|
-
'x-undocumented': 'Camera pilot; not yet for customer use.',
|
|
42061
42193
|
},
|
|
42062
42194
|
},
|
|
42063
42195
|
'/cameras/live_views/stop': {
|
|
42064
42196
|
post: {
|
|
42065
|
-
description: 'Stops a camera live view session
|
|
42197
|
+
description: 'Stops a camera live view session that the current client session owns.\n\nCamera live view is in beta. To enable it for your workspace, contact Seam support.',
|
|
42066
42198
|
operationId: 'camerasLiveViewsStopPost',
|
|
42067
42199
|
requestBody: {
|
|
42068
42200
|
content: {
|
|
@@ -42071,10 +42203,16 @@ const openapi = {
|
|
|
42071
42203
|
additionalProperties: false,
|
|
42072
42204
|
properties: {
|
|
42073
42205
|
camera_live_view_session_id: {
|
|
42206
|
+
description: 'ID of the camera live view session.',
|
|
42074
42207
|
format: 'uuid',
|
|
42075
42208
|
type: 'string',
|
|
42076
42209
|
},
|
|
42077
|
-
token: {
|
|
42210
|
+
token: {
|
|
42211
|
+
description: 'Token returned when the camera live view session was created.',
|
|
42212
|
+
maxLength: 512,
|
|
42213
|
+
minLength: 1,
|
|
42214
|
+
type: 'string',
|
|
42215
|
+
},
|
|
42078
42216
|
},
|
|
42079
42217
|
required: ['camera_live_view_session_id', 'token'],
|
|
42080
42218
|
type: 'object',
|
|
@@ -42105,7 +42243,6 @@ const openapi = {
|
|
|
42105
42243
|
'x-fern-sdk-method-name': 'stop',
|
|
42106
42244
|
'x-response-key': null,
|
|
42107
42245
|
'x-title': 'Stop a Camera Live View Session',
|
|
42108
|
-
'x-undocumented': 'Camera pilot; not yet for customer use.',
|
|
42109
42246
|
},
|
|
42110
42247
|
},
|
|
42111
42248
|
'/client_sessions/create': {
|
|
@@ -46270,6 +46407,7 @@ const openapi = {
|
|
|
46270
46407
|
'can_simulate_hub_disconnection',
|
|
46271
46408
|
'can_simulate_paid_subscription',
|
|
46272
46409
|
'can_configure_auto_lock',
|
|
46410
|
+
'can_stream_live_video',
|
|
46273
46411
|
],
|
|
46274
46412
|
type: 'string',
|
|
46275
46413
|
},
|
|
@@ -46304,6 +46442,7 @@ const openapi = {
|
|
|
46304
46442
|
'can_simulate_hub_disconnection',
|
|
46305
46443
|
'can_simulate_paid_subscription',
|
|
46306
46444
|
'can_configure_auto_lock',
|
|
46445
|
+
'can_stream_live_video',
|
|
46307
46446
|
],
|
|
46308
46447
|
type: 'string',
|
|
46309
46448
|
},
|
|
@@ -48514,6 +48653,7 @@ const openapi = {
|
|
|
48514
48653
|
'can_simulate_hub_disconnection',
|
|
48515
48654
|
'can_simulate_paid_subscription',
|
|
48516
48655
|
'can_configure_auto_lock',
|
|
48656
|
+
'can_stream_live_video',
|
|
48517
48657
|
],
|
|
48518
48658
|
type: 'string',
|
|
48519
48659
|
},
|
|
@@ -48548,6 +48688,7 @@ const openapi = {
|
|
|
48548
48688
|
'can_simulate_hub_disconnection',
|
|
48549
48689
|
'can_simulate_paid_subscription',
|
|
48550
48690
|
'can_configure_auto_lock',
|
|
48691
|
+
'can_stream_live_video',
|
|
48551
48692
|
],
|
|
48552
48693
|
type: 'string',
|
|
48553
48694
|
},
|
|
@@ -50117,6 +50258,70 @@ const openapi = {
|
|
|
50117
50258
|
'x-title': 'Unlock a Lock',
|
|
50118
50259
|
},
|
|
50119
50260
|
},
|
|
50261
|
+
'/media/get': {
|
|
50262
|
+
get: {
|
|
50263
|
+
description: 'Returns a specified piece of media, such as a video clip or thumbnail image captured for a camera event, with a short-lived URL from which you can download it. Camera events list their media in `media_ids`. This endpoint is in beta.',
|
|
50264
|
+
operationId: 'mediaGetGet',
|
|
50265
|
+
parameters: [
|
|
50266
|
+
{
|
|
50267
|
+
in: 'query',
|
|
50268
|
+
name: 'media_id',
|
|
50269
|
+
required: true,
|
|
50270
|
+
schema: {
|
|
50271
|
+
description: 'ID of the media that you want to get.',
|
|
50272
|
+
format: 'uuid',
|
|
50273
|
+
type: 'string',
|
|
50274
|
+
},
|
|
50275
|
+
},
|
|
50276
|
+
{
|
|
50277
|
+
in: 'query',
|
|
50278
|
+
name: 'format',
|
|
50279
|
+
required: false,
|
|
50280
|
+
schema: {
|
|
50281
|
+
default: 'json',
|
|
50282
|
+
description: "Response format. `json` returns the media object. `redirect` responds with a `302` redirect to the media's download URL, so you can use this endpoint directly as the source of an image or video.",
|
|
50283
|
+
enum: ['json', 'redirect'],
|
|
50284
|
+
type: 'string',
|
|
50285
|
+
},
|
|
50286
|
+
},
|
|
50287
|
+
],
|
|
50288
|
+
responses: {
|
|
50289
|
+
'200': {
|
|
50290
|
+
content: {
|
|
50291
|
+
'application/json': {
|
|
50292
|
+
schema: {
|
|
50293
|
+
properties: {
|
|
50294
|
+
media: { $ref: '#/components/schemas/media' },
|
|
50295
|
+
ok: { type: 'boolean' },
|
|
50296
|
+
},
|
|
50297
|
+
required: ['media', 'ok'],
|
|
50298
|
+
type: 'object',
|
|
50299
|
+
},
|
|
50300
|
+
},
|
|
50301
|
+
},
|
|
50302
|
+
description: 'OK',
|
|
50303
|
+
},
|
|
50304
|
+
'400': { description: 'Bad Request' },
|
|
50305
|
+
'401': { description: 'Unauthorized' },
|
|
50306
|
+
},
|
|
50307
|
+
security: [
|
|
50308
|
+
{ api_key: [] },
|
|
50309
|
+
{ pat_with_workspace: [] },
|
|
50310
|
+
{ console_session_with_workspace: [] },
|
|
50311
|
+
{ client_session: [] },
|
|
50312
|
+
{ client_session_with_customer: [] },
|
|
50313
|
+
{ client_session_with_customer_ro: [] },
|
|
50314
|
+
{ support_read_only_token: [] },
|
|
50315
|
+
],
|
|
50316
|
+
summary: '/media/get',
|
|
50317
|
+
tags: [],
|
|
50318
|
+
'x-fern-sdk-group-name': ['media'],
|
|
50319
|
+
'x-fern-sdk-method-name': 'get',
|
|
50320
|
+
'x-fern-sdk-return-value': 'media',
|
|
50321
|
+
'x-response-key': 'media',
|
|
50322
|
+
'x-title': 'Get Media',
|
|
50323
|
+
},
|
|
50324
|
+
},
|
|
50120
50325
|
'/noise_sensors/list': {
|
|
50121
50326
|
get: {
|
|
50122
50327
|
description: 'Returns a list of all [noise sensors](https://www.seam.co/docs/capability-guides/noise-sensors).',
|