@raster-app/sdk 0.1.0-canary-2e1834e
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/LICENSE +21 -0
- package/README.md +83 -0
- package/dist/__generated__/openapi.d.ts +1096 -0
- package/dist/__generated__/openapi.js +2 -0
- package/dist/__generated__/openapi.js.map +1 -0
- package/dist/adapters/index.d.ts +31 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/local-storage.d.ts +3 -0
- package/dist/adapters/local-storage.js +49 -0
- package/dist/adapters/local-storage.js.map +1 -0
- package/dist/adapters/memory.d.ts +7 -0
- package/dist/adapters/memory.js +19 -0
- package/dist/adapters/memory.js.map +1 -0
- package/dist/api/assets.d.ts +41 -0
- package/dist/api/assets.js +70 -0
- package/dist/api/assets.js.map +1 -0
- package/dist/api/errors.d.ts +22 -0
- package/dist/api/errors.js +80 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/libraries.d.ts +16 -0
- package/dist/api/libraries.js +22 -0
- package/dist/api/libraries.js.map +1 -0
- package/dist/api/me.d.ts +40 -0
- package/dist/api/me.js +39 -0
- package/dist/api/me.js.map +1 -0
- package/dist/api/promote.d.ts +36 -0
- package/dist/api/promote.js +29 -0
- package/dist/api/promote.js.map +1 -0
- package/dist/api/search.d.ts +25 -0
- package/dist/api/search.js +21 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/transport.d.ts +43 -0
- package/dist/api/transport.js +90 -0
- package/dist/api/transport.js.map +1 -0
- package/dist/api/upload.d.ts +40 -0
- package/dist/api/upload.js +60 -0
- package/dist/api/upload.js.map +1 -0
- package/dist/auth/device.d.ts +32 -0
- package/dist/auth/device.js +70 -0
- package/dist/auth/device.js.map +1 -0
- package/dist/auth/http.d.ts +25 -0
- package/dist/auth/http.js +70 -0
- package/dist/auth/http.js.map +1 -0
- package/dist/auth/register.d.ts +14 -0
- package/dist/auth/register.js +21 -0
- package/dist/auth/register.js.map +1 -0
- package/dist/auth/session.d.ts +30 -0
- package/dist/auth/session.js +231 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/tokens.d.ts +10 -0
- package/dist/auth/tokens.js +20 -0
- package/dist/auth/tokens.js.map +1 -0
- package/dist/client.d.ts +138 -0
- package/dist/client.js +122 -0
- package/dist/client.js.map +1 -0
- package/dist/constants.d.ts +18 -0
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -0
- package/dist/format.d.ts +13 -0
- package/dist/format.js +83 -0
- package/dist/format.js.map +1 -0
- package/dist/images/blurhash-placeholder.d.ts +5 -0
- package/dist/images/blurhash-placeholder.js +47 -0
- package/dist/images/blurhash-placeholder.js.map +1 -0
- package/dist/images/blurhash.d.ts +2 -0
- package/dist/images/blurhash.js +77 -0
- package/dist/images/blurhash.js.map +1 -0
- package/dist/images/image-src.d.ts +42 -0
- package/dist/images/image-src.js +83 -0
- package/dist/images/image-src.js.map +1 -0
- package/dist/images/sizes.d.ts +15 -0
- package/dist/images/sizes.js +41 -0
- package/dist/images/sizes.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/types/asset.d.ts +50 -0
- package/dist/types/asset.js +23 -0
- package/dist/types/asset.js.map +1 -0
- package/dist/types/library.d.ts +21 -0
- package/dist/types/library.js +2 -0
- package/dist/types/library.js.map +1 -0
- package/dist/types/session.d.ts +59 -0
- package/dist/types/session.js +21 -0
- package/dist/types/session.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,1096 @@
|
|
|
1
|
+
export interface paths {
|
|
2
|
+
"/me": {
|
|
3
|
+
parameters: {
|
|
4
|
+
query?: never;
|
|
5
|
+
header?: never;
|
|
6
|
+
path?: never;
|
|
7
|
+
cookie?: never;
|
|
8
|
+
};
|
|
9
|
+
/** Resolve the credential's organization and library scope. */
|
|
10
|
+
get: {
|
|
11
|
+
parameters: {
|
|
12
|
+
query?: never;
|
|
13
|
+
header: {
|
|
14
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
15
|
+
};
|
|
16
|
+
path?: never;
|
|
17
|
+
cookie?: never;
|
|
18
|
+
};
|
|
19
|
+
requestBody?: never;
|
|
20
|
+
responses: {
|
|
21
|
+
/** @description OK */
|
|
22
|
+
200: {
|
|
23
|
+
headers: {
|
|
24
|
+
[name: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
content: {
|
|
27
|
+
"application/json": {
|
|
28
|
+
data: components["schemas"]["Me"];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
401: components["responses"]["Unauthorized"];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
put?: never;
|
|
36
|
+
post?: never;
|
|
37
|
+
delete?: never;
|
|
38
|
+
options?: never;
|
|
39
|
+
head?: never;
|
|
40
|
+
patch?: never;
|
|
41
|
+
trace?: never;
|
|
42
|
+
};
|
|
43
|
+
"/libraries": {
|
|
44
|
+
parameters: {
|
|
45
|
+
query?: never;
|
|
46
|
+
header?: never;
|
|
47
|
+
path?: never;
|
|
48
|
+
cookie?: never;
|
|
49
|
+
};
|
|
50
|
+
get?: never;
|
|
51
|
+
put?: never;
|
|
52
|
+
/**
|
|
53
|
+
* Create an organization, library, and API key with no account.
|
|
54
|
+
* @description Anonymous — mints the key, so send no Authorization header. https://raster.app/docs/guides/start-without-an-account
|
|
55
|
+
*/
|
|
56
|
+
post: {
|
|
57
|
+
parameters: {
|
|
58
|
+
query?: never;
|
|
59
|
+
header: {
|
|
60
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
61
|
+
};
|
|
62
|
+
path?: never;
|
|
63
|
+
cookie?: never;
|
|
64
|
+
};
|
|
65
|
+
requestBody: {
|
|
66
|
+
content: {
|
|
67
|
+
"application/json": {
|
|
68
|
+
/** Format: email */
|
|
69
|
+
email: string;
|
|
70
|
+
name?: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
responses: {
|
|
75
|
+
/** @description OK */
|
|
76
|
+
200: {
|
|
77
|
+
headers: {
|
|
78
|
+
[name: string]: unknown;
|
|
79
|
+
};
|
|
80
|
+
content: {
|
|
81
|
+
"application/json": {
|
|
82
|
+
data: {
|
|
83
|
+
organizationId: string;
|
|
84
|
+
libraryId: string;
|
|
85
|
+
apiKey: string;
|
|
86
|
+
/** Format: uri */
|
|
87
|
+
claimUrl: string;
|
|
88
|
+
/** Format: date-time */
|
|
89
|
+
expiresAt: string;
|
|
90
|
+
emailSent: boolean;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
400: components["responses"]["BadRequest"];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
delete?: never;
|
|
99
|
+
options?: never;
|
|
100
|
+
head?: never;
|
|
101
|
+
patch?: never;
|
|
102
|
+
trace?: never;
|
|
103
|
+
};
|
|
104
|
+
"/organizations/{organizationId}/libraries": {
|
|
105
|
+
parameters: {
|
|
106
|
+
query?: never;
|
|
107
|
+
header?: never;
|
|
108
|
+
path?: never;
|
|
109
|
+
cookie?: never;
|
|
110
|
+
};
|
|
111
|
+
/** List libraries the key can reach. */
|
|
112
|
+
get: {
|
|
113
|
+
parameters: {
|
|
114
|
+
query?: {
|
|
115
|
+
/** @description Zero-based page index. */
|
|
116
|
+
page?: number;
|
|
117
|
+
pageSize?: number;
|
|
118
|
+
};
|
|
119
|
+
header: {
|
|
120
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
121
|
+
};
|
|
122
|
+
path: {
|
|
123
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
124
|
+
};
|
|
125
|
+
cookie?: never;
|
|
126
|
+
};
|
|
127
|
+
requestBody?: never;
|
|
128
|
+
responses: {
|
|
129
|
+
/** @description OK */
|
|
130
|
+
200: {
|
|
131
|
+
headers: {
|
|
132
|
+
[name: string]: unknown;
|
|
133
|
+
};
|
|
134
|
+
content: {
|
|
135
|
+
"application/json": {
|
|
136
|
+
data: components["schemas"]["Library"][];
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
401: components["responses"]["Unauthorized"];
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
put?: never;
|
|
144
|
+
/** Create a library in this organization. */
|
|
145
|
+
post: {
|
|
146
|
+
parameters: {
|
|
147
|
+
query?: never;
|
|
148
|
+
header: {
|
|
149
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
150
|
+
};
|
|
151
|
+
path: {
|
|
152
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
153
|
+
};
|
|
154
|
+
cookie?: never;
|
|
155
|
+
};
|
|
156
|
+
requestBody: {
|
|
157
|
+
content: {
|
|
158
|
+
"application/json": {
|
|
159
|
+
name: string;
|
|
160
|
+
slug?: string;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
responses: {
|
|
165
|
+
/** @description Created */
|
|
166
|
+
201: {
|
|
167
|
+
headers: {
|
|
168
|
+
[name: string]: unknown;
|
|
169
|
+
};
|
|
170
|
+
content: {
|
|
171
|
+
"application/json": {
|
|
172
|
+
data: components["schemas"]["Library"];
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
400: components["responses"]["BadRequest"];
|
|
177
|
+
401: components["responses"]["Unauthorized"];
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
delete?: never;
|
|
181
|
+
options?: never;
|
|
182
|
+
head?: never;
|
|
183
|
+
patch?: never;
|
|
184
|
+
trace?: never;
|
|
185
|
+
};
|
|
186
|
+
"/organizations/{organizationId}/libraries/{libraryId}": {
|
|
187
|
+
parameters: {
|
|
188
|
+
query?: never;
|
|
189
|
+
header?: never;
|
|
190
|
+
path?: never;
|
|
191
|
+
cookie?: never;
|
|
192
|
+
};
|
|
193
|
+
get?: never;
|
|
194
|
+
put?: never;
|
|
195
|
+
post?: never;
|
|
196
|
+
delete?: never;
|
|
197
|
+
options?: never;
|
|
198
|
+
head?: never;
|
|
199
|
+
/** Rename a library. */
|
|
200
|
+
patch: {
|
|
201
|
+
parameters: {
|
|
202
|
+
query?: never;
|
|
203
|
+
header: {
|
|
204
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
205
|
+
};
|
|
206
|
+
path: {
|
|
207
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
208
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
209
|
+
};
|
|
210
|
+
cookie?: never;
|
|
211
|
+
};
|
|
212
|
+
requestBody: {
|
|
213
|
+
content: {
|
|
214
|
+
"application/json": {
|
|
215
|
+
name: string;
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
responses: {
|
|
220
|
+
/** @description OK */
|
|
221
|
+
200: {
|
|
222
|
+
headers: {
|
|
223
|
+
[name: string]: unknown;
|
|
224
|
+
};
|
|
225
|
+
content: {
|
|
226
|
+
"application/json": {
|
|
227
|
+
data: components["schemas"]["Library"];
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
404: components["responses"]["NotFound"];
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
trace?: never;
|
|
235
|
+
};
|
|
236
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets": {
|
|
237
|
+
parameters: {
|
|
238
|
+
query?: never;
|
|
239
|
+
header?: never;
|
|
240
|
+
path?: never;
|
|
241
|
+
cookie?: never;
|
|
242
|
+
};
|
|
243
|
+
/** List assets (paginated, optional tag filter). */
|
|
244
|
+
get: {
|
|
245
|
+
parameters: {
|
|
246
|
+
query?: {
|
|
247
|
+
page?: number;
|
|
248
|
+
pageSize?: number;
|
|
249
|
+
/** @description Comma-separated tag filter, up to 50. */
|
|
250
|
+
tags?: string;
|
|
251
|
+
};
|
|
252
|
+
header: {
|
|
253
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
254
|
+
};
|
|
255
|
+
path: {
|
|
256
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
257
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
258
|
+
};
|
|
259
|
+
cookie?: never;
|
|
260
|
+
};
|
|
261
|
+
requestBody?: never;
|
|
262
|
+
responses: {
|
|
263
|
+
/** @description OK */
|
|
264
|
+
200: {
|
|
265
|
+
headers: {
|
|
266
|
+
[name: string]: unknown;
|
|
267
|
+
};
|
|
268
|
+
content: {
|
|
269
|
+
"application/json": {
|
|
270
|
+
data: components["schemas"]["Asset"][];
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
401: components["responses"]["Unauthorized"];
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
put?: never;
|
|
278
|
+
/** Upload up to 20 files. */
|
|
279
|
+
post: {
|
|
280
|
+
parameters: {
|
|
281
|
+
query?: never;
|
|
282
|
+
header: {
|
|
283
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
284
|
+
};
|
|
285
|
+
path: {
|
|
286
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
287
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
288
|
+
};
|
|
289
|
+
cookie?: never;
|
|
290
|
+
};
|
|
291
|
+
requestBody: {
|
|
292
|
+
content: {
|
|
293
|
+
"multipart/form-data": {
|
|
294
|
+
files: string[];
|
|
295
|
+
/** @description Attach the uploaded file as a variant of this asset. Send exactly one file with it. The asset must be an original in this library, of the same media kind as the file. */
|
|
296
|
+
parentId?: string;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
responses: {
|
|
301
|
+
/** @description OK */
|
|
302
|
+
200: {
|
|
303
|
+
headers: {
|
|
304
|
+
[name: string]: unknown;
|
|
305
|
+
};
|
|
306
|
+
content: {
|
|
307
|
+
"application/json": {
|
|
308
|
+
data: {
|
|
309
|
+
responseText: string;
|
|
310
|
+
assets: components["schemas"]["Asset"][];
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
400: components["responses"]["BadRequest"];
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* Move up to 100 assets to trash (soft delete).
|
|
320
|
+
* @description Soft delete — assets stay recoverable from trash until the 30-day reaper. Trashing an asset also trashes its variants; a variant id on its own is rejected with 400.
|
|
321
|
+
*/
|
|
322
|
+
delete: {
|
|
323
|
+
parameters: {
|
|
324
|
+
query?: never;
|
|
325
|
+
header: {
|
|
326
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
327
|
+
};
|
|
328
|
+
path: {
|
|
329
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
330
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
331
|
+
};
|
|
332
|
+
cookie?: never;
|
|
333
|
+
};
|
|
334
|
+
requestBody: {
|
|
335
|
+
content: {
|
|
336
|
+
"application/json": {
|
|
337
|
+
ids: string[];
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
responses: {
|
|
342
|
+
/** @description OK */
|
|
343
|
+
200: {
|
|
344
|
+
headers: {
|
|
345
|
+
[name: string]: unknown;
|
|
346
|
+
};
|
|
347
|
+
content: {
|
|
348
|
+
"application/json": {
|
|
349
|
+
data: {
|
|
350
|
+
success: boolean;
|
|
351
|
+
message: string;
|
|
352
|
+
ids: string[];
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
options?: never;
|
|
360
|
+
head?: never;
|
|
361
|
+
patch?: never;
|
|
362
|
+
trace?: never;
|
|
363
|
+
};
|
|
364
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/{assetId}": {
|
|
365
|
+
parameters: {
|
|
366
|
+
query?: never;
|
|
367
|
+
header?: never;
|
|
368
|
+
path?: never;
|
|
369
|
+
cookie?: never;
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* Get one asset by id.
|
|
373
|
+
* @description Returns the full asset, including its non-destructive variants in the `variants` field; each variant carries its own tags/description — fetch a variant by its id for those.
|
|
374
|
+
*/
|
|
375
|
+
get: {
|
|
376
|
+
parameters: {
|
|
377
|
+
query?: never;
|
|
378
|
+
header: {
|
|
379
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
380
|
+
};
|
|
381
|
+
path: {
|
|
382
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
383
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
384
|
+
assetId: components["parameters"]["AssetId"];
|
|
385
|
+
};
|
|
386
|
+
cookie?: never;
|
|
387
|
+
};
|
|
388
|
+
requestBody?: never;
|
|
389
|
+
responses: {
|
|
390
|
+
/** @description OK */
|
|
391
|
+
200: {
|
|
392
|
+
headers: {
|
|
393
|
+
[name: string]: unknown;
|
|
394
|
+
};
|
|
395
|
+
content: {
|
|
396
|
+
"application/json": {
|
|
397
|
+
data: components["schemas"]["Asset"];
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
404: components["responses"]["NotFound"];
|
|
402
|
+
};
|
|
403
|
+
};
|
|
404
|
+
put?: never;
|
|
405
|
+
post?: never;
|
|
406
|
+
delete?: never;
|
|
407
|
+
options?: never;
|
|
408
|
+
head?: never;
|
|
409
|
+
patch?: never;
|
|
410
|
+
trace?: never;
|
|
411
|
+
};
|
|
412
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/{assetId}/description": {
|
|
413
|
+
parameters: {
|
|
414
|
+
query?: never;
|
|
415
|
+
header?: never;
|
|
416
|
+
path?: never;
|
|
417
|
+
cookie?: never;
|
|
418
|
+
};
|
|
419
|
+
get?: never;
|
|
420
|
+
put?: never;
|
|
421
|
+
post?: never;
|
|
422
|
+
delete?: never;
|
|
423
|
+
options?: never;
|
|
424
|
+
head?: never;
|
|
425
|
+
/** Replace one asset's description. */
|
|
426
|
+
patch: {
|
|
427
|
+
parameters: {
|
|
428
|
+
query?: never;
|
|
429
|
+
header: {
|
|
430
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
431
|
+
};
|
|
432
|
+
path: {
|
|
433
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
434
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
435
|
+
assetId: components["parameters"]["AssetId"];
|
|
436
|
+
};
|
|
437
|
+
cookie?: never;
|
|
438
|
+
};
|
|
439
|
+
requestBody: {
|
|
440
|
+
content: {
|
|
441
|
+
"application/json": {
|
|
442
|
+
description: string;
|
|
443
|
+
};
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
responses: {
|
|
447
|
+
/** @description OK */
|
|
448
|
+
200: {
|
|
449
|
+
headers: {
|
|
450
|
+
[name: string]: unknown;
|
|
451
|
+
};
|
|
452
|
+
content: {
|
|
453
|
+
"application/json": {
|
|
454
|
+
data: {
|
|
455
|
+
assetId: string;
|
|
456
|
+
description: string;
|
|
457
|
+
};
|
|
458
|
+
};
|
|
459
|
+
};
|
|
460
|
+
};
|
|
461
|
+
};
|
|
462
|
+
};
|
|
463
|
+
trace?: never;
|
|
464
|
+
};
|
|
465
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/{assetId}/promote": {
|
|
466
|
+
parameters: {
|
|
467
|
+
query?: never;
|
|
468
|
+
header?: never;
|
|
469
|
+
path?: never;
|
|
470
|
+
cookie?: never;
|
|
471
|
+
};
|
|
472
|
+
get?: never;
|
|
473
|
+
put?: never;
|
|
474
|
+
/**
|
|
475
|
+
* Make a variant the asset's default.
|
|
476
|
+
* @description The variant's pixels replace what the asset serves, at the SAME URL, so anything already embedding that URL shows the new file. The previous default is preserved as a new variant and keeps the name it had; the asset keeps its id and URL and takes the promoted variant's name. Its description and the tags generated from its image follow the picture — the promoted variant hands over any it carries, and the preserved variant keeps the ones that described it, while tags you added yourself stay on the asset. Rejected while the asset is itself still being processed (a video whose poster has not landed yet). The promote is accepted and the swap completes a moment later; re-fetch the asset to see it reflected.
|
|
477
|
+
*/
|
|
478
|
+
post: {
|
|
479
|
+
parameters: {
|
|
480
|
+
query?: never;
|
|
481
|
+
header: {
|
|
482
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
483
|
+
};
|
|
484
|
+
path: {
|
|
485
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
486
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
487
|
+
assetId: components["parameters"]["AssetId"];
|
|
488
|
+
};
|
|
489
|
+
cookie?: never;
|
|
490
|
+
};
|
|
491
|
+
requestBody: {
|
|
492
|
+
content: {
|
|
493
|
+
"application/json": {
|
|
494
|
+
variantId: string;
|
|
495
|
+
};
|
|
496
|
+
};
|
|
497
|
+
};
|
|
498
|
+
responses: {
|
|
499
|
+
/** @description OK */
|
|
500
|
+
200: {
|
|
501
|
+
headers: {
|
|
502
|
+
[name: string]: unknown;
|
|
503
|
+
};
|
|
504
|
+
content: {
|
|
505
|
+
"application/json": {
|
|
506
|
+
data: {
|
|
507
|
+
assetId: string;
|
|
508
|
+
promotedVariantId: string;
|
|
509
|
+
demotedVariantId: string;
|
|
510
|
+
};
|
|
511
|
+
};
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
};
|
|
515
|
+
};
|
|
516
|
+
delete?: never;
|
|
517
|
+
options?: never;
|
|
518
|
+
head?: never;
|
|
519
|
+
patch?: never;
|
|
520
|
+
trace?: never;
|
|
521
|
+
};
|
|
522
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/tag": {
|
|
523
|
+
parameters: {
|
|
524
|
+
query?: never;
|
|
525
|
+
header?: never;
|
|
526
|
+
path?: never;
|
|
527
|
+
cookie?: never;
|
|
528
|
+
};
|
|
529
|
+
get?: never;
|
|
530
|
+
put?: never;
|
|
531
|
+
/** Apply up to 20 tags to up to 100 assets. */
|
|
532
|
+
post: {
|
|
533
|
+
parameters: {
|
|
534
|
+
query?: never;
|
|
535
|
+
header: {
|
|
536
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
537
|
+
};
|
|
538
|
+
path: {
|
|
539
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
540
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
541
|
+
};
|
|
542
|
+
cookie?: never;
|
|
543
|
+
};
|
|
544
|
+
requestBody: {
|
|
545
|
+
content: {
|
|
546
|
+
"application/json": {
|
|
547
|
+
assetIds: string[];
|
|
548
|
+
tags: string[];
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
};
|
|
552
|
+
responses: {
|
|
553
|
+
/** @description OK */
|
|
554
|
+
200: {
|
|
555
|
+
headers: {
|
|
556
|
+
[name: string]: unknown;
|
|
557
|
+
};
|
|
558
|
+
content: {
|
|
559
|
+
"application/json": {
|
|
560
|
+
data: {
|
|
561
|
+
taggedCount: number;
|
|
562
|
+
};
|
|
563
|
+
};
|
|
564
|
+
};
|
|
565
|
+
};
|
|
566
|
+
};
|
|
567
|
+
};
|
|
568
|
+
delete?: never;
|
|
569
|
+
options?: never;
|
|
570
|
+
head?: never;
|
|
571
|
+
patch?: never;
|
|
572
|
+
trace?: never;
|
|
573
|
+
};
|
|
574
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/untag": {
|
|
575
|
+
parameters: {
|
|
576
|
+
query?: never;
|
|
577
|
+
header?: never;
|
|
578
|
+
path?: never;
|
|
579
|
+
cookie?: never;
|
|
580
|
+
};
|
|
581
|
+
get?: never;
|
|
582
|
+
put?: never;
|
|
583
|
+
/** Remove up to 20 tags from up to 100 assets. */
|
|
584
|
+
post: {
|
|
585
|
+
parameters: {
|
|
586
|
+
query?: never;
|
|
587
|
+
header: {
|
|
588
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
589
|
+
};
|
|
590
|
+
path: {
|
|
591
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
592
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
593
|
+
};
|
|
594
|
+
cookie?: never;
|
|
595
|
+
};
|
|
596
|
+
requestBody: {
|
|
597
|
+
content: {
|
|
598
|
+
"application/json": {
|
|
599
|
+
assetIds: string[];
|
|
600
|
+
tags: string[];
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
};
|
|
604
|
+
responses: {
|
|
605
|
+
/** @description OK */
|
|
606
|
+
200: {
|
|
607
|
+
headers: {
|
|
608
|
+
[name: string]: unknown;
|
|
609
|
+
};
|
|
610
|
+
content: {
|
|
611
|
+
"application/json": {
|
|
612
|
+
data: {
|
|
613
|
+
untaggedCount: number;
|
|
614
|
+
};
|
|
615
|
+
};
|
|
616
|
+
};
|
|
617
|
+
};
|
|
618
|
+
};
|
|
619
|
+
};
|
|
620
|
+
delete?: never;
|
|
621
|
+
options?: never;
|
|
622
|
+
head?: never;
|
|
623
|
+
patch?: never;
|
|
624
|
+
trace?: never;
|
|
625
|
+
};
|
|
626
|
+
"/organizations/{organizationId}/libraries/{libraryId}/assets/transfer": {
|
|
627
|
+
parameters: {
|
|
628
|
+
query?: never;
|
|
629
|
+
header?: never;
|
|
630
|
+
path?: never;
|
|
631
|
+
cookie?: never;
|
|
632
|
+
};
|
|
633
|
+
get?: never;
|
|
634
|
+
put?: never;
|
|
635
|
+
/**
|
|
636
|
+
* Move up to 100 assets to another library.
|
|
637
|
+
* @description An asset's variants move with it; a variant cannot be transferred on its own — transfer its original and the variants follow.
|
|
638
|
+
*/
|
|
639
|
+
post: {
|
|
640
|
+
parameters: {
|
|
641
|
+
query?: never;
|
|
642
|
+
header: {
|
|
643
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
644
|
+
};
|
|
645
|
+
path: {
|
|
646
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
647
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
648
|
+
};
|
|
649
|
+
cookie?: never;
|
|
650
|
+
};
|
|
651
|
+
requestBody: {
|
|
652
|
+
content: {
|
|
653
|
+
"application/json": {
|
|
654
|
+
targetLibraryId: string;
|
|
655
|
+
assetIds: string[];
|
|
656
|
+
};
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
responses: {
|
|
660
|
+
/** @description OK */
|
|
661
|
+
200: {
|
|
662
|
+
headers: {
|
|
663
|
+
[name: string]: unknown;
|
|
664
|
+
};
|
|
665
|
+
content: {
|
|
666
|
+
"application/json": {
|
|
667
|
+
data: {
|
|
668
|
+
transferredCount: number;
|
|
669
|
+
sourceLibraryId: string;
|
|
670
|
+
targetLibraryId: string;
|
|
671
|
+
};
|
|
672
|
+
};
|
|
673
|
+
};
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
};
|
|
677
|
+
delete?: never;
|
|
678
|
+
options?: never;
|
|
679
|
+
head?: never;
|
|
680
|
+
patch?: never;
|
|
681
|
+
trace?: never;
|
|
682
|
+
};
|
|
683
|
+
"/organizations/{organizationId}/libraries/{libraryId}/tags": {
|
|
684
|
+
parameters: {
|
|
685
|
+
query?: never;
|
|
686
|
+
header?: never;
|
|
687
|
+
path?: never;
|
|
688
|
+
cookie?: never;
|
|
689
|
+
};
|
|
690
|
+
/** List a library's tags by usage count. */
|
|
691
|
+
get: {
|
|
692
|
+
parameters: {
|
|
693
|
+
query?: {
|
|
694
|
+
limit?: number;
|
|
695
|
+
};
|
|
696
|
+
header: {
|
|
697
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
698
|
+
};
|
|
699
|
+
path: {
|
|
700
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
701
|
+
libraryId: components["parameters"]["LibraryId"];
|
|
702
|
+
};
|
|
703
|
+
cookie?: never;
|
|
704
|
+
};
|
|
705
|
+
requestBody?: never;
|
|
706
|
+
responses: {
|
|
707
|
+
/** @description OK */
|
|
708
|
+
200: {
|
|
709
|
+
headers: {
|
|
710
|
+
[name: string]: unknown;
|
|
711
|
+
};
|
|
712
|
+
content: {
|
|
713
|
+
"application/json": {
|
|
714
|
+
data: components["schemas"]["Tag"][];
|
|
715
|
+
};
|
|
716
|
+
};
|
|
717
|
+
};
|
|
718
|
+
};
|
|
719
|
+
};
|
|
720
|
+
put?: never;
|
|
721
|
+
post?: never;
|
|
722
|
+
delete?: never;
|
|
723
|
+
options?: never;
|
|
724
|
+
head?: never;
|
|
725
|
+
patch?: never;
|
|
726
|
+
trace?: never;
|
|
727
|
+
};
|
|
728
|
+
"/organizations/{organizationId}/search/assets": {
|
|
729
|
+
parameters: {
|
|
730
|
+
query?: never;
|
|
731
|
+
header?: never;
|
|
732
|
+
path?: never;
|
|
733
|
+
cookie?: never;
|
|
734
|
+
};
|
|
735
|
+
/** Search assets across libraries (ranked, highlighted). */
|
|
736
|
+
get: {
|
|
737
|
+
parameters: {
|
|
738
|
+
query: {
|
|
739
|
+
q: string;
|
|
740
|
+
/** @description Comma-separated library ids. */
|
|
741
|
+
libraries?: string;
|
|
742
|
+
page?: number;
|
|
743
|
+
pageSize?: number;
|
|
744
|
+
};
|
|
745
|
+
header: {
|
|
746
|
+
"Api-Version": components["parameters"]["ApiVersion"];
|
|
747
|
+
};
|
|
748
|
+
path: {
|
|
749
|
+
organizationId: components["parameters"]["OrganizationId"];
|
|
750
|
+
};
|
|
751
|
+
cookie?: never;
|
|
752
|
+
};
|
|
753
|
+
requestBody?: never;
|
|
754
|
+
responses: {
|
|
755
|
+
/** @description OK */
|
|
756
|
+
200: {
|
|
757
|
+
headers: {
|
|
758
|
+
[name: string]: unknown;
|
|
759
|
+
};
|
|
760
|
+
content: {
|
|
761
|
+
"application/json": {
|
|
762
|
+
data: components["schemas"]["SearchResult"];
|
|
763
|
+
};
|
|
764
|
+
};
|
|
765
|
+
};
|
|
766
|
+
};
|
|
767
|
+
};
|
|
768
|
+
put?: never;
|
|
769
|
+
post?: never;
|
|
770
|
+
delete?: never;
|
|
771
|
+
options?: never;
|
|
772
|
+
head?: never;
|
|
773
|
+
patch?: never;
|
|
774
|
+
trace?: never;
|
|
775
|
+
};
|
|
776
|
+
}
|
|
777
|
+
export type webhooks = Record<string, never>;
|
|
778
|
+
export interface components {
|
|
779
|
+
schemas: {
|
|
780
|
+
Error: {
|
|
781
|
+
error: {
|
|
782
|
+
/** @example API_KEY_NOT_AUTHORIZED_FOR_LIBRARY */
|
|
783
|
+
code: string;
|
|
784
|
+
message: string;
|
|
785
|
+
};
|
|
786
|
+
};
|
|
787
|
+
/** @description What the credential can act on. An API key, or an OAuth token bound to one organization, resolves that organization; a token granted the whole account resolves every organization it belongs to under `organizations`. An OAuth token also carries `user`; an API key does not. */
|
|
788
|
+
Me: {
|
|
789
|
+
organizationId: string;
|
|
790
|
+
organizationName: string | null;
|
|
791
|
+
plan: string | null;
|
|
792
|
+
libraries: {
|
|
793
|
+
library: string;
|
|
794
|
+
/** @enum {string} */
|
|
795
|
+
access: "read" | "write";
|
|
796
|
+
}[];
|
|
797
|
+
/** @description The account an OAuth access token acts as. */
|
|
798
|
+
user?: {
|
|
799
|
+
name: string | null;
|
|
800
|
+
};
|
|
801
|
+
} | {
|
|
802
|
+
organizations: {
|
|
803
|
+
organizationId: string;
|
|
804
|
+
organizationName: string | null;
|
|
805
|
+
plan: string | null;
|
|
806
|
+
libraries: {
|
|
807
|
+
library: string;
|
|
808
|
+
/** @enum {string} */
|
|
809
|
+
access: "read" | "write";
|
|
810
|
+
}[];
|
|
811
|
+
}[];
|
|
812
|
+
/** @description The account an OAuth access token acts as. */
|
|
813
|
+
user: {
|
|
814
|
+
name: string | null;
|
|
815
|
+
};
|
|
816
|
+
};
|
|
817
|
+
/** @description Represents a digital asset with associated metadata. */
|
|
818
|
+
Asset: {
|
|
819
|
+
id: string;
|
|
820
|
+
width: number | null;
|
|
821
|
+
height: number | null;
|
|
822
|
+
name: string | null;
|
|
823
|
+
libraryId: string | null;
|
|
824
|
+
blurhash: string | null;
|
|
825
|
+
/**
|
|
826
|
+
* Format: uri
|
|
827
|
+
* @description Permanent, public CDN URL for the full-resolution asset. It needs no
|
|
828
|
+
* authentication and never expires, so reference it directly as the source URL
|
|
829
|
+
* rather than downloading and re-hosting the file.
|
|
830
|
+
*/
|
|
831
|
+
url: string | null;
|
|
832
|
+
/**
|
|
833
|
+
* Format: uri
|
|
834
|
+
* @deprecated
|
|
835
|
+
*/
|
|
836
|
+
thumbUrlBlurred: string | null;
|
|
837
|
+
/**
|
|
838
|
+
* @description JSON-encoded map of size (the image's longest edge, in pixels) to the CDN
|
|
839
|
+
* URL of the image at that size (parse before use). Each URL carries the same
|
|
840
|
+
* permanent, public, embed-directly semantics as `url`; pick the size closest to
|
|
841
|
+
* your display target.
|
|
842
|
+
*/
|
|
843
|
+
sizes: string | null;
|
|
844
|
+
/**
|
|
845
|
+
* Format: uri
|
|
846
|
+
* @description Absolute link that opens this asset in the Raster app, for a person to view,
|
|
847
|
+
* edit, or manage it. Give it to the user as a link; the source URL is `url`.
|
|
848
|
+
*/
|
|
849
|
+
appUrl: string | null;
|
|
850
|
+
/**
|
|
851
|
+
* @description Non-destructive variants of the asset. Each entry carries its own
|
|
852
|
+
* `parentId` pointing back to this asset.
|
|
853
|
+
*/
|
|
854
|
+
variants: (components["schemas"]["AssetVariant"] | null)[] | null;
|
|
855
|
+
/**
|
|
856
|
+
* @description The parentId-model discriminator: `null` on a top-level original, the parent
|
|
857
|
+
* asset's id on a variant. A variant is a first-class Asset — tag-filtered and search
|
|
858
|
+
* queries return it as its own entry — and `parentId` relates it back to its
|
|
859
|
+
* original. May be `null` for originals uploaded before the delta-001 backfill.
|
|
860
|
+
*/
|
|
861
|
+
parentId: string | null;
|
|
862
|
+
description: string | null;
|
|
863
|
+
tags: (string | null)[] | null;
|
|
864
|
+
/**
|
|
865
|
+
* @description MIME content type of the asset (e.g. `image/jpeg`, `image/png`).
|
|
866
|
+
* @example image/jpeg
|
|
867
|
+
*/
|
|
868
|
+
contentType: string | null;
|
|
869
|
+
/** @description File size in bytes. May be `null` for older assets with no recorded size. */
|
|
870
|
+
size: number | null;
|
|
871
|
+
/**
|
|
872
|
+
* @description Length of the asset in seconds, for video and audio. `null` on images and on
|
|
873
|
+
* videos still being processed.
|
|
874
|
+
*/
|
|
875
|
+
duration: number | null;
|
|
876
|
+
/**
|
|
877
|
+
* @description Details read from the asset's own bytes — how it was captured, and its
|
|
878
|
+
* technical format. `null` on assets uploaded before this data was captured.
|
|
879
|
+
*/
|
|
880
|
+
metadata: components["schemas"]["AssetMetadata"] | null;
|
|
881
|
+
/** @description Creation time as unix milliseconds. May be `null` for some older assets. */
|
|
882
|
+
created: number | null;
|
|
883
|
+
/**
|
|
884
|
+
* @description Last-modified time as unix milliseconds. Bumped on any field change
|
|
885
|
+
* (rename, tag edit, variant-edit save). Useful for cache invalidation and
|
|
886
|
+
* "sort by recently updated" UX.
|
|
887
|
+
*/
|
|
888
|
+
updated: number | null;
|
|
889
|
+
/**
|
|
890
|
+
* @description Counter bumped each time the asset's BYTES are replaced at an unchanged
|
|
891
|
+
* url — a promoted variant, an edit re-save. Append it to any `url` or
|
|
892
|
+
* `sizes` entry as `?v=` to render the current pixels: the same url keeps
|
|
893
|
+
* serving the previous bytes to every cache that already holds it.
|
|
894
|
+
*
|
|
895
|
+
* Null on an asset whose bytes have never been replaced — render the bare
|
|
896
|
+
* url there, so those assets keep the cache entry they already have.
|
|
897
|
+
*/
|
|
898
|
+
contentVersion: number | null;
|
|
899
|
+
/** @description Attribution metadata for the user who uploaded the asset. */
|
|
900
|
+
uploadedBy: components["schemas"]["Uploader"] | null;
|
|
901
|
+
approval: components["schemas"]["Approval"] | null;
|
|
902
|
+
};
|
|
903
|
+
/** @description Represents a tag associated with assets or libraries. */
|
|
904
|
+
Tag: {
|
|
905
|
+
id: string;
|
|
906
|
+
count: number | null;
|
|
907
|
+
type: string | null;
|
|
908
|
+
};
|
|
909
|
+
/** @description Represents a collection of assets. */
|
|
910
|
+
Library: {
|
|
911
|
+
id: string;
|
|
912
|
+
name: string | null;
|
|
913
|
+
assetsCount: number | null;
|
|
914
|
+
/** @deprecated */
|
|
915
|
+
photosCount: number | null;
|
|
916
|
+
trashCount: number | null;
|
|
917
|
+
tags: (components["schemas"]["Tag"] | null)[] | null;
|
|
918
|
+
};
|
|
919
|
+
/**
|
|
920
|
+
* @description Wire shape returned by the `searchAssets` query — `hits` plus the
|
|
921
|
+
* corpus-wide `found` total and the resolved 1-based `page`.
|
|
922
|
+
*/
|
|
923
|
+
SearchResult: {
|
|
924
|
+
hits: components["schemas"]["SearchHit"][];
|
|
925
|
+
found: number;
|
|
926
|
+
page: number;
|
|
927
|
+
};
|
|
928
|
+
/** @description Represents a variant of an asset. */
|
|
929
|
+
AssetVariant: {
|
|
930
|
+
id: string;
|
|
931
|
+
parentId: string | null;
|
|
932
|
+
width: number | null;
|
|
933
|
+
height: number | null;
|
|
934
|
+
name: string | null;
|
|
935
|
+
/** Format: uri */
|
|
936
|
+
url: string | null;
|
|
937
|
+
sizes: string | null;
|
|
938
|
+
/** Format: uri */
|
|
939
|
+
appUrl: string | null;
|
|
940
|
+
};
|
|
941
|
+
/** @description Details read from the asset's own bytes — how it was captured, and its technical format. */
|
|
942
|
+
AssetMetadata: {
|
|
943
|
+
/**
|
|
944
|
+
* @description How the asset was captured, when it carried any such details. `null` when
|
|
945
|
+
* it carried none, which is common for screen recordings and anything
|
|
946
|
+
* re-encoded.
|
|
947
|
+
*/
|
|
948
|
+
capture: components["schemas"]["AssetCapture"] | null;
|
|
949
|
+
/** @description The video's technical stream details. `null` on anything that is not a video. */
|
|
950
|
+
video: components["schemas"]["VideoStream"] | null;
|
|
951
|
+
};
|
|
952
|
+
/** @description Attribution metadata for the user or system that uploaded an asset. */
|
|
953
|
+
Uploader: {
|
|
954
|
+
/** @description Display name of the uploader. May be `null`. */
|
|
955
|
+
name: string | null;
|
|
956
|
+
/**
|
|
957
|
+
* Format: uri
|
|
958
|
+
* @description URL of the uploader's current avatar, read live from their account. May be `null`.
|
|
959
|
+
*/
|
|
960
|
+
avatarUrl: string | null;
|
|
961
|
+
};
|
|
962
|
+
/** @description An asset's approval (delivery) state — who set it, when, and why. */
|
|
963
|
+
Approval: {
|
|
964
|
+
state: string;
|
|
965
|
+
/** @description Email address of the person who set the approval. `null` on a search hit, or when their account has no email address. */
|
|
966
|
+
setBy: string | null;
|
|
967
|
+
setAt: number | null;
|
|
968
|
+
note?: string;
|
|
969
|
+
};
|
|
970
|
+
/**
|
|
971
|
+
* @description A search hit — every public `Asset` field plus optional highlights and a
|
|
972
|
+
* relevance score.
|
|
973
|
+
*/
|
|
974
|
+
SearchHit: {
|
|
975
|
+
id: string;
|
|
976
|
+
width: number | null;
|
|
977
|
+
height: number | null;
|
|
978
|
+
name: string | null;
|
|
979
|
+
libraryId: string | null;
|
|
980
|
+
blurhash: string | null;
|
|
981
|
+
/** Format: uri */
|
|
982
|
+
url: string | null;
|
|
983
|
+
/**
|
|
984
|
+
* Format: uri
|
|
985
|
+
* @deprecated
|
|
986
|
+
*/
|
|
987
|
+
thumbUrlBlurred: string | null;
|
|
988
|
+
sizes: string | null;
|
|
989
|
+
/** Format: uri */
|
|
990
|
+
appUrl: string | null;
|
|
991
|
+
variants: (components["schemas"]["AssetVariant"] | null)[] | null;
|
|
992
|
+
parentId: string | null;
|
|
993
|
+
description: string | null;
|
|
994
|
+
tags: (string | null)[] | null;
|
|
995
|
+
contentType: string | null;
|
|
996
|
+
size: number | null;
|
|
997
|
+
duration: number | null;
|
|
998
|
+
metadata: components["schemas"]["AssetMetadata"] | null;
|
|
999
|
+
created: number | null;
|
|
1000
|
+
updated: number | null;
|
|
1001
|
+
contentVersion: number | null;
|
|
1002
|
+
uploadedBy: components["schemas"]["Uploader"] | null;
|
|
1003
|
+
approval: components["schemas"]["Approval"] | null;
|
|
1004
|
+
/**
|
|
1005
|
+
* @description Highlight snippets — present only when the search matched on the
|
|
1006
|
+
* corresponding field. Matched terms are wrapped in `<mark>` tags.
|
|
1007
|
+
*/
|
|
1008
|
+
highlights?: components["schemas"]["SearchHitHighlights"];
|
|
1009
|
+
/** @description Relevance score for the hit. Optional. */
|
|
1010
|
+
score?: number;
|
|
1011
|
+
};
|
|
1012
|
+
/** @description How an asset was captured — when, on what device, and where. */
|
|
1013
|
+
AssetCapture: {
|
|
1014
|
+
/**
|
|
1015
|
+
* @description When the asset says it was recorded, as written by the device. On a
|
|
1016
|
+
* re-encoded file this is the time of that encode rather than the original
|
|
1017
|
+
* recording, so treat it as a hint rather than a reliable capture date.
|
|
1018
|
+
*/
|
|
1019
|
+
recordedAt: string | null;
|
|
1020
|
+
/** @description Device maker, e.g. `Apple`. */
|
|
1021
|
+
make: string | null;
|
|
1022
|
+
/** @description Device model, e.g. `iPhone 17 Pro`. */
|
|
1023
|
+
model: string | null;
|
|
1024
|
+
/** @description Capture software or OS version reported by the device. */
|
|
1025
|
+
software: string | null;
|
|
1026
|
+
/** @description Signed decimal degrees. Present only alongside `longitude`. */
|
|
1027
|
+
latitude: number | null;
|
|
1028
|
+
/** @description Signed decimal degrees. */
|
|
1029
|
+
longitude: number | null;
|
|
1030
|
+
/** @description Metres above sea level, when the container recorded one. */
|
|
1031
|
+
altitude: number | null;
|
|
1032
|
+
};
|
|
1033
|
+
/** @description A video's technical stream details — codec, frame rate, bitrate, and audio. */
|
|
1034
|
+
VideoStream: {
|
|
1035
|
+
/** @description Video codec, e.g. `h264`, `hevc`, `vp9`, `av1`. */
|
|
1036
|
+
codec: string;
|
|
1037
|
+
/** @description Frames per second, e.g. `30` or `23.98`. */
|
|
1038
|
+
frameRate: number | null;
|
|
1039
|
+
/** @description Overall bitrate in bits per second, across all streams. */
|
|
1040
|
+
bitrate: number | null;
|
|
1041
|
+
/** @description Whether the video carries an audio track. */
|
|
1042
|
+
hasAudio: boolean;
|
|
1043
|
+
/** @description Audio codec, e.g. `aac`, `opus`. `null` when there is no audio track. */
|
|
1044
|
+
audioCodec: string | null;
|
|
1045
|
+
/** @description Audio channel layout, e.g. `mono`, `stereo`, `5.1`. */
|
|
1046
|
+
audioLayout: string | null;
|
|
1047
|
+
/** @description Audio sample rate in hertz, e.g. `48000`. */
|
|
1048
|
+
audioSampleRate: number | null;
|
|
1049
|
+
};
|
|
1050
|
+
/** @description Highlight snippets returned alongside each `SearchHit`. */
|
|
1051
|
+
SearchHitHighlights: {
|
|
1052
|
+
name?: string;
|
|
1053
|
+
tags?: string[];
|
|
1054
|
+
};
|
|
1055
|
+
};
|
|
1056
|
+
responses: {
|
|
1057
|
+
/** @description Missing or invalid API key. */
|
|
1058
|
+
Unauthorized: {
|
|
1059
|
+
headers: {
|
|
1060
|
+
[name: string]: unknown;
|
|
1061
|
+
};
|
|
1062
|
+
content: {
|
|
1063
|
+
"application/json": components["schemas"]["Error"];
|
|
1064
|
+
};
|
|
1065
|
+
};
|
|
1066
|
+
/** @description Resource not found, or the key is not authorized for it. */
|
|
1067
|
+
NotFound: {
|
|
1068
|
+
headers: {
|
|
1069
|
+
[name: string]: unknown;
|
|
1070
|
+
};
|
|
1071
|
+
content: {
|
|
1072
|
+
"application/json": components["schemas"]["Error"];
|
|
1073
|
+
};
|
|
1074
|
+
};
|
|
1075
|
+
/** @description Invalid input (BAD_USER_INPUT), quota, or API-version error. */
|
|
1076
|
+
BadRequest: {
|
|
1077
|
+
headers: {
|
|
1078
|
+
[name: string]: unknown;
|
|
1079
|
+
};
|
|
1080
|
+
content: {
|
|
1081
|
+
"application/json": components["schemas"]["Error"];
|
|
1082
|
+
};
|
|
1083
|
+
};
|
|
1084
|
+
};
|
|
1085
|
+
parameters: {
|
|
1086
|
+
ApiVersion: string;
|
|
1087
|
+
OrganizationId: string;
|
|
1088
|
+
LibraryId: string;
|
|
1089
|
+
AssetId: string;
|
|
1090
|
+
};
|
|
1091
|
+
requestBodies: never;
|
|
1092
|
+
headers: never;
|
|
1093
|
+
pathItems: never;
|
|
1094
|
+
}
|
|
1095
|
+
export type $defs = Record<string, never>;
|
|
1096
|
+
export type operations = Record<string, never>;
|