@glboost/sdk 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +39 -2
- package/dist/chunk-YL4SZ5Y4.js +159 -0
- package/dist/chunk-YL4SZ5Y4.js.map +1 -0
- package/dist/index.d.ts +4582 -0
- package/dist/index.js +366 -0
- package/dist/index.js.map +1 -0
- package/dist/testing.d.ts +126 -0
- package/dist/testing.js +562 -0
- package/dist/testing.js.map +1 -0
- package/package.json +53 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4582 @@
|
|
|
1
|
+
import { Client } from 'openapi-fetch';
|
|
2
|
+
|
|
3
|
+
declare const GEO_VALUES: readonly ["meshopt", "draco", "none", "raw"];
|
|
4
|
+
type Geo = (typeof GEO_VALUES)[number];
|
|
5
|
+
declare const TEX_VALUES: readonly ["ktx2", "webp", "avif", "jpeg", "png", "original"];
|
|
6
|
+
type Tex = (typeof TEX_VALUES)[number];
|
|
7
|
+
declare const MAXTEX_VALUES: readonly [256, 512, 1024, 2048, 4096];
|
|
8
|
+
type MaxTex = (typeof MAXTEX_VALUES)[number];
|
|
9
|
+
declare const Q_VALUES: readonly ["low", "med", "high"];
|
|
10
|
+
type Q = (typeof Q_VALUES)[number];
|
|
11
|
+
declare const ANIM_VALUES: readonly ["keep", "strip"];
|
|
12
|
+
type Anim = (typeof ANIM_VALUES)[number];
|
|
13
|
+
interface OptimizeSpec {
|
|
14
|
+
geo: Geo;
|
|
15
|
+
tex: Tex;
|
|
16
|
+
maxtex: MaxTex;
|
|
17
|
+
q: Q;
|
|
18
|
+
anim: Anim;
|
|
19
|
+
/** Meshopt simplifier target ratio in [0.1, 1). Omitted = no simplification. */
|
|
20
|
+
simplify?: number;
|
|
21
|
+
/** Cap for data-slot textures (normal, occlusion, metallicRoughness). Omitted = same as `maxtex`. */
|
|
22
|
+
ntex?: MaxTex;
|
|
23
|
+
/** Merge texture-less materials into one palette texture. Omitted = off. */
|
|
24
|
+
palette?: boolean;
|
|
25
|
+
}
|
|
26
|
+
declare const PRESETS: {
|
|
27
|
+
readonly compat: {
|
|
28
|
+
readonly geo: "none";
|
|
29
|
+
readonly tex: "jpeg";
|
|
30
|
+
readonly maxtex: 2048;
|
|
31
|
+
readonly q: "med";
|
|
32
|
+
readonly anim: "keep";
|
|
33
|
+
};
|
|
34
|
+
readonly web: {
|
|
35
|
+
readonly geo: "meshopt";
|
|
36
|
+
readonly tex: "webp";
|
|
37
|
+
readonly maxtex: 2048;
|
|
38
|
+
readonly q: "med";
|
|
39
|
+
readonly anim: "keep";
|
|
40
|
+
};
|
|
41
|
+
readonly gpu: {
|
|
42
|
+
readonly geo: "meshopt";
|
|
43
|
+
readonly tex: "ktx2";
|
|
44
|
+
readonly maxtex: 2048;
|
|
45
|
+
readonly q: "med";
|
|
46
|
+
readonly anim: "keep";
|
|
47
|
+
};
|
|
48
|
+
readonly mobile: {
|
|
49
|
+
readonly geo: "meshopt";
|
|
50
|
+
readonly tex: "ktx2";
|
|
51
|
+
readonly maxtex: 1024;
|
|
52
|
+
readonly q: "low";
|
|
53
|
+
readonly anim: "keep";
|
|
54
|
+
readonly simplify: 0.75;
|
|
55
|
+
};
|
|
56
|
+
readonly embedded: {
|
|
57
|
+
readonly geo: "raw";
|
|
58
|
+
readonly tex: "webp";
|
|
59
|
+
readonly maxtex: 512;
|
|
60
|
+
readonly q: "low";
|
|
61
|
+
readonly anim: "keep";
|
|
62
|
+
readonly simplify: 0.5;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
type NamedPreset = keyof typeof PRESETS;
|
|
66
|
+
type PresetName = NamedPreset | 'original';
|
|
67
|
+
declare const PRESET_NAMES: readonly PresetName[];
|
|
68
|
+
declare function isPresetName(value: unknown): value is PresetName;
|
|
69
|
+
/**
|
|
70
|
+
* All fields sorted by key, `key=value` joined by `,`. Optional keys are omitted at their defaults:
|
|
71
|
+
* `simplify` when unset, `palette` when off, `ntex` when it equals `maxtex`.
|
|
72
|
+
*/
|
|
73
|
+
declare function canonicalSpec(spec: OptimizeSpec): string;
|
|
74
|
+
/** Parses a canonical spec string; throws when it is not exactly canonical. */
|
|
75
|
+
declare function parseCanonicalSpec(canonical: string): OptimizeSpec;
|
|
76
|
+
|
|
77
|
+
var __createBinding = (undefined && undefined.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
78
|
+
if (k2 === undefined) k2 = k;
|
|
79
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
80
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
81
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
82
|
+
}
|
|
83
|
+
Object.defineProperty(o, k2, desc);
|
|
84
|
+
}) : (function(o, m, k, k2) {
|
|
85
|
+
if (k2 === undefined) k2 = k;
|
|
86
|
+
o[k2] = m[k];
|
|
87
|
+
}));
|
|
88
|
+
var __setModuleDefault = (undefined && undefined.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
89
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
90
|
+
}) : function(o, v) {
|
|
91
|
+
o["default"] = v;
|
|
92
|
+
});
|
|
93
|
+
var __importStar = (undefined && undefined.__importStar) || function (mod) {
|
|
94
|
+
if (mod && mod.__esModule) return mod;
|
|
95
|
+
var result = {};
|
|
96
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
97
|
+
__setModuleDefault(result, mod);
|
|
98
|
+
return result;
|
|
99
|
+
};
|
|
100
|
+
var __exportStar = (undefined && undefined.__exportStar) || function(m, exports) {
|
|
101
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
102
|
+
};
|
|
103
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
104
|
+
exports.coerce = exports.iso = exports.ZodISODuration = exports.ZodISOTime = exports.ZodISODate = exports.ZodISODateTime = exports.locales = exports.output = exports.input = exports.deepPartial = exports.fromJSONSchema = exports.toJSONSchema = exports.getDiscriminatedOption = exports.ZodCompileUnsupportedError = exports.ZodCompileAsyncError = exports.compile = exports.toZod = exports.NEVER = exports.util = exports.TimePrecision = exports.flattenError = exports.formatError = exports.prettifyError = exports.treeifyError = exports.regexes = exports.clone = exports.$brand = exports.$input = exports.$output = exports.memoizer = exports.config = exports.registry = exports.globalRegistry = exports.core = void 0;
|
|
105
|
+
exports.core = __importStar(require("../core/index.cjs"));
|
|
106
|
+
__exportStar(require("./schemas.cjs"), exports);
|
|
107
|
+
__exportStar(require("./checks.cjs"), exports);
|
|
108
|
+
__exportStar(require("./errors.cjs"), exports);
|
|
109
|
+
__exportStar(require("./parse.cjs"), exports);
|
|
110
|
+
__exportStar(require("./compat.cjs"), exports);
|
|
111
|
+
var index_js_1 = require("../core/index.cjs");
|
|
112
|
+
Object.defineProperty(exports, "globalRegistry", { enumerable: true, get: function () { return index_js_1.globalRegistry; } });
|
|
113
|
+
Object.defineProperty(exports, "registry", { enumerable: true, get: function () { return index_js_1.registry; } });
|
|
114
|
+
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return index_js_1.config; } });
|
|
115
|
+
Object.defineProperty(exports, "memoizer", { enumerable: true, get: function () { return index_js_1.memoizer; } });
|
|
116
|
+
Object.defineProperty(exports, "$output", { enumerable: true, get: function () { return index_js_1.$output; } });
|
|
117
|
+
Object.defineProperty(exports, "$input", { enumerable: true, get: function () { return index_js_1.$input; } });
|
|
118
|
+
Object.defineProperty(exports, "$brand", { enumerable: true, get: function () { return index_js_1.$brand; } });
|
|
119
|
+
Object.defineProperty(exports, "clone", { enumerable: true, get: function () { return index_js_1.clone; } });
|
|
120
|
+
Object.defineProperty(exports, "regexes", { enumerable: true, get: function () { return index_js_1.regexes; } });
|
|
121
|
+
Object.defineProperty(exports, "treeifyError", { enumerable: true, get: function () { return index_js_1.treeifyError; } });
|
|
122
|
+
Object.defineProperty(exports, "prettifyError", { enumerable: true, get: function () { return index_js_1.prettifyError; } });
|
|
123
|
+
Object.defineProperty(exports, "formatError", { enumerable: true, get: function () { return index_js_1.formatError; } });
|
|
124
|
+
Object.defineProperty(exports, "flattenError", { enumerable: true, get: function () { return index_js_1.flattenError; } });
|
|
125
|
+
Object.defineProperty(exports, "TimePrecision", { enumerable: true, get: function () { return index_js_1.TimePrecision; } });
|
|
126
|
+
Object.defineProperty(exports, "util", { enumerable: true, get: function () { return index_js_1.util; } });
|
|
127
|
+
Object.defineProperty(exports, "NEVER", { enumerable: true, get: function () { return index_js_1.NEVER; } });
|
|
128
|
+
Object.defineProperty(exports, "toZod", { enumerable: true, get: function () { return index_js_1.toZod; } });
|
|
129
|
+
Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return index_js_1.compile; } });
|
|
130
|
+
Object.defineProperty(exports, "ZodCompileAsyncError", { enumerable: true, get: function () { return index_js_1.ZodCompileAsyncError; } });
|
|
131
|
+
Object.defineProperty(exports, "ZodCompileUnsupportedError", { enumerable: true, get: function () { return index_js_1.ZodCompileUnsupportedError; } });
|
|
132
|
+
Object.defineProperty(exports, "getDiscriminatedOption", { enumerable: true, get: function () { return index_js_1.getDiscriminatedOption; } });
|
|
133
|
+
var json_schema_processors_js_1 = require("../core/json-schema-processors.cjs");
|
|
134
|
+
Object.defineProperty(exports, "toJSONSchema", { enumerable: true, get: function () { return json_schema_processors_js_1.toJSONSchema; } });
|
|
135
|
+
var from_json_schema_js_1 = require("./from-json-schema.cjs");
|
|
136
|
+
Object.defineProperty(exports, "fromJSONSchema", { enumerable: true, get: function () { return from_json_schema_js_1.fromJSONSchema; } });
|
|
137
|
+
var deep_partial_js_1 = require("./deep-partial.cjs");
|
|
138
|
+
Object.defineProperty(exports, "deepPartial", { enumerable: true, get: function () { return deep_partial_js_1.deepPartial; } });
|
|
139
|
+
// Types and values both, from one module — re-exporting the types from core would collide.
|
|
140
|
+
var in_out_js_1 = require("./in-out.cjs");
|
|
141
|
+
Object.defineProperty(exports, "input", { enumerable: true, get: function () { return in_out_js_1.input; } });
|
|
142
|
+
Object.defineProperty(exports, "output", { enumerable: true, get: function () { return in_out_js_1.output; } });
|
|
143
|
+
exports.locales = __importStar(require("../locales/index.cjs"));
|
|
144
|
+
// iso must be exported from top-level https://github.com/colinhacks/zod/issues/4491
|
|
145
|
+
var iso_js_1 = require("./iso.cjs");
|
|
146
|
+
Object.defineProperty(exports, "ZodISODateTime", { enumerable: true, get: function () { return iso_js_1.ZodISODateTime; } });
|
|
147
|
+
Object.defineProperty(exports, "ZodISODate", { enumerable: true, get: function () { return iso_js_1.ZodISODate; } });
|
|
148
|
+
Object.defineProperty(exports, "ZodISOTime", { enumerable: true, get: function () { return iso_js_1.ZodISOTime; } });
|
|
149
|
+
Object.defineProperty(exports, "ZodISODuration", { enumerable: true, get: function () { return iso_js_1.ZodISODuration; } });
|
|
150
|
+
exports.iso = __importStar(require("./iso.cjs"));
|
|
151
|
+
exports.coerce = __importStar(require("./coerce.cjs"));
|
|
152
|
+
|
|
153
|
+
// Generated by apps/web/scripts/openapi-types.ts from buildOpenApiDocument(); do not edit.
|
|
154
|
+
// Regenerate with: pnpm --filter @glboost/web openapi:types
|
|
155
|
+
// glboost-openapi-sha256: 5695cb71f4bad3e799a21c3a7dbb8eb1094d77d02eb45ae70bde8f9db7eb72d6
|
|
156
|
+
interface paths {
|
|
157
|
+
"/api/v1/assets": {
|
|
158
|
+
parameters: {
|
|
159
|
+
query?: never;
|
|
160
|
+
header?: never;
|
|
161
|
+
path?: never;
|
|
162
|
+
cookie?: never;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* List or search assets
|
|
166
|
+
* @description Query: `projectId` (defaults to the active project), `q` (case-insensitive substring of the name or description, or a prefix of the id), `tag` (exact), `deleted=true` (the trash instead of live assets). Items carry `tags`, `reviewState` (`approved`, `changes_requested`, `in_review`, or null for the newest version), `latestVersion`, and `deletedAt`.
|
|
167
|
+
*
|
|
168
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
169
|
+
*/
|
|
170
|
+
get: operations["getAssets"];
|
|
171
|
+
put?: never;
|
|
172
|
+
post?: never;
|
|
173
|
+
delete?: never;
|
|
174
|
+
options?: never;
|
|
175
|
+
head?: never;
|
|
176
|
+
patch?: never;
|
|
177
|
+
trace?: never;
|
|
178
|
+
};
|
|
179
|
+
"/api/v1/assets/{assetId}": {
|
|
180
|
+
parameters: {
|
|
181
|
+
query?: never;
|
|
182
|
+
header?: never;
|
|
183
|
+
path?: never;
|
|
184
|
+
cookie?: never;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Get an asset with versions, variants, and review state
|
|
188
|
+
* @description Each version carries `note` and `review` (`approved` and `changesRequested` counts, each reviewer's current stance, and `awaitingApproval` when publish-on-approval is holding it).
|
|
189
|
+
*
|
|
190
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
191
|
+
*/
|
|
192
|
+
get: operations["getAssetsAssetId"];
|
|
193
|
+
put?: never;
|
|
194
|
+
post?: never;
|
|
195
|
+
/**
|
|
196
|
+
* Move an asset to the trash, or purge it
|
|
197
|
+
* @description Moves the asset to the trash, where it stays restorable for 30 days before the nightly purge. `?permanent=1` deletes a trashed asset and its files for good; a live asset answers 409, so deletion is always two steps.
|
|
198
|
+
*
|
|
199
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
200
|
+
*/
|
|
201
|
+
delete: operations["deleteAssetsAssetId"];
|
|
202
|
+
options?: never;
|
|
203
|
+
head?: never;
|
|
204
|
+
/**
|
|
205
|
+
* Update name, visibility, viewer settings, hotspots, tags; move between projects
|
|
206
|
+
* @description `tags` replaces the labels (lower-case `a-z0-9_-`, up to 20; a bad tag answers 400 naming it). `projectId` moves the asset to another project of the organization: embeds keep working, but signed URLs minted with the old project's key stop verifying.
|
|
207
|
+
*
|
|
208
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
209
|
+
*/
|
|
210
|
+
patch: operations["patchAssetsAssetId"];
|
|
211
|
+
trace?: never;
|
|
212
|
+
};
|
|
213
|
+
"/api/v1/assets/{assetId}/comments": {
|
|
214
|
+
parameters: {
|
|
215
|
+
query?: never;
|
|
216
|
+
header?: never;
|
|
217
|
+
path?: never;
|
|
218
|
+
cookie?: never;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* List review comments on an asset
|
|
222
|
+
* @description Chronological; replies carry `parentId`. `anchor` holds the pinned surface point, normal, and camera.
|
|
223
|
+
*
|
|
224
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
225
|
+
*/
|
|
226
|
+
get: operations["getAssetsAssetIdComments"];
|
|
227
|
+
put?: never;
|
|
228
|
+
/**
|
|
229
|
+
* Post a comment or reply
|
|
230
|
+
* @description Key-authored comments show the key name as the author. Emits `comment.created` to webhooks.
|
|
231
|
+
*
|
|
232
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
233
|
+
*/
|
|
234
|
+
post: operations["postAssetsAssetIdComments"];
|
|
235
|
+
delete?: never;
|
|
236
|
+
options?: never;
|
|
237
|
+
head?: never;
|
|
238
|
+
patch?: never;
|
|
239
|
+
trace?: never;
|
|
240
|
+
};
|
|
241
|
+
"/api/v1/assets/{assetId}/compat": {
|
|
242
|
+
parameters: {
|
|
243
|
+
query?: never;
|
|
244
|
+
header?: never;
|
|
245
|
+
path?: never;
|
|
246
|
+
cookie?: never;
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Runtime compatibility report per ready variant
|
|
250
|
+
* @description Verdicts per runtime (three.js, Babylon.js, model-viewer, PlayCanvas, Unity glTFast, Godot, Unreal, Filament, LVGL, Quick Look): `ok`, `needs-decoder` (with the decoders), or `unsupported` (with the blocking extensions).
|
|
251
|
+
*
|
|
252
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
253
|
+
*/
|
|
254
|
+
get: operations["getAssetsAssetIdCompat"];
|
|
255
|
+
put?: never;
|
|
256
|
+
post?: never;
|
|
257
|
+
delete?: never;
|
|
258
|
+
options?: never;
|
|
259
|
+
head?: never;
|
|
260
|
+
patch?: never;
|
|
261
|
+
trace?: never;
|
|
262
|
+
};
|
|
263
|
+
"/api/v1/assets/{assetId}/exports": {
|
|
264
|
+
parameters: {
|
|
265
|
+
query?: never;
|
|
266
|
+
header?: never;
|
|
267
|
+
path?: never;
|
|
268
|
+
cookie?: never;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* List exports
|
|
272
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
273
|
+
*/
|
|
274
|
+
get: operations["getAssetsAssetIdExports"];
|
|
275
|
+
put?: never;
|
|
276
|
+
/**
|
|
277
|
+
* Export a ready variant as an unpacked glTF zip, a C-array header, or a Quick Look USDZ
|
|
278
|
+
* @description Served from the CDN at `/{assetId}.zip`, `/{assetId}.h`, or `/{assetId}.usdz` with the variant's query string once ready. `usdz` needs a variant with JPEG or PNG textures (400 for KTX2); projects with `autoUsdz` get it for every version's compat variant without asking.
|
|
279
|
+
*
|
|
280
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
281
|
+
*/
|
|
282
|
+
post: operations["postAssetsAssetIdExports"];
|
|
283
|
+
delete?: never;
|
|
284
|
+
options?: never;
|
|
285
|
+
head?: never;
|
|
286
|
+
patch?: never;
|
|
287
|
+
trace?: never;
|
|
288
|
+
};
|
|
289
|
+
"/api/v1/assets/{assetId}/restore": {
|
|
290
|
+
parameters: {
|
|
291
|
+
query?: never;
|
|
292
|
+
header?: never;
|
|
293
|
+
path?: never;
|
|
294
|
+
cookie?: never;
|
|
295
|
+
};
|
|
296
|
+
get?: never;
|
|
297
|
+
put?: never;
|
|
298
|
+
/**
|
|
299
|
+
* Restore an asset from the trash
|
|
300
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
301
|
+
*/
|
|
302
|
+
post: operations["postAssetsAssetIdRestore"];
|
|
303
|
+
delete?: never;
|
|
304
|
+
options?: never;
|
|
305
|
+
head?: never;
|
|
306
|
+
patch?: never;
|
|
307
|
+
trace?: never;
|
|
308
|
+
};
|
|
309
|
+
"/api/v1/assets/{assetId}/sign": {
|
|
310
|
+
parameters: {
|
|
311
|
+
query?: never;
|
|
312
|
+
header?: never;
|
|
313
|
+
path?: never;
|
|
314
|
+
cookie?: never;
|
|
315
|
+
};
|
|
316
|
+
get?: never;
|
|
317
|
+
put?: never;
|
|
318
|
+
/**
|
|
319
|
+
* Mint a signed CDN URL
|
|
320
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
321
|
+
*/
|
|
322
|
+
post: operations["postAssetsAssetIdSign"];
|
|
323
|
+
delete?: never;
|
|
324
|
+
options?: never;
|
|
325
|
+
head?: never;
|
|
326
|
+
patch?: never;
|
|
327
|
+
trace?: never;
|
|
328
|
+
};
|
|
329
|
+
"/api/v1/assets/{assetId}/thumbnail": {
|
|
330
|
+
parameters: {
|
|
331
|
+
query?: never;
|
|
332
|
+
header?: never;
|
|
333
|
+
path?: never;
|
|
334
|
+
cookie?: never;
|
|
335
|
+
};
|
|
336
|
+
get?: never;
|
|
337
|
+
put?: never;
|
|
338
|
+
/**
|
|
339
|
+
* Upload a poster image
|
|
340
|
+
* @description Raw `image/png` body up to 4 MiB, typically captured from the viewer.
|
|
341
|
+
*
|
|
342
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
343
|
+
*/
|
|
344
|
+
post: operations["postAssetsAssetIdThumbnail"];
|
|
345
|
+
delete?: never;
|
|
346
|
+
options?: never;
|
|
347
|
+
head?: never;
|
|
348
|
+
patch?: never;
|
|
349
|
+
trace?: never;
|
|
350
|
+
};
|
|
351
|
+
"/api/v1/assets/{assetId}/thumbnail/render": {
|
|
352
|
+
parameters: {
|
|
353
|
+
query?: never;
|
|
354
|
+
header?: never;
|
|
355
|
+
path?: never;
|
|
356
|
+
cookie?: never;
|
|
357
|
+
};
|
|
358
|
+
get?: never;
|
|
359
|
+
put?: never;
|
|
360
|
+
/**
|
|
361
|
+
* Render the poster and link preview now
|
|
362
|
+
* @description Screenshots the current version in a headless browser (the `gpu` preset when ready, else the project default) into `thumb.png` and the 1200 × 630 `og.png`, replacing a captured poster. Renders also run on their own when a version goes live.
|
|
363
|
+
*
|
|
364
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
365
|
+
*/
|
|
366
|
+
post: operations["postAssetsAssetIdThumbnailRender"];
|
|
367
|
+
delete?: never;
|
|
368
|
+
options?: never;
|
|
369
|
+
head?: never;
|
|
370
|
+
patch?: never;
|
|
371
|
+
trace?: never;
|
|
372
|
+
};
|
|
373
|
+
"/api/v1/assets/{assetId}/variants": {
|
|
374
|
+
parameters: {
|
|
375
|
+
query?: never;
|
|
376
|
+
header?: never;
|
|
377
|
+
path?: never;
|
|
378
|
+
cookie?: never;
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* List variants per version
|
|
382
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
383
|
+
*/
|
|
384
|
+
get: operations["getAssetsAssetIdVariants"];
|
|
385
|
+
put?: never;
|
|
386
|
+
/**
|
|
387
|
+
* Request a variant
|
|
388
|
+
* @description Provide a named `preset`, an explicit `spec`, or budget mode (`budgetBytes` + `target`): the optimizer searches for the largest spec under the byte budget that the target runtime can load. Spec keys include `palette` (merge texture-less materials into one palette texture) and `ntex` (a separate size cap for normal, occlusion, and metallic-roughness textures). Returns 201 when a job was queued, 200 when the variant already existed.
|
|
389
|
+
*
|
|
390
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
391
|
+
*/
|
|
392
|
+
post: operations["postAssetsAssetIdVariants"];
|
|
393
|
+
delete?: never;
|
|
394
|
+
options?: never;
|
|
395
|
+
head?: never;
|
|
396
|
+
patch?: never;
|
|
397
|
+
trace?: never;
|
|
398
|
+
};
|
|
399
|
+
"/api/v1/assets/{assetId}/versions/{versionId}": {
|
|
400
|
+
parameters: {
|
|
401
|
+
query?: never;
|
|
402
|
+
header?: never;
|
|
403
|
+
path?: never;
|
|
404
|
+
cookie?: never;
|
|
405
|
+
};
|
|
406
|
+
get?: never;
|
|
407
|
+
put?: never;
|
|
408
|
+
post?: never;
|
|
409
|
+
delete?: never;
|
|
410
|
+
options?: never;
|
|
411
|
+
head?: never;
|
|
412
|
+
/**
|
|
413
|
+
* Set or clear a version note
|
|
414
|
+
* @description The note says what changed in this version; it shows on the dashboard and on share pages next to the change chips.
|
|
415
|
+
*
|
|
416
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
417
|
+
*/
|
|
418
|
+
patch: operations["patchAssetsAssetIdVersionsVersionId"];
|
|
419
|
+
trace?: never;
|
|
420
|
+
};
|
|
421
|
+
"/api/v1/assets/{assetId}/versions/{versionId}/reviews": {
|
|
422
|
+
parameters: {
|
|
423
|
+
query?: never;
|
|
424
|
+
header?: never;
|
|
425
|
+
path?: never;
|
|
426
|
+
cookie?: never;
|
|
427
|
+
};
|
|
428
|
+
/**
|
|
429
|
+
* List review decisions on a version
|
|
430
|
+
* @description Newest first. `summary` counts approvals and change requests by each reviewer's current stance (their latest decision); `awaitingApproval` is true while publish-on-approval holds this ready version.
|
|
431
|
+
*
|
|
432
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
433
|
+
*/
|
|
434
|
+
get: operations["getAssetsAssetIdVersionsVersionIdReviews"];
|
|
435
|
+
put?: never;
|
|
436
|
+
/**
|
|
437
|
+
* Approve or request changes
|
|
438
|
+
* @description Emits `version.approved` or `version.changes_requested`. When the project publishes on approval and the decision comes from someone the mode admits (`owner`: an owner or admin's dashboard session; `any`: anyone, API keys included), approving the newest ready version makes it live and emits `asset.ready`; `promoted` says whether that happened. Key-authored decisions show the key name as the reviewer.
|
|
439
|
+
*
|
|
440
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
441
|
+
*/
|
|
442
|
+
post: operations["postAssetsAssetIdVersionsVersionIdReviews"];
|
|
443
|
+
delete?: never;
|
|
444
|
+
options?: never;
|
|
445
|
+
head?: never;
|
|
446
|
+
patch?: never;
|
|
447
|
+
trace?: never;
|
|
448
|
+
};
|
|
449
|
+
"/api/v1/billing/checkout": {
|
|
450
|
+
parameters: {
|
|
451
|
+
query?: never;
|
|
452
|
+
header?: never;
|
|
453
|
+
path?: never;
|
|
454
|
+
cookie?: never;
|
|
455
|
+
};
|
|
456
|
+
get?: never;
|
|
457
|
+
put?: never;
|
|
458
|
+
/**
|
|
459
|
+
* Start a hosted Stripe Checkout for a paid plan
|
|
460
|
+
* @description Dashboard session with the owner role. Returns the Checkout URL to redirect to.
|
|
461
|
+
*
|
|
462
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
463
|
+
*/
|
|
464
|
+
post: operations["postBillingCheckout"];
|
|
465
|
+
delete?: never;
|
|
466
|
+
options?: never;
|
|
467
|
+
head?: never;
|
|
468
|
+
patch?: never;
|
|
469
|
+
trace?: never;
|
|
470
|
+
};
|
|
471
|
+
"/api/v1/billing/portal": {
|
|
472
|
+
parameters: {
|
|
473
|
+
query?: never;
|
|
474
|
+
header?: never;
|
|
475
|
+
path?: never;
|
|
476
|
+
cookie?: never;
|
|
477
|
+
};
|
|
478
|
+
get?: never;
|
|
479
|
+
put?: never;
|
|
480
|
+
/**
|
|
481
|
+
* Open the Stripe Customer Portal
|
|
482
|
+
* @description Dashboard session with the owner role; needs an existing subscription.
|
|
483
|
+
*
|
|
484
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
485
|
+
*/
|
|
486
|
+
post: operations["postBillingPortal"];
|
|
487
|
+
delete?: never;
|
|
488
|
+
options?: never;
|
|
489
|
+
head?: never;
|
|
490
|
+
patch?: never;
|
|
491
|
+
trace?: never;
|
|
492
|
+
};
|
|
493
|
+
"/api/v1/billing/switch-interval": {
|
|
494
|
+
parameters: {
|
|
495
|
+
query?: never;
|
|
496
|
+
header?: never;
|
|
497
|
+
path?: never;
|
|
498
|
+
cookie?: never;
|
|
499
|
+
};
|
|
500
|
+
get?: never;
|
|
501
|
+
put?: never;
|
|
502
|
+
/**
|
|
503
|
+
* Switch the plan subscription between monthly and yearly billing
|
|
504
|
+
* @description Dashboard session with the owner role; needs an active paid subscription. The cycle restarts now and is invoiced immediately with the unused remainder credited. Yearly billing keeps the metered overage prices on a second, monthly subscription.
|
|
505
|
+
*
|
|
506
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
507
|
+
*/
|
|
508
|
+
post: operations["postBillingSwitch-interval"];
|
|
509
|
+
delete?: never;
|
|
510
|
+
options?: never;
|
|
511
|
+
head?: never;
|
|
512
|
+
patch?: never;
|
|
513
|
+
trace?: never;
|
|
514
|
+
};
|
|
515
|
+
"/api/v1/collections": {
|
|
516
|
+
parameters: {
|
|
517
|
+
query?: never;
|
|
518
|
+
header?: never;
|
|
519
|
+
path?: never;
|
|
520
|
+
cookie?: never;
|
|
521
|
+
};
|
|
522
|
+
/**
|
|
523
|
+
* List collections
|
|
524
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
525
|
+
*/
|
|
526
|
+
get: operations["getCollections"];
|
|
527
|
+
put?: never;
|
|
528
|
+
/**
|
|
529
|
+
* Create a collection
|
|
530
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
531
|
+
*/
|
|
532
|
+
post: operations["postCollections"];
|
|
533
|
+
delete?: never;
|
|
534
|
+
options?: never;
|
|
535
|
+
head?: never;
|
|
536
|
+
patch?: never;
|
|
537
|
+
trace?: never;
|
|
538
|
+
};
|
|
539
|
+
"/api/v1/collections/{collectionId}": {
|
|
540
|
+
parameters: {
|
|
541
|
+
query?: never;
|
|
542
|
+
header?: never;
|
|
543
|
+
path?: never;
|
|
544
|
+
cookie?: never;
|
|
545
|
+
};
|
|
546
|
+
/**
|
|
547
|
+
* Collection with its assets in order
|
|
548
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
549
|
+
*/
|
|
550
|
+
get: operations["getCollectionsCollectionId"];
|
|
551
|
+
put?: never;
|
|
552
|
+
post?: never;
|
|
553
|
+
/**
|
|
554
|
+
* Delete a collection (its share links stop resolving)
|
|
555
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
556
|
+
*/
|
|
557
|
+
delete: operations["deleteCollectionsCollectionId"];
|
|
558
|
+
options?: never;
|
|
559
|
+
head?: never;
|
|
560
|
+
/**
|
|
561
|
+
* Rename a collection or replace its membership
|
|
562
|
+
* @description `assetIds` replaces the membership in the given order (max 50; ids outside the project are dropped).
|
|
563
|
+
*
|
|
564
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
565
|
+
*/
|
|
566
|
+
patch: operations["patchCollectionsCollectionId"];
|
|
567
|
+
trace?: never;
|
|
568
|
+
};
|
|
569
|
+
"/api/v1/comments/{commentId}": {
|
|
570
|
+
parameters: {
|
|
571
|
+
query?: never;
|
|
572
|
+
header?: never;
|
|
573
|
+
path?: never;
|
|
574
|
+
cookie?: never;
|
|
575
|
+
};
|
|
576
|
+
get?: never;
|
|
577
|
+
put?: never;
|
|
578
|
+
post?: never;
|
|
579
|
+
/**
|
|
580
|
+
* Delete a comment (and its replies)
|
|
581
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
582
|
+
*/
|
|
583
|
+
delete: operations["deleteCommentsCommentId"];
|
|
584
|
+
options?: never;
|
|
585
|
+
head?: never;
|
|
586
|
+
/**
|
|
587
|
+
* Resolve or reopen a comment
|
|
588
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
589
|
+
*/
|
|
590
|
+
patch: operations["patchCommentsCommentId"];
|
|
591
|
+
trace?: never;
|
|
592
|
+
};
|
|
593
|
+
"/api/v1/environments": {
|
|
594
|
+
parameters: {
|
|
595
|
+
query?: never;
|
|
596
|
+
header?: never;
|
|
597
|
+
path?: never;
|
|
598
|
+
cookie?: never;
|
|
599
|
+
};
|
|
600
|
+
/**
|
|
601
|
+
* List project environments
|
|
602
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
603
|
+
*/
|
|
604
|
+
get: operations["getEnvironments"];
|
|
605
|
+
put?: never;
|
|
606
|
+
/**
|
|
607
|
+
* Upload an equirect environment (.hdr, .jpg, .png up to 8 MiB)
|
|
608
|
+
* @description Multipart form with `name` and `file`. Renders 64/128/256/512/1024 px JPEG maps (plus HDR for HDR sources), served at `/env/{envId}.jpg?size=` and `/env/{envId}.hdr?size=`.
|
|
609
|
+
*
|
|
610
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
611
|
+
*/
|
|
612
|
+
post: operations["postEnvironments"];
|
|
613
|
+
delete?: never;
|
|
614
|
+
options?: never;
|
|
615
|
+
head?: never;
|
|
616
|
+
patch?: never;
|
|
617
|
+
trace?: never;
|
|
618
|
+
};
|
|
619
|
+
"/api/v1/environments/{envId}": {
|
|
620
|
+
parameters: {
|
|
621
|
+
query?: never;
|
|
622
|
+
header?: never;
|
|
623
|
+
path?: never;
|
|
624
|
+
cookie?: never;
|
|
625
|
+
};
|
|
626
|
+
/**
|
|
627
|
+
* Get an environment
|
|
628
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
629
|
+
*/
|
|
630
|
+
get: operations["getEnvironmentsEnvId"];
|
|
631
|
+
put?: never;
|
|
632
|
+
post?: never;
|
|
633
|
+
/**
|
|
634
|
+
* Delete an environment
|
|
635
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
636
|
+
*/
|
|
637
|
+
delete: operations["deleteEnvironmentsEnvId"];
|
|
638
|
+
options?: never;
|
|
639
|
+
head?: never;
|
|
640
|
+
patch?: never;
|
|
641
|
+
trace?: never;
|
|
642
|
+
};
|
|
643
|
+
"/api/v1/keys": {
|
|
644
|
+
parameters: {
|
|
645
|
+
query?: never;
|
|
646
|
+
header?: never;
|
|
647
|
+
path?: never;
|
|
648
|
+
cookie?: never;
|
|
649
|
+
};
|
|
650
|
+
/**
|
|
651
|
+
* List API keys
|
|
652
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
653
|
+
*/
|
|
654
|
+
get: operations["getKeys"];
|
|
655
|
+
put?: never;
|
|
656
|
+
/**
|
|
657
|
+
* Create an API key
|
|
658
|
+
* @description The plain key is returned once in `key`; only its hash is stored.
|
|
659
|
+
*
|
|
660
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
661
|
+
*/
|
|
662
|
+
post: operations["postKeys"];
|
|
663
|
+
delete?: never;
|
|
664
|
+
options?: never;
|
|
665
|
+
head?: never;
|
|
666
|
+
patch?: never;
|
|
667
|
+
trace?: never;
|
|
668
|
+
};
|
|
669
|
+
"/api/v1/keys/{keyId}": {
|
|
670
|
+
parameters: {
|
|
671
|
+
query?: never;
|
|
672
|
+
header?: never;
|
|
673
|
+
path?: never;
|
|
674
|
+
cookie?: never;
|
|
675
|
+
};
|
|
676
|
+
get?: never;
|
|
677
|
+
put?: never;
|
|
678
|
+
post?: never;
|
|
679
|
+
/**
|
|
680
|
+
* Revoke an API key
|
|
681
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
682
|
+
*/
|
|
683
|
+
delete: operations["deleteKeysKeyId"];
|
|
684
|
+
options?: never;
|
|
685
|
+
head?: never;
|
|
686
|
+
patch?: never;
|
|
687
|
+
trace?: never;
|
|
688
|
+
};
|
|
689
|
+
"/api/v1/me": {
|
|
690
|
+
parameters: {
|
|
691
|
+
query?: never;
|
|
692
|
+
header?: never;
|
|
693
|
+
path?: never;
|
|
694
|
+
cookie?: never;
|
|
695
|
+
};
|
|
696
|
+
/**
|
|
697
|
+
* Who the key or session is
|
|
698
|
+
* @description The org and its plan, the project requests work in (a key pinned to a project, the `X-GLBoost-Project` header, or the oldest project), the member role (null for keys), and the key name and scopes. The SDK defaults `projectId` from it; `glboost whoami` prints it.
|
|
699
|
+
*
|
|
700
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
701
|
+
*/
|
|
702
|
+
get: operations["getMe"];
|
|
703
|
+
put?: never;
|
|
704
|
+
post?: never;
|
|
705
|
+
delete?: never;
|
|
706
|
+
options?: never;
|
|
707
|
+
head?: never;
|
|
708
|
+
patch?: never;
|
|
709
|
+
trace?: never;
|
|
710
|
+
};
|
|
711
|
+
"/api/v1/members": {
|
|
712
|
+
parameters: {
|
|
713
|
+
query?: never;
|
|
714
|
+
header?: never;
|
|
715
|
+
path?: never;
|
|
716
|
+
cookie?: never;
|
|
717
|
+
};
|
|
718
|
+
/**
|
|
719
|
+
* List members and open invitations
|
|
720
|
+
* @description Invitation links are included for owners and admins only.
|
|
721
|
+
*
|
|
722
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
723
|
+
*/
|
|
724
|
+
get: operations["getMembers"];
|
|
725
|
+
put?: never;
|
|
726
|
+
post?: never;
|
|
727
|
+
delete?: never;
|
|
728
|
+
options?: never;
|
|
729
|
+
head?: never;
|
|
730
|
+
patch?: never;
|
|
731
|
+
trace?: never;
|
|
732
|
+
};
|
|
733
|
+
"/api/v1/members/{userId}": {
|
|
734
|
+
parameters: {
|
|
735
|
+
query?: never;
|
|
736
|
+
header?: never;
|
|
737
|
+
path?: never;
|
|
738
|
+
cookie?: never;
|
|
739
|
+
};
|
|
740
|
+
get?: never;
|
|
741
|
+
put?: never;
|
|
742
|
+
post?: never;
|
|
743
|
+
/**
|
|
744
|
+
* Remove a member (or leave)
|
|
745
|
+
* @description Anyone may remove themselves except the last owner.
|
|
746
|
+
*
|
|
747
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
748
|
+
*/
|
|
749
|
+
delete: operations["deleteMembersUserId"];
|
|
750
|
+
options?: never;
|
|
751
|
+
head?: never;
|
|
752
|
+
/**
|
|
753
|
+
* Change a member's role
|
|
754
|
+
* @description Owners and admins may set roles no higher than their own, never their own role; the last owner cannot be demoted.
|
|
755
|
+
*
|
|
756
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
757
|
+
*/
|
|
758
|
+
patch: operations["patchMembersUserId"];
|
|
759
|
+
trace?: never;
|
|
760
|
+
};
|
|
761
|
+
"/api/v1/members/invites": {
|
|
762
|
+
parameters: {
|
|
763
|
+
query?: never;
|
|
764
|
+
header?: never;
|
|
765
|
+
path?: never;
|
|
766
|
+
cookie?: never;
|
|
767
|
+
};
|
|
768
|
+
get?: never;
|
|
769
|
+
put?: never;
|
|
770
|
+
/**
|
|
771
|
+
* Invite someone by email
|
|
772
|
+
* @description Owners and admins only; admins cannot grant the owner role. Counts against the plan's seats (402 when full). An open invitation for the same address is replaced, so this doubles as "resend". The invitation is emailed when email is configured; `email.sent` says whether it was.
|
|
773
|
+
*
|
|
774
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
775
|
+
*/
|
|
776
|
+
post: operations["postMembersInvites"];
|
|
777
|
+
delete?: never;
|
|
778
|
+
options?: never;
|
|
779
|
+
head?: never;
|
|
780
|
+
patch?: never;
|
|
781
|
+
trace?: never;
|
|
782
|
+
};
|
|
783
|
+
"/api/v1/members/invites/{inviteId}": {
|
|
784
|
+
parameters: {
|
|
785
|
+
query?: never;
|
|
786
|
+
header?: never;
|
|
787
|
+
path?: never;
|
|
788
|
+
cookie?: never;
|
|
789
|
+
};
|
|
790
|
+
get?: never;
|
|
791
|
+
put?: never;
|
|
792
|
+
post?: never;
|
|
793
|
+
/**
|
|
794
|
+
* Revoke an invitation
|
|
795
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
796
|
+
*/
|
|
797
|
+
delete: operations["deleteMembersInvitesInviteId"];
|
|
798
|
+
options?: never;
|
|
799
|
+
head?: never;
|
|
800
|
+
patch?: never;
|
|
801
|
+
trace?: never;
|
|
802
|
+
};
|
|
803
|
+
"/api/v1/openapi.json": {
|
|
804
|
+
parameters: {
|
|
805
|
+
query?: never;
|
|
806
|
+
header?: never;
|
|
807
|
+
path?: never;
|
|
808
|
+
cookie?: never;
|
|
809
|
+
};
|
|
810
|
+
/**
|
|
811
|
+
* This document
|
|
812
|
+
* @description Access: No authentication.
|
|
813
|
+
*/
|
|
814
|
+
get: operations["getOpenapi"];
|
|
815
|
+
put?: never;
|
|
816
|
+
post?: never;
|
|
817
|
+
delete?: never;
|
|
818
|
+
options?: never;
|
|
819
|
+
head?: never;
|
|
820
|
+
patch?: never;
|
|
821
|
+
trace?: never;
|
|
822
|
+
};
|
|
823
|
+
"/api/v1/orgs/{orgId}": {
|
|
824
|
+
parameters: {
|
|
825
|
+
query?: never;
|
|
826
|
+
header?: never;
|
|
827
|
+
path?: never;
|
|
828
|
+
cookie?: never;
|
|
829
|
+
};
|
|
830
|
+
get?: never;
|
|
831
|
+
put?: never;
|
|
832
|
+
post?: never;
|
|
833
|
+
delete?: never;
|
|
834
|
+
options?: never;
|
|
835
|
+
head?: never;
|
|
836
|
+
/**
|
|
837
|
+
* Update organization branding
|
|
838
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
839
|
+
*/
|
|
840
|
+
patch: operations["patchOrgsOrgId"];
|
|
841
|
+
trace?: never;
|
|
842
|
+
};
|
|
843
|
+
"/api/v1/projects": {
|
|
844
|
+
parameters: {
|
|
845
|
+
query?: never;
|
|
846
|
+
header?: never;
|
|
847
|
+
path?: never;
|
|
848
|
+
cookie?: never;
|
|
849
|
+
};
|
|
850
|
+
/**
|
|
851
|
+
* List projects
|
|
852
|
+
* @description Every project of the organization, oldest first; a key pinned to a project sees only that project. Asset routes work in the active project: the dashboard's `glboost_project` cookie, a key's pinned project, or the `X-GLBoost-Project` header (404 when it names a project outside the organization), else the oldest project.
|
|
853
|
+
*
|
|
854
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
855
|
+
*/
|
|
856
|
+
get: operations["getProjects"];
|
|
857
|
+
put?: never;
|
|
858
|
+
/**
|
|
859
|
+
* Create a project
|
|
860
|
+
* @description Pro and up (`maxProjects` per plan). Owners and admins only. The project gets its own signing key and delivery settings.
|
|
861
|
+
*
|
|
862
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
863
|
+
*/
|
|
864
|
+
post: operations["postProjects"];
|
|
865
|
+
delete?: never;
|
|
866
|
+
options?: never;
|
|
867
|
+
head?: never;
|
|
868
|
+
patch?: never;
|
|
869
|
+
trace?: never;
|
|
870
|
+
};
|
|
871
|
+
"/api/v1/projects/{projectId}": {
|
|
872
|
+
parameters: {
|
|
873
|
+
query?: never;
|
|
874
|
+
header?: never;
|
|
875
|
+
path?: never;
|
|
876
|
+
cookie?: never;
|
|
877
|
+
};
|
|
878
|
+
/**
|
|
879
|
+
* Get a project
|
|
880
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
881
|
+
*/
|
|
882
|
+
get: operations["getProjectsProjectId"];
|
|
883
|
+
put?: never;
|
|
884
|
+
post?: never;
|
|
885
|
+
/**
|
|
886
|
+
* Delete an empty project
|
|
887
|
+
* @description Owners and admins only. 409 with `reason: "not-empty"` while the project holds assets (the trash included), collections, or environments, and `reason: "last-project"` for the organization's only project.
|
|
888
|
+
*
|
|
889
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
890
|
+
*/
|
|
891
|
+
delete: operations["deleteProjectsProjectId"];
|
|
892
|
+
options?: never;
|
|
893
|
+
head?: never;
|
|
894
|
+
/**
|
|
895
|
+
* Update delivery settings
|
|
896
|
+
* @description `lodRatios` (Pro and up) lists up to three simplification ratios; every upload then gets one `gpu`-based variant per ratio for the viewer to switch between. An empty list turns the ladder off. `publishOnApproval` (Pro and up) holds replacement versions until a reviewer approves: `owner` needs an owner or admin, `any` accepts anyone the share link admits; the first version of an asset always publishes.
|
|
897
|
+
*
|
|
898
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
899
|
+
*/
|
|
900
|
+
patch: operations["patchProjectsProjectId"];
|
|
901
|
+
trace?: never;
|
|
902
|
+
};
|
|
903
|
+
"/api/v1/shares": {
|
|
904
|
+
parameters: {
|
|
905
|
+
query?: never;
|
|
906
|
+
header?: never;
|
|
907
|
+
path?: never;
|
|
908
|
+
cookie?: never;
|
|
909
|
+
};
|
|
910
|
+
/**
|
|
911
|
+
* List share links for an asset or collection
|
|
912
|
+
* @description Query: `assetId` or `collectionId` (one is required).
|
|
913
|
+
*
|
|
914
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
915
|
+
*/
|
|
916
|
+
get: operations["getShares"];
|
|
917
|
+
put?: never;
|
|
918
|
+
/**
|
|
919
|
+
* Create a share link
|
|
920
|
+
* @description `allowComments` lets viewers leave review comments; `allowReview` (defaults to `allowComments`) lets them approve or request changes on the version they see.
|
|
921
|
+
*
|
|
922
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
923
|
+
*/
|
|
924
|
+
post: operations["postShares"];
|
|
925
|
+
delete?: never;
|
|
926
|
+
options?: never;
|
|
927
|
+
head?: never;
|
|
928
|
+
patch?: never;
|
|
929
|
+
trace?: never;
|
|
930
|
+
};
|
|
931
|
+
"/api/v1/shares/{shareId}": {
|
|
932
|
+
parameters: {
|
|
933
|
+
query?: never;
|
|
934
|
+
header?: never;
|
|
935
|
+
path?: never;
|
|
936
|
+
cookie?: never;
|
|
937
|
+
};
|
|
938
|
+
/**
|
|
939
|
+
* Get a share link
|
|
940
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
941
|
+
*/
|
|
942
|
+
get: operations["getSharesShareId"];
|
|
943
|
+
put?: never;
|
|
944
|
+
post?: never;
|
|
945
|
+
/**
|
|
946
|
+
* Revoke a share link
|
|
947
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
948
|
+
*/
|
|
949
|
+
delete: operations["deleteSharesShareId"];
|
|
950
|
+
options?: never;
|
|
951
|
+
head?: never;
|
|
952
|
+
/**
|
|
953
|
+
* Update a share link
|
|
954
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
955
|
+
*/
|
|
956
|
+
patch: operations["patchSharesShareId"];
|
|
957
|
+
trace?: never;
|
|
958
|
+
};
|
|
959
|
+
"/api/v1/shares/{shareId}/events": {
|
|
960
|
+
parameters: {
|
|
961
|
+
query?: never;
|
|
962
|
+
header?: never;
|
|
963
|
+
path?: never;
|
|
964
|
+
cookie?: never;
|
|
965
|
+
};
|
|
966
|
+
/**
|
|
967
|
+
* Audit log: sessions with their events
|
|
968
|
+
* @description Access: Bearer key with the `read` scope, or a dashboard session.
|
|
969
|
+
*/
|
|
970
|
+
get: operations["getSharesShareIdEvents"];
|
|
971
|
+
put?: never;
|
|
972
|
+
post?: never;
|
|
973
|
+
delete?: never;
|
|
974
|
+
options?: never;
|
|
975
|
+
head?: never;
|
|
976
|
+
patch?: never;
|
|
977
|
+
trace?: never;
|
|
978
|
+
};
|
|
979
|
+
"/api/v1/uploads": {
|
|
980
|
+
parameters: {
|
|
981
|
+
query?: never;
|
|
982
|
+
header?: never;
|
|
983
|
+
path?: never;
|
|
984
|
+
cookie?: never;
|
|
985
|
+
};
|
|
986
|
+
get?: never;
|
|
987
|
+
put?: never;
|
|
988
|
+
/**
|
|
989
|
+
* Start an upload
|
|
990
|
+
* @description Creates the asset (or a new version when `assetId` is set) and returns a multipart upload target on the CDN: PUT each part to `{uploadUrl}/part?n=<1-based>&token=<token>` (parts of `partSize` bytes, last part may be smaller), then POST `{uploadUrl}/complete?token=<token>` with `{ parts: [{ partNumber, etag }] }`, then call `POST /api/v1/uploads/{versionId}/complete`. Accepted files: `.glb`, self-contained `.gltf`, or a `.zip` holding one `.gltf` (or `.glb`) and the files it references; a pack job turns the archive into the original GLB while the variants are optimized from it directly.
|
|
991
|
+
*
|
|
992
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
993
|
+
*/
|
|
994
|
+
post: operations["postUploads"];
|
|
995
|
+
delete?: never;
|
|
996
|
+
options?: never;
|
|
997
|
+
head?: never;
|
|
998
|
+
patch?: never;
|
|
999
|
+
trace?: never;
|
|
1000
|
+
};
|
|
1001
|
+
"/api/v1/uploads/{versionId}/abort": {
|
|
1002
|
+
parameters: {
|
|
1003
|
+
query?: never;
|
|
1004
|
+
header?: never;
|
|
1005
|
+
path?: never;
|
|
1006
|
+
cookie?: never;
|
|
1007
|
+
};
|
|
1008
|
+
get?: never;
|
|
1009
|
+
put?: never;
|
|
1010
|
+
/**
|
|
1011
|
+
* Give up on an upload
|
|
1012
|
+
* @description Marks a version that is still `uploading` as `failed` so it no longer waits for parts. Idempotent. Uploads that are never completed or aborted are failed automatically once their token expires.
|
|
1013
|
+
*
|
|
1014
|
+
* Access: Bearer key with the `write` scope, or a dashboard session.
|
|
1015
|
+
*/
|
|
1016
|
+
post: operations["postUploadsVersionIdAbort"];
|
|
1017
|
+
delete?: never;
|
|
1018
|
+
options?: never;
|
|
1019
|
+
head?: never;
|
|
1020
|
+
patch?: never;
|
|
1021
|
+
trace?: never;
|
|
1022
|
+
};
|
|
1023
|
+
"/api/v1/uploads/{versionId}/complete": {
|
|
1024
|
+
parameters: {
|
|
1025
|
+
query?: never;
|
|
1026
|
+
header?: never;
|
|
1027
|
+
path?: never;
|
|
1028
|
+
cookie?: never;
|
|
1029
|
+
};
|
|
1030
|
+
get?: never;
|
|
1031
|
+
put?: never;
|
|
1032
|
+
/**
|
|
1033
|
+
* Finish an upload and queue optimization
|
|
1034
|
+
* @description Access: Bearer key with the `write` scope, or a dashboard session.
|
|
1035
|
+
*/
|
|
1036
|
+
post: operations["postUploadsVersionIdComplete"];
|
|
1037
|
+
delete?: never;
|
|
1038
|
+
options?: never;
|
|
1039
|
+
head?: never;
|
|
1040
|
+
patch?: never;
|
|
1041
|
+
trace?: never;
|
|
1042
|
+
};
|
|
1043
|
+
"/api/v1/usage": {
|
|
1044
|
+
parameters: {
|
|
1045
|
+
query?: never;
|
|
1046
|
+
header?: never;
|
|
1047
|
+
path?: never;
|
|
1048
|
+
cookie?: never;
|
|
1049
|
+
};
|
|
1050
|
+
/**
|
|
1051
|
+
* Usage for the project
|
|
1052
|
+
* @description Query: `from`, `to` (YYYY-MM-DD, default last 30 days). Returns rolled-up days (`daily`), live delivery stats for the last 7 days (`delivery`, zeros when Analytics Engine is not configured), and share activity (`shares`).
|
|
1053
|
+
*
|
|
1054
|
+
* Access: Bearer key with the `read` scope, or a dashboard session.
|
|
1055
|
+
*/
|
|
1056
|
+
get: operations["getUsage"];
|
|
1057
|
+
put?: never;
|
|
1058
|
+
post?: never;
|
|
1059
|
+
delete?: never;
|
|
1060
|
+
options?: never;
|
|
1061
|
+
head?: never;
|
|
1062
|
+
patch?: never;
|
|
1063
|
+
trace?: never;
|
|
1064
|
+
};
|
|
1065
|
+
"/api/v1/webhooks": {
|
|
1066
|
+
parameters: {
|
|
1067
|
+
query?: never;
|
|
1068
|
+
header?: never;
|
|
1069
|
+
path?: never;
|
|
1070
|
+
cookie?: never;
|
|
1071
|
+
};
|
|
1072
|
+
/**
|
|
1073
|
+
* List webhooks
|
|
1074
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
1075
|
+
*/
|
|
1076
|
+
get: operations["getWebhooks"];
|
|
1077
|
+
put?: never;
|
|
1078
|
+
/**
|
|
1079
|
+
* Create a webhook
|
|
1080
|
+
* @description The signing secret is returned once in `secret`.
|
|
1081
|
+
*
|
|
1082
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
1083
|
+
*/
|
|
1084
|
+
post: operations["postWebhooks"];
|
|
1085
|
+
delete?: never;
|
|
1086
|
+
options?: never;
|
|
1087
|
+
head?: never;
|
|
1088
|
+
patch?: never;
|
|
1089
|
+
trace?: never;
|
|
1090
|
+
};
|
|
1091
|
+
"/api/v1/webhooks/{webhookId}": {
|
|
1092
|
+
parameters: {
|
|
1093
|
+
query?: never;
|
|
1094
|
+
header?: never;
|
|
1095
|
+
path?: never;
|
|
1096
|
+
cookie?: never;
|
|
1097
|
+
};
|
|
1098
|
+
get?: never;
|
|
1099
|
+
put?: never;
|
|
1100
|
+
post?: never;
|
|
1101
|
+
/**
|
|
1102
|
+
* Delete a webhook
|
|
1103
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
1104
|
+
*/
|
|
1105
|
+
delete: operations["deleteWebhooksWebhookId"];
|
|
1106
|
+
options?: never;
|
|
1107
|
+
head?: never;
|
|
1108
|
+
/**
|
|
1109
|
+
* Update a webhook
|
|
1110
|
+
* @description Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
1111
|
+
*/
|
|
1112
|
+
patch: operations["patchWebhooksWebhookId"];
|
|
1113
|
+
trace?: never;
|
|
1114
|
+
};
|
|
1115
|
+
"/api/v1/webhooks/{webhookId}/deliveries": {
|
|
1116
|
+
parameters: {
|
|
1117
|
+
query?: never;
|
|
1118
|
+
header?: never;
|
|
1119
|
+
path?: never;
|
|
1120
|
+
cookie?: never;
|
|
1121
|
+
};
|
|
1122
|
+
/**
|
|
1123
|
+
* Recent deliveries
|
|
1124
|
+
* @description Query: `limit` (1–100, default 20).
|
|
1125
|
+
*
|
|
1126
|
+
* Access: Dashboard session only (API keys cannot manage keys, webhooks, or members).
|
|
1127
|
+
*/
|
|
1128
|
+
get: operations["getWebhooksWebhookIdDeliveries"];
|
|
1129
|
+
put?: never;
|
|
1130
|
+
post?: never;
|
|
1131
|
+
delete?: never;
|
|
1132
|
+
options?: never;
|
|
1133
|
+
head?: never;
|
|
1134
|
+
patch?: never;
|
|
1135
|
+
trace?: never;
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
interface components {
|
|
1139
|
+
schemas: never;
|
|
1140
|
+
responses: never;
|
|
1141
|
+
parameters: never;
|
|
1142
|
+
requestBodies: never;
|
|
1143
|
+
headers: never;
|
|
1144
|
+
pathItems: never;
|
|
1145
|
+
}
|
|
1146
|
+
interface operations {
|
|
1147
|
+
getAssets: {
|
|
1148
|
+
parameters: {
|
|
1149
|
+
query?: {
|
|
1150
|
+
deleted?: "0" | "1" | "true" | "false";
|
|
1151
|
+
projectId?: string;
|
|
1152
|
+
q?: string;
|
|
1153
|
+
tag?: string;
|
|
1154
|
+
};
|
|
1155
|
+
header?: never;
|
|
1156
|
+
path?: never;
|
|
1157
|
+
cookie?: never;
|
|
1158
|
+
};
|
|
1159
|
+
requestBody?: never;
|
|
1160
|
+
responses: {
|
|
1161
|
+
/** @description Assets */
|
|
1162
|
+
200: {
|
|
1163
|
+
headers: {
|
|
1164
|
+
[name: string]: unknown;
|
|
1165
|
+
};
|
|
1166
|
+
content: {
|
|
1167
|
+
"application/json": {
|
|
1168
|
+
assets: {
|
|
1169
|
+
[key: string]: unknown;
|
|
1170
|
+
}[];
|
|
1171
|
+
};
|
|
1172
|
+
};
|
|
1173
|
+
};
|
|
1174
|
+
/** @description Invalid body */
|
|
1175
|
+
400: {
|
|
1176
|
+
headers: {
|
|
1177
|
+
[name: string]: unknown;
|
|
1178
|
+
};
|
|
1179
|
+
content: {
|
|
1180
|
+
"application/json": {
|
|
1181
|
+
error: string;
|
|
1182
|
+
issues?: unknown[];
|
|
1183
|
+
};
|
|
1184
|
+
};
|
|
1185
|
+
};
|
|
1186
|
+
};
|
|
1187
|
+
};
|
|
1188
|
+
getAssetsAssetId: {
|
|
1189
|
+
parameters: {
|
|
1190
|
+
query?: never;
|
|
1191
|
+
header?: never;
|
|
1192
|
+
path: {
|
|
1193
|
+
assetId: string;
|
|
1194
|
+
};
|
|
1195
|
+
cookie?: never;
|
|
1196
|
+
};
|
|
1197
|
+
requestBody?: never;
|
|
1198
|
+
responses: {
|
|
1199
|
+
/** @description Asset detail */
|
|
1200
|
+
200: {
|
|
1201
|
+
headers: {
|
|
1202
|
+
[name: string]: unknown;
|
|
1203
|
+
};
|
|
1204
|
+
content: {
|
|
1205
|
+
"application/json": {
|
|
1206
|
+
asset: {
|
|
1207
|
+
createdAt: string;
|
|
1208
|
+
deletedAt: string | null;
|
|
1209
|
+
description: string | null;
|
|
1210
|
+
id: string;
|
|
1211
|
+
name: string;
|
|
1212
|
+
projectId: string;
|
|
1213
|
+
tags: string[];
|
|
1214
|
+
/** @enum {string} */
|
|
1215
|
+
visibility: "public" | "private";
|
|
1216
|
+
} & {
|
|
1217
|
+
[key: string]: unknown;
|
|
1218
|
+
};
|
|
1219
|
+
project: {
|
|
1220
|
+
[key: string]: unknown;
|
|
1221
|
+
};
|
|
1222
|
+
versions: ({
|
|
1223
|
+
assetId: string;
|
|
1224
|
+
createdAt: string;
|
|
1225
|
+
id: string;
|
|
1226
|
+
note: string | null;
|
|
1227
|
+
number: number;
|
|
1228
|
+
originalBytes: number | null;
|
|
1229
|
+
/** @description The version's review state (counts, reviewers, awaitingApproval); see /docs/sharing */
|
|
1230
|
+
review: {
|
|
1231
|
+
[key: string]: unknown;
|
|
1232
|
+
};
|
|
1233
|
+
/** @enum {string} */
|
|
1234
|
+
sourceFormat: "glb" | "gltf" | "zip";
|
|
1235
|
+
/** @enum {string} */
|
|
1236
|
+
status: "uploading" | "uploaded" | "processing" | "ready" | "failed";
|
|
1237
|
+
variants: ({
|
|
1238
|
+
bytes: number | null;
|
|
1239
|
+
id: string;
|
|
1240
|
+
preset: string | null;
|
|
1241
|
+
/** @description Set for ready variants with stats; see /docs/score */
|
|
1242
|
+
score: {
|
|
1243
|
+
checks: {
|
|
1244
|
+
advice?: string;
|
|
1245
|
+
budget: string;
|
|
1246
|
+
id: string;
|
|
1247
|
+
label: string;
|
|
1248
|
+
max: number;
|
|
1249
|
+
points: number;
|
|
1250
|
+
value: number | string;
|
|
1251
|
+
}[];
|
|
1252
|
+
/** @enum {string} */
|
|
1253
|
+
grade: "A" | "B" | "C" | "D" | "F";
|
|
1254
|
+
points: number;
|
|
1255
|
+
/** @constant */
|
|
1256
|
+
version: 1;
|
|
1257
|
+
} | null;
|
|
1258
|
+
spec: string;
|
|
1259
|
+
/** @enum {string} */
|
|
1260
|
+
status: "queued" | "processing" | "ready" | "failed";
|
|
1261
|
+
} & {
|
|
1262
|
+
[key: string]: unknown;
|
|
1263
|
+
})[];
|
|
1264
|
+
} & {
|
|
1265
|
+
[key: string]: unknown;
|
|
1266
|
+
})[];
|
|
1267
|
+
};
|
|
1268
|
+
};
|
|
1269
|
+
};
|
|
1270
|
+
/** @description Not found */
|
|
1271
|
+
404: {
|
|
1272
|
+
headers: {
|
|
1273
|
+
[name: string]: unknown;
|
|
1274
|
+
};
|
|
1275
|
+
content: {
|
|
1276
|
+
"application/json": {
|
|
1277
|
+
error: string;
|
|
1278
|
+
issues?: unknown[];
|
|
1279
|
+
};
|
|
1280
|
+
};
|
|
1281
|
+
};
|
|
1282
|
+
};
|
|
1283
|
+
};
|
|
1284
|
+
deleteAssetsAssetId: {
|
|
1285
|
+
parameters: {
|
|
1286
|
+
query?: {
|
|
1287
|
+
/** @description Purge a trashed asset for good */
|
|
1288
|
+
permanent?: "1" | "true";
|
|
1289
|
+
};
|
|
1290
|
+
header?: never;
|
|
1291
|
+
path: {
|
|
1292
|
+
assetId: string;
|
|
1293
|
+
};
|
|
1294
|
+
cookie?: never;
|
|
1295
|
+
};
|
|
1296
|
+
requestBody?: never;
|
|
1297
|
+
responses: {
|
|
1298
|
+
/** @description Deleted */
|
|
1299
|
+
200: {
|
|
1300
|
+
headers: {
|
|
1301
|
+
[name: string]: unknown;
|
|
1302
|
+
};
|
|
1303
|
+
content: {
|
|
1304
|
+
"application/json": {
|
|
1305
|
+
deleted: boolean;
|
|
1306
|
+
objects?: number;
|
|
1307
|
+
permanent: boolean;
|
|
1308
|
+
};
|
|
1309
|
+
};
|
|
1310
|
+
};
|
|
1311
|
+
/** @description Not found */
|
|
1312
|
+
404: {
|
|
1313
|
+
headers: {
|
|
1314
|
+
[name: string]: unknown;
|
|
1315
|
+
};
|
|
1316
|
+
content: {
|
|
1317
|
+
"application/json": {
|
|
1318
|
+
error: string;
|
|
1319
|
+
issues?: unknown[];
|
|
1320
|
+
};
|
|
1321
|
+
};
|
|
1322
|
+
};
|
|
1323
|
+
/** @description Live asset with `permanent=1` */
|
|
1324
|
+
409: {
|
|
1325
|
+
headers: {
|
|
1326
|
+
[name: string]: unknown;
|
|
1327
|
+
};
|
|
1328
|
+
content: {
|
|
1329
|
+
"application/json": {
|
|
1330
|
+
error: string;
|
|
1331
|
+
issues?: unknown[];
|
|
1332
|
+
};
|
|
1333
|
+
};
|
|
1334
|
+
};
|
|
1335
|
+
};
|
|
1336
|
+
};
|
|
1337
|
+
patchAssetsAssetId: {
|
|
1338
|
+
parameters: {
|
|
1339
|
+
query?: never;
|
|
1340
|
+
header?: never;
|
|
1341
|
+
path: {
|
|
1342
|
+
assetId: string;
|
|
1343
|
+
};
|
|
1344
|
+
cookie?: never;
|
|
1345
|
+
};
|
|
1346
|
+
requestBody: {
|
|
1347
|
+
content: {
|
|
1348
|
+
"application/json": {
|
|
1349
|
+
description?: string | null;
|
|
1350
|
+
hotspots?: {
|
|
1351
|
+
body?: string;
|
|
1352
|
+
camera?: {
|
|
1353
|
+
distance: number;
|
|
1354
|
+
fov?: number;
|
|
1355
|
+
pitch: number;
|
|
1356
|
+
yaw: number;
|
|
1357
|
+
};
|
|
1358
|
+
id: string;
|
|
1359
|
+
normal: [
|
|
1360
|
+
number,
|
|
1361
|
+
number,
|
|
1362
|
+
number
|
|
1363
|
+
];
|
|
1364
|
+
position: [
|
|
1365
|
+
number,
|
|
1366
|
+
number,
|
|
1367
|
+
number
|
|
1368
|
+
];
|
|
1369
|
+
title: string;
|
|
1370
|
+
variant?: string;
|
|
1371
|
+
}[];
|
|
1372
|
+
name?: string;
|
|
1373
|
+
projectId?: string;
|
|
1374
|
+
tags?: string[];
|
|
1375
|
+
viewerSettings?: {
|
|
1376
|
+
animation?: string | null;
|
|
1377
|
+
ar?: boolean;
|
|
1378
|
+
autoRotate?: boolean;
|
|
1379
|
+
background?: string;
|
|
1380
|
+
camera?: {
|
|
1381
|
+
distance: number;
|
|
1382
|
+
fov?: number;
|
|
1383
|
+
pitch: number;
|
|
1384
|
+
yaw: number;
|
|
1385
|
+
};
|
|
1386
|
+
environment?: string;
|
|
1387
|
+
exposure?: number;
|
|
1388
|
+
shadowIntensity?: number;
|
|
1389
|
+
target?: [
|
|
1390
|
+
number,
|
|
1391
|
+
number,
|
|
1392
|
+
number
|
|
1393
|
+
];
|
|
1394
|
+
variant?: string | null;
|
|
1395
|
+
variantPicker?: {
|
|
1396
|
+
enabled: boolean;
|
|
1397
|
+
labels?: {
|
|
1398
|
+
[key: string]: string;
|
|
1399
|
+
};
|
|
1400
|
+
swatches?: {
|
|
1401
|
+
[key: string]: string;
|
|
1402
|
+
};
|
|
1403
|
+
};
|
|
1404
|
+
} | null;
|
|
1405
|
+
/** @enum {string} */
|
|
1406
|
+
visibility?: "public" | "private";
|
|
1407
|
+
};
|
|
1408
|
+
};
|
|
1409
|
+
};
|
|
1410
|
+
responses: {
|
|
1411
|
+
/** @description Asset */
|
|
1412
|
+
200: {
|
|
1413
|
+
headers: {
|
|
1414
|
+
[name: string]: unknown;
|
|
1415
|
+
};
|
|
1416
|
+
content: {
|
|
1417
|
+
"application/json": {
|
|
1418
|
+
asset: {
|
|
1419
|
+
[key: string]: unknown;
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
};
|
|
1424
|
+
/** @description Invalid body */
|
|
1425
|
+
400: {
|
|
1426
|
+
headers: {
|
|
1427
|
+
[name: string]: unknown;
|
|
1428
|
+
};
|
|
1429
|
+
content: {
|
|
1430
|
+
"application/json": {
|
|
1431
|
+
error: string;
|
|
1432
|
+
issues?: unknown[];
|
|
1433
|
+
};
|
|
1434
|
+
};
|
|
1435
|
+
};
|
|
1436
|
+
/** @description Not found */
|
|
1437
|
+
404: {
|
|
1438
|
+
headers: {
|
|
1439
|
+
[name: string]: unknown;
|
|
1440
|
+
};
|
|
1441
|
+
content: {
|
|
1442
|
+
"application/json": {
|
|
1443
|
+
error: string;
|
|
1444
|
+
issues?: unknown[];
|
|
1445
|
+
};
|
|
1446
|
+
};
|
|
1447
|
+
};
|
|
1448
|
+
};
|
|
1449
|
+
};
|
|
1450
|
+
getAssetsAssetIdComments: {
|
|
1451
|
+
parameters: {
|
|
1452
|
+
query?: never;
|
|
1453
|
+
header?: never;
|
|
1454
|
+
path: {
|
|
1455
|
+
assetId: string;
|
|
1456
|
+
};
|
|
1457
|
+
cookie?: never;
|
|
1458
|
+
};
|
|
1459
|
+
requestBody?: never;
|
|
1460
|
+
responses: {
|
|
1461
|
+
/** @description Comments */
|
|
1462
|
+
200: {
|
|
1463
|
+
headers: {
|
|
1464
|
+
[name: string]: unknown;
|
|
1465
|
+
};
|
|
1466
|
+
content: {
|
|
1467
|
+
"application/json": {
|
|
1468
|
+
comments: {
|
|
1469
|
+
[key: string]: unknown;
|
|
1470
|
+
}[];
|
|
1471
|
+
};
|
|
1472
|
+
};
|
|
1473
|
+
};
|
|
1474
|
+
/** @description Not found */
|
|
1475
|
+
404: {
|
|
1476
|
+
headers: {
|
|
1477
|
+
[name: string]: unknown;
|
|
1478
|
+
};
|
|
1479
|
+
content: {
|
|
1480
|
+
"application/json": {
|
|
1481
|
+
error: string;
|
|
1482
|
+
issues?: unknown[];
|
|
1483
|
+
};
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
postAssetsAssetIdComments: {
|
|
1489
|
+
parameters: {
|
|
1490
|
+
query?: never;
|
|
1491
|
+
header?: never;
|
|
1492
|
+
path: {
|
|
1493
|
+
assetId: string;
|
|
1494
|
+
};
|
|
1495
|
+
cookie?: never;
|
|
1496
|
+
};
|
|
1497
|
+
requestBody: {
|
|
1498
|
+
content: {
|
|
1499
|
+
"application/json": {
|
|
1500
|
+
anchor?: {
|
|
1501
|
+
camera?: {
|
|
1502
|
+
distance: number;
|
|
1503
|
+
fov?: number;
|
|
1504
|
+
pitch: number;
|
|
1505
|
+
yaw: number;
|
|
1506
|
+
};
|
|
1507
|
+
measure?: {
|
|
1508
|
+
a: [
|
|
1509
|
+
number,
|
|
1510
|
+
number,
|
|
1511
|
+
number
|
|
1512
|
+
];
|
|
1513
|
+
b: [
|
|
1514
|
+
number,
|
|
1515
|
+
number,
|
|
1516
|
+
number
|
|
1517
|
+
];
|
|
1518
|
+
};
|
|
1519
|
+
normal: [
|
|
1520
|
+
number,
|
|
1521
|
+
number,
|
|
1522
|
+
number
|
|
1523
|
+
];
|
|
1524
|
+
position: [
|
|
1525
|
+
number,
|
|
1526
|
+
number,
|
|
1527
|
+
number
|
|
1528
|
+
];
|
|
1529
|
+
} | null;
|
|
1530
|
+
body: string;
|
|
1531
|
+
parentId?: string | null;
|
|
1532
|
+
versionId?: string | null;
|
|
1533
|
+
};
|
|
1534
|
+
};
|
|
1535
|
+
};
|
|
1536
|
+
responses: {
|
|
1537
|
+
/** @description Created */
|
|
1538
|
+
201: {
|
|
1539
|
+
headers: {
|
|
1540
|
+
[name: string]: unknown;
|
|
1541
|
+
};
|
|
1542
|
+
content: {
|
|
1543
|
+
"application/json": {
|
|
1544
|
+
comment: {
|
|
1545
|
+
[key: string]: unknown;
|
|
1546
|
+
};
|
|
1547
|
+
};
|
|
1548
|
+
};
|
|
1549
|
+
};
|
|
1550
|
+
/** @description Invalid body */
|
|
1551
|
+
400: {
|
|
1552
|
+
headers: {
|
|
1553
|
+
[name: string]: unknown;
|
|
1554
|
+
};
|
|
1555
|
+
content: {
|
|
1556
|
+
"application/json": {
|
|
1557
|
+
error: string;
|
|
1558
|
+
issues?: unknown[];
|
|
1559
|
+
};
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
/** @description Not found */
|
|
1563
|
+
404: {
|
|
1564
|
+
headers: {
|
|
1565
|
+
[name: string]: unknown;
|
|
1566
|
+
};
|
|
1567
|
+
content: {
|
|
1568
|
+
"application/json": {
|
|
1569
|
+
error: string;
|
|
1570
|
+
issues?: unknown[];
|
|
1571
|
+
};
|
|
1572
|
+
};
|
|
1573
|
+
};
|
|
1574
|
+
};
|
|
1575
|
+
};
|
|
1576
|
+
getAssetsAssetIdCompat: {
|
|
1577
|
+
parameters: {
|
|
1578
|
+
query?: never;
|
|
1579
|
+
header?: never;
|
|
1580
|
+
path: {
|
|
1581
|
+
assetId: string;
|
|
1582
|
+
};
|
|
1583
|
+
cookie?: never;
|
|
1584
|
+
};
|
|
1585
|
+
requestBody?: never;
|
|
1586
|
+
responses: {
|
|
1587
|
+
/** @description Versions with variant verdicts */
|
|
1588
|
+
200: {
|
|
1589
|
+
headers: {
|
|
1590
|
+
[name: string]: unknown;
|
|
1591
|
+
};
|
|
1592
|
+
content?: never;
|
|
1593
|
+
};
|
|
1594
|
+
/** @description Not found */
|
|
1595
|
+
404: {
|
|
1596
|
+
headers: {
|
|
1597
|
+
[name: string]: unknown;
|
|
1598
|
+
};
|
|
1599
|
+
content: {
|
|
1600
|
+
"application/json": {
|
|
1601
|
+
error: string;
|
|
1602
|
+
issues?: unknown[];
|
|
1603
|
+
};
|
|
1604
|
+
};
|
|
1605
|
+
};
|
|
1606
|
+
};
|
|
1607
|
+
};
|
|
1608
|
+
getAssetsAssetIdExports: {
|
|
1609
|
+
parameters: {
|
|
1610
|
+
query?: never;
|
|
1611
|
+
header?: never;
|
|
1612
|
+
path: {
|
|
1613
|
+
assetId: string;
|
|
1614
|
+
};
|
|
1615
|
+
cookie?: never;
|
|
1616
|
+
};
|
|
1617
|
+
requestBody?: never;
|
|
1618
|
+
responses: {
|
|
1619
|
+
/** @description Exports */
|
|
1620
|
+
200: {
|
|
1621
|
+
headers: {
|
|
1622
|
+
[name: string]: unknown;
|
|
1623
|
+
};
|
|
1624
|
+
content: {
|
|
1625
|
+
"application/json": {
|
|
1626
|
+
exports: {
|
|
1627
|
+
[key: string]: unknown;
|
|
1628
|
+
}[];
|
|
1629
|
+
};
|
|
1630
|
+
};
|
|
1631
|
+
};
|
|
1632
|
+
};
|
|
1633
|
+
};
|
|
1634
|
+
postAssetsAssetIdExports: {
|
|
1635
|
+
parameters: {
|
|
1636
|
+
query?: never;
|
|
1637
|
+
header?: never;
|
|
1638
|
+
path: {
|
|
1639
|
+
assetId: string;
|
|
1640
|
+
};
|
|
1641
|
+
cookie?: never;
|
|
1642
|
+
};
|
|
1643
|
+
requestBody: {
|
|
1644
|
+
content: {
|
|
1645
|
+
"application/json": {
|
|
1646
|
+
/** @enum {string} */
|
|
1647
|
+
format: "gltf-zip" | "c-array" | "usdz";
|
|
1648
|
+
variantId: string;
|
|
1649
|
+
};
|
|
1650
|
+
};
|
|
1651
|
+
};
|
|
1652
|
+
responses: {
|
|
1653
|
+
/** @description Existing export */
|
|
1654
|
+
200: {
|
|
1655
|
+
headers: {
|
|
1656
|
+
[name: string]: unknown;
|
|
1657
|
+
};
|
|
1658
|
+
content: {
|
|
1659
|
+
"application/json": {
|
|
1660
|
+
export: {
|
|
1661
|
+
[key: string]: unknown;
|
|
1662
|
+
};
|
|
1663
|
+
};
|
|
1664
|
+
};
|
|
1665
|
+
};
|
|
1666
|
+
/** @description Created */
|
|
1667
|
+
201: {
|
|
1668
|
+
headers: {
|
|
1669
|
+
[name: string]: unknown;
|
|
1670
|
+
};
|
|
1671
|
+
content: {
|
|
1672
|
+
"application/json": {
|
|
1673
|
+
export: {
|
|
1674
|
+
[key: string]: unknown;
|
|
1675
|
+
};
|
|
1676
|
+
};
|
|
1677
|
+
};
|
|
1678
|
+
};
|
|
1679
|
+
/** @description Invalid body, or usdz requested for a KTX2 variant */
|
|
1680
|
+
400: {
|
|
1681
|
+
headers: {
|
|
1682
|
+
[name: string]: unknown;
|
|
1683
|
+
};
|
|
1684
|
+
content: {
|
|
1685
|
+
"application/json": {
|
|
1686
|
+
error: string;
|
|
1687
|
+
issues?: unknown[];
|
|
1688
|
+
};
|
|
1689
|
+
};
|
|
1690
|
+
};
|
|
1691
|
+
/** @description Not found */
|
|
1692
|
+
404: {
|
|
1693
|
+
headers: {
|
|
1694
|
+
[name: string]: unknown;
|
|
1695
|
+
};
|
|
1696
|
+
content: {
|
|
1697
|
+
"application/json": {
|
|
1698
|
+
error: string;
|
|
1699
|
+
issues?: unknown[];
|
|
1700
|
+
};
|
|
1701
|
+
};
|
|
1702
|
+
};
|
|
1703
|
+
/** @description Variant not ready */
|
|
1704
|
+
409: {
|
|
1705
|
+
headers: {
|
|
1706
|
+
[name: string]: unknown;
|
|
1707
|
+
};
|
|
1708
|
+
content: {
|
|
1709
|
+
"application/json": {
|
|
1710
|
+
error: string;
|
|
1711
|
+
issues?: unknown[];
|
|
1712
|
+
};
|
|
1713
|
+
};
|
|
1714
|
+
};
|
|
1715
|
+
};
|
|
1716
|
+
};
|
|
1717
|
+
postAssetsAssetIdRestore: {
|
|
1718
|
+
parameters: {
|
|
1719
|
+
query?: never;
|
|
1720
|
+
header?: never;
|
|
1721
|
+
path: {
|
|
1722
|
+
assetId: string;
|
|
1723
|
+
};
|
|
1724
|
+
cookie?: never;
|
|
1725
|
+
};
|
|
1726
|
+
requestBody?: never;
|
|
1727
|
+
responses: {
|
|
1728
|
+
/** @description Asset */
|
|
1729
|
+
200: {
|
|
1730
|
+
headers: {
|
|
1731
|
+
[name: string]: unknown;
|
|
1732
|
+
};
|
|
1733
|
+
content: {
|
|
1734
|
+
"application/json": {
|
|
1735
|
+
asset: {
|
|
1736
|
+
[key: string]: unknown;
|
|
1737
|
+
};
|
|
1738
|
+
};
|
|
1739
|
+
};
|
|
1740
|
+
};
|
|
1741
|
+
/** @description Not found */
|
|
1742
|
+
404: {
|
|
1743
|
+
headers: {
|
|
1744
|
+
[name: string]: unknown;
|
|
1745
|
+
};
|
|
1746
|
+
content: {
|
|
1747
|
+
"application/json": {
|
|
1748
|
+
error: string;
|
|
1749
|
+
issues?: unknown[];
|
|
1750
|
+
};
|
|
1751
|
+
};
|
|
1752
|
+
};
|
|
1753
|
+
};
|
|
1754
|
+
};
|
|
1755
|
+
postAssetsAssetIdSign: {
|
|
1756
|
+
parameters: {
|
|
1757
|
+
query?: never;
|
|
1758
|
+
header?: never;
|
|
1759
|
+
path: {
|
|
1760
|
+
assetId: string;
|
|
1761
|
+
};
|
|
1762
|
+
cookie?: never;
|
|
1763
|
+
};
|
|
1764
|
+
requestBody: {
|
|
1765
|
+
content: {
|
|
1766
|
+
"application/json": {
|
|
1767
|
+
dl?: boolean;
|
|
1768
|
+
preset?: string;
|
|
1769
|
+
spec?: {
|
|
1770
|
+
/** @enum {string} */
|
|
1771
|
+
anim: "keep" | "strip";
|
|
1772
|
+
/** @enum {string} */
|
|
1773
|
+
geo: "meshopt" | "draco" | "none" | "raw";
|
|
1774
|
+
maxtex: 256 | 512 | 1024 | 2048 | 4096;
|
|
1775
|
+
ntex?: 256 | 512 | 1024 | 2048 | 4096;
|
|
1776
|
+
palette?: boolean;
|
|
1777
|
+
/** @enum {string} */
|
|
1778
|
+
q: "low" | "med" | "high";
|
|
1779
|
+
simplify?: number;
|
|
1780
|
+
/** @enum {string} */
|
|
1781
|
+
tex: "ktx2" | "webp" | "avif" | "jpeg" | "png" | "original";
|
|
1782
|
+
};
|
|
1783
|
+
ttlSeconds?: number;
|
|
1784
|
+
versionId?: string;
|
|
1785
|
+
};
|
|
1786
|
+
};
|
|
1787
|
+
};
|
|
1788
|
+
responses: {
|
|
1789
|
+
/** @description Signed URL */
|
|
1790
|
+
200: {
|
|
1791
|
+
headers: {
|
|
1792
|
+
[name: string]: unknown;
|
|
1793
|
+
};
|
|
1794
|
+
content: {
|
|
1795
|
+
"application/json": {
|
|
1796
|
+
exp: number;
|
|
1797
|
+
sig: string;
|
|
1798
|
+
url: string;
|
|
1799
|
+
};
|
|
1800
|
+
};
|
|
1801
|
+
};
|
|
1802
|
+
/** @description Invalid body */
|
|
1803
|
+
400: {
|
|
1804
|
+
headers: {
|
|
1805
|
+
[name: string]: unknown;
|
|
1806
|
+
};
|
|
1807
|
+
content: {
|
|
1808
|
+
"application/json": {
|
|
1809
|
+
error: string;
|
|
1810
|
+
issues?: unknown[];
|
|
1811
|
+
};
|
|
1812
|
+
};
|
|
1813
|
+
};
|
|
1814
|
+
/** @description Not found */
|
|
1815
|
+
404: {
|
|
1816
|
+
headers: {
|
|
1817
|
+
[name: string]: unknown;
|
|
1818
|
+
};
|
|
1819
|
+
content: {
|
|
1820
|
+
"application/json": {
|
|
1821
|
+
error: string;
|
|
1822
|
+
issues?: unknown[];
|
|
1823
|
+
};
|
|
1824
|
+
};
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
};
|
|
1828
|
+
postAssetsAssetIdThumbnail: {
|
|
1829
|
+
parameters: {
|
|
1830
|
+
query?: never;
|
|
1831
|
+
header?: never;
|
|
1832
|
+
path: {
|
|
1833
|
+
assetId: string;
|
|
1834
|
+
};
|
|
1835
|
+
cookie?: never;
|
|
1836
|
+
};
|
|
1837
|
+
requestBody: {
|
|
1838
|
+
content: {
|
|
1839
|
+
"image/png": string;
|
|
1840
|
+
};
|
|
1841
|
+
};
|
|
1842
|
+
responses: {
|
|
1843
|
+
/** @description Stored */
|
|
1844
|
+
200: {
|
|
1845
|
+
headers: {
|
|
1846
|
+
[name: string]: unknown;
|
|
1847
|
+
};
|
|
1848
|
+
content: {
|
|
1849
|
+
"application/json": {
|
|
1850
|
+
thumbnailKey: string;
|
|
1851
|
+
};
|
|
1852
|
+
};
|
|
1853
|
+
};
|
|
1854
|
+
/** @description Not found */
|
|
1855
|
+
404: {
|
|
1856
|
+
headers: {
|
|
1857
|
+
[name: string]: unknown;
|
|
1858
|
+
};
|
|
1859
|
+
content: {
|
|
1860
|
+
"application/json": {
|
|
1861
|
+
error: string;
|
|
1862
|
+
issues?: unknown[];
|
|
1863
|
+
};
|
|
1864
|
+
};
|
|
1865
|
+
};
|
|
1866
|
+
/** @description Too large */
|
|
1867
|
+
413: {
|
|
1868
|
+
headers: {
|
|
1869
|
+
[name: string]: unknown;
|
|
1870
|
+
};
|
|
1871
|
+
content: {
|
|
1872
|
+
"application/json": {
|
|
1873
|
+
error: string;
|
|
1874
|
+
issues?: unknown[];
|
|
1875
|
+
};
|
|
1876
|
+
};
|
|
1877
|
+
};
|
|
1878
|
+
/** @description Not a PNG */
|
|
1879
|
+
415: {
|
|
1880
|
+
headers: {
|
|
1881
|
+
[name: string]: unknown;
|
|
1882
|
+
};
|
|
1883
|
+
content: {
|
|
1884
|
+
"application/json": {
|
|
1885
|
+
error: string;
|
|
1886
|
+
issues?: unknown[];
|
|
1887
|
+
};
|
|
1888
|
+
};
|
|
1889
|
+
};
|
|
1890
|
+
};
|
|
1891
|
+
};
|
|
1892
|
+
postAssetsAssetIdThumbnailRender: {
|
|
1893
|
+
parameters: {
|
|
1894
|
+
query?: never;
|
|
1895
|
+
header?: never;
|
|
1896
|
+
path: {
|
|
1897
|
+
assetId: string;
|
|
1898
|
+
};
|
|
1899
|
+
cookie?: never;
|
|
1900
|
+
};
|
|
1901
|
+
requestBody?: never;
|
|
1902
|
+
responses: {
|
|
1903
|
+
/** @description Rendered */
|
|
1904
|
+
200: {
|
|
1905
|
+
headers: {
|
|
1906
|
+
[name: string]: unknown;
|
|
1907
|
+
};
|
|
1908
|
+
content: {
|
|
1909
|
+
"application/json": {
|
|
1910
|
+
ogKey: string;
|
|
1911
|
+
thumbnailKey: string | null;
|
|
1912
|
+
};
|
|
1913
|
+
};
|
|
1914
|
+
};
|
|
1915
|
+
/** @description Not found */
|
|
1916
|
+
404: {
|
|
1917
|
+
headers: {
|
|
1918
|
+
[name: string]: unknown;
|
|
1919
|
+
};
|
|
1920
|
+
content: {
|
|
1921
|
+
"application/json": {
|
|
1922
|
+
error: string;
|
|
1923
|
+
issues?: unknown[];
|
|
1924
|
+
};
|
|
1925
|
+
};
|
|
1926
|
+
};
|
|
1927
|
+
/** @description No live version yet */
|
|
1928
|
+
409: {
|
|
1929
|
+
headers: {
|
|
1930
|
+
[name: string]: unknown;
|
|
1931
|
+
};
|
|
1932
|
+
content: {
|
|
1933
|
+
"application/json": {
|
|
1934
|
+
error: string;
|
|
1935
|
+
issues?: unknown[];
|
|
1936
|
+
};
|
|
1937
|
+
};
|
|
1938
|
+
};
|
|
1939
|
+
/** @description The browser could not render the page */
|
|
1940
|
+
502: {
|
|
1941
|
+
headers: {
|
|
1942
|
+
[name: string]: unknown;
|
|
1943
|
+
};
|
|
1944
|
+
content: {
|
|
1945
|
+
"application/json": {
|
|
1946
|
+
error: string;
|
|
1947
|
+
issues?: unknown[];
|
|
1948
|
+
};
|
|
1949
|
+
};
|
|
1950
|
+
};
|
|
1951
|
+
};
|
|
1952
|
+
};
|
|
1953
|
+
getAssetsAssetIdVariants: {
|
|
1954
|
+
parameters: {
|
|
1955
|
+
query?: never;
|
|
1956
|
+
header?: never;
|
|
1957
|
+
path: {
|
|
1958
|
+
assetId: string;
|
|
1959
|
+
};
|
|
1960
|
+
cookie?: never;
|
|
1961
|
+
};
|
|
1962
|
+
requestBody?: never;
|
|
1963
|
+
responses: {
|
|
1964
|
+
/** @description Versions with variants; ready variants with stats carry a `score` */
|
|
1965
|
+
200: {
|
|
1966
|
+
headers: {
|
|
1967
|
+
[name: string]: unknown;
|
|
1968
|
+
};
|
|
1969
|
+
content: {
|
|
1970
|
+
"application/json": {
|
|
1971
|
+
versions: {
|
|
1972
|
+
id: string;
|
|
1973
|
+
number: number;
|
|
1974
|
+
variants: ({
|
|
1975
|
+
bytes: number | null;
|
|
1976
|
+
id: string;
|
|
1977
|
+
preset: string | null;
|
|
1978
|
+
/** @description Set for ready variants with stats; see /docs/score */
|
|
1979
|
+
score: {
|
|
1980
|
+
checks: {
|
|
1981
|
+
advice?: string;
|
|
1982
|
+
budget: string;
|
|
1983
|
+
id: string;
|
|
1984
|
+
label: string;
|
|
1985
|
+
max: number;
|
|
1986
|
+
points: number;
|
|
1987
|
+
value: number | string;
|
|
1988
|
+
}[];
|
|
1989
|
+
/** @enum {string} */
|
|
1990
|
+
grade: "A" | "B" | "C" | "D" | "F";
|
|
1991
|
+
points: number;
|
|
1992
|
+
/** @constant */
|
|
1993
|
+
version: 1;
|
|
1994
|
+
} | null;
|
|
1995
|
+
spec: string;
|
|
1996
|
+
/** @enum {string} */
|
|
1997
|
+
status: "queued" | "processing" | "ready" | "failed";
|
|
1998
|
+
} & {
|
|
1999
|
+
[key: string]: unknown;
|
|
2000
|
+
})[];
|
|
2001
|
+
}[];
|
|
2002
|
+
};
|
|
2003
|
+
};
|
|
2004
|
+
};
|
|
2005
|
+
/** @description Not found */
|
|
2006
|
+
404: {
|
|
2007
|
+
headers: {
|
|
2008
|
+
[name: string]: unknown;
|
|
2009
|
+
};
|
|
2010
|
+
content: {
|
|
2011
|
+
"application/json": {
|
|
2012
|
+
error: string;
|
|
2013
|
+
issues?: unknown[];
|
|
2014
|
+
};
|
|
2015
|
+
};
|
|
2016
|
+
};
|
|
2017
|
+
};
|
|
2018
|
+
};
|
|
2019
|
+
postAssetsAssetIdVariants: {
|
|
2020
|
+
parameters: {
|
|
2021
|
+
query?: never;
|
|
2022
|
+
header?: never;
|
|
2023
|
+
path: {
|
|
2024
|
+
assetId: string;
|
|
2025
|
+
};
|
|
2026
|
+
cookie?: never;
|
|
2027
|
+
};
|
|
2028
|
+
requestBody: {
|
|
2029
|
+
content: {
|
|
2030
|
+
"application/json": {
|
|
2031
|
+
budgetBytes?: number;
|
|
2032
|
+
preset?: string;
|
|
2033
|
+
spec?: {
|
|
2034
|
+
/** @enum {string} */
|
|
2035
|
+
anim: "keep" | "strip";
|
|
2036
|
+
/** @enum {string} */
|
|
2037
|
+
geo: "meshopt" | "draco" | "none" | "raw";
|
|
2038
|
+
maxtex: 256 | 512 | 1024 | 2048 | 4096;
|
|
2039
|
+
ntex?: 256 | 512 | 1024 | 2048 | 4096;
|
|
2040
|
+
palette?: boolean;
|
|
2041
|
+
/** @enum {string} */
|
|
2042
|
+
q: "low" | "med" | "high";
|
|
2043
|
+
simplify?: number;
|
|
2044
|
+
/** @enum {string} */
|
|
2045
|
+
tex: "ktx2" | "webp" | "avif" | "jpeg" | "png" | "original";
|
|
2046
|
+
};
|
|
2047
|
+
/** @enum {string} */
|
|
2048
|
+
target?: "threejs" | "babylon" | "model-viewer" | "playcanvas" | "unity-gltfast" | "godot" | "unreal" | "filament" | "lvgl" | "quick-look";
|
|
2049
|
+
versionId?: string;
|
|
2050
|
+
};
|
|
2051
|
+
};
|
|
2052
|
+
};
|
|
2053
|
+
responses: {
|
|
2054
|
+
/** @description Existing variant */
|
|
2055
|
+
200: {
|
|
2056
|
+
headers: {
|
|
2057
|
+
[name: string]: unknown;
|
|
2058
|
+
};
|
|
2059
|
+
content: {
|
|
2060
|
+
"application/json": {
|
|
2061
|
+
variant: {
|
|
2062
|
+
[key: string]: unknown;
|
|
2063
|
+
};
|
|
2064
|
+
};
|
|
2065
|
+
};
|
|
2066
|
+
};
|
|
2067
|
+
/** @description Created */
|
|
2068
|
+
201: {
|
|
2069
|
+
headers: {
|
|
2070
|
+
[name: string]: unknown;
|
|
2071
|
+
};
|
|
2072
|
+
content: {
|
|
2073
|
+
"application/json": {
|
|
2074
|
+
variant: {
|
|
2075
|
+
[key: string]: unknown;
|
|
2076
|
+
};
|
|
2077
|
+
};
|
|
2078
|
+
};
|
|
2079
|
+
};
|
|
2080
|
+
/** @description Invalid body */
|
|
2081
|
+
400: {
|
|
2082
|
+
headers: {
|
|
2083
|
+
[name: string]: unknown;
|
|
2084
|
+
};
|
|
2085
|
+
content: {
|
|
2086
|
+
"application/json": {
|
|
2087
|
+
error: string;
|
|
2088
|
+
issues?: unknown[];
|
|
2089
|
+
};
|
|
2090
|
+
};
|
|
2091
|
+
};
|
|
2092
|
+
/** @description Not found */
|
|
2093
|
+
404: {
|
|
2094
|
+
headers: {
|
|
2095
|
+
[name: string]: unknown;
|
|
2096
|
+
};
|
|
2097
|
+
content: {
|
|
2098
|
+
"application/json": {
|
|
2099
|
+
error: string;
|
|
2100
|
+
issues?: unknown[];
|
|
2101
|
+
};
|
|
2102
|
+
};
|
|
2103
|
+
};
|
|
2104
|
+
/** @description No uploaded version */
|
|
2105
|
+
409: {
|
|
2106
|
+
headers: {
|
|
2107
|
+
[name: string]: unknown;
|
|
2108
|
+
};
|
|
2109
|
+
content: {
|
|
2110
|
+
"application/json": {
|
|
2111
|
+
error: string;
|
|
2112
|
+
issues?: unknown[];
|
|
2113
|
+
};
|
|
2114
|
+
};
|
|
2115
|
+
};
|
|
2116
|
+
};
|
|
2117
|
+
};
|
|
2118
|
+
patchAssetsAssetIdVersionsVersionId: {
|
|
2119
|
+
parameters: {
|
|
2120
|
+
query?: never;
|
|
2121
|
+
header?: never;
|
|
2122
|
+
path: {
|
|
2123
|
+
assetId: string;
|
|
2124
|
+
versionId: string;
|
|
2125
|
+
};
|
|
2126
|
+
cookie?: never;
|
|
2127
|
+
};
|
|
2128
|
+
requestBody: {
|
|
2129
|
+
content: {
|
|
2130
|
+
"application/json": {
|
|
2131
|
+
note: string | null;
|
|
2132
|
+
};
|
|
2133
|
+
};
|
|
2134
|
+
};
|
|
2135
|
+
responses: {
|
|
2136
|
+
/** @description Version */
|
|
2137
|
+
200: {
|
|
2138
|
+
headers: {
|
|
2139
|
+
[name: string]: unknown;
|
|
2140
|
+
};
|
|
2141
|
+
content: {
|
|
2142
|
+
"application/json": {
|
|
2143
|
+
version: {
|
|
2144
|
+
[key: string]: unknown;
|
|
2145
|
+
};
|
|
2146
|
+
};
|
|
2147
|
+
};
|
|
2148
|
+
};
|
|
2149
|
+
/** @description Invalid body */
|
|
2150
|
+
400: {
|
|
2151
|
+
headers: {
|
|
2152
|
+
[name: string]: unknown;
|
|
2153
|
+
};
|
|
2154
|
+
content: {
|
|
2155
|
+
"application/json": {
|
|
2156
|
+
error: string;
|
|
2157
|
+
issues?: unknown[];
|
|
2158
|
+
};
|
|
2159
|
+
};
|
|
2160
|
+
};
|
|
2161
|
+
/** @description Not found */
|
|
2162
|
+
404: {
|
|
2163
|
+
headers: {
|
|
2164
|
+
[name: string]: unknown;
|
|
2165
|
+
};
|
|
2166
|
+
content: {
|
|
2167
|
+
"application/json": {
|
|
2168
|
+
error: string;
|
|
2169
|
+
issues?: unknown[];
|
|
2170
|
+
};
|
|
2171
|
+
};
|
|
2172
|
+
};
|
|
2173
|
+
};
|
|
2174
|
+
};
|
|
2175
|
+
getAssetsAssetIdVersionsVersionIdReviews: {
|
|
2176
|
+
parameters: {
|
|
2177
|
+
query?: never;
|
|
2178
|
+
header?: never;
|
|
2179
|
+
path: {
|
|
2180
|
+
assetId: string;
|
|
2181
|
+
versionId: string;
|
|
2182
|
+
};
|
|
2183
|
+
cookie?: never;
|
|
2184
|
+
};
|
|
2185
|
+
requestBody?: never;
|
|
2186
|
+
responses: {
|
|
2187
|
+
/** @description Reviews */
|
|
2188
|
+
200: {
|
|
2189
|
+
headers: {
|
|
2190
|
+
[name: string]: unknown;
|
|
2191
|
+
};
|
|
2192
|
+
content: {
|
|
2193
|
+
"application/json": {
|
|
2194
|
+
awaitingApproval: boolean;
|
|
2195
|
+
reviews: {
|
|
2196
|
+
[key: string]: unknown;
|
|
2197
|
+
}[];
|
|
2198
|
+
summary: {
|
|
2199
|
+
approved: number;
|
|
2200
|
+
changesRequested: number;
|
|
2201
|
+
reviewers: {
|
|
2202
|
+
at: string;
|
|
2203
|
+
/** @enum {string} */
|
|
2204
|
+
decision: "approved" | "changes_requested";
|
|
2205
|
+
name: string;
|
|
2206
|
+
note: string | null;
|
|
2207
|
+
}[];
|
|
2208
|
+
};
|
|
2209
|
+
};
|
|
2210
|
+
};
|
|
2211
|
+
};
|
|
2212
|
+
/** @description Not found */
|
|
2213
|
+
404: {
|
|
2214
|
+
headers: {
|
|
2215
|
+
[name: string]: unknown;
|
|
2216
|
+
};
|
|
2217
|
+
content: {
|
|
2218
|
+
"application/json": {
|
|
2219
|
+
error: string;
|
|
2220
|
+
issues?: unknown[];
|
|
2221
|
+
};
|
|
2222
|
+
};
|
|
2223
|
+
};
|
|
2224
|
+
};
|
|
2225
|
+
};
|
|
2226
|
+
postAssetsAssetIdVersionsVersionIdReviews: {
|
|
2227
|
+
parameters: {
|
|
2228
|
+
query?: never;
|
|
2229
|
+
header?: never;
|
|
2230
|
+
path: {
|
|
2231
|
+
assetId: string;
|
|
2232
|
+
versionId: string;
|
|
2233
|
+
};
|
|
2234
|
+
cookie?: never;
|
|
2235
|
+
};
|
|
2236
|
+
requestBody: {
|
|
2237
|
+
content: {
|
|
2238
|
+
"application/json": {
|
|
2239
|
+
/** @enum {string} */
|
|
2240
|
+
decision: "approved" | "changes_requested";
|
|
2241
|
+
note?: string | null;
|
|
2242
|
+
};
|
|
2243
|
+
};
|
|
2244
|
+
};
|
|
2245
|
+
responses: {
|
|
2246
|
+
/** @description Recorded */
|
|
2247
|
+
201: {
|
|
2248
|
+
headers: {
|
|
2249
|
+
[name: string]: unknown;
|
|
2250
|
+
};
|
|
2251
|
+
content: {
|
|
2252
|
+
"application/json": {
|
|
2253
|
+
promoted: boolean;
|
|
2254
|
+
review: {
|
|
2255
|
+
[key: string]: unknown;
|
|
2256
|
+
};
|
|
2257
|
+
};
|
|
2258
|
+
};
|
|
2259
|
+
};
|
|
2260
|
+
/** @description Invalid body */
|
|
2261
|
+
400: {
|
|
2262
|
+
headers: {
|
|
2263
|
+
[name: string]: unknown;
|
|
2264
|
+
};
|
|
2265
|
+
content: {
|
|
2266
|
+
"application/json": {
|
|
2267
|
+
error: string;
|
|
2268
|
+
issues?: unknown[];
|
|
2269
|
+
};
|
|
2270
|
+
};
|
|
2271
|
+
};
|
|
2272
|
+
/** @description Not found */
|
|
2273
|
+
404: {
|
|
2274
|
+
headers: {
|
|
2275
|
+
[name: string]: unknown;
|
|
2276
|
+
};
|
|
2277
|
+
content: {
|
|
2278
|
+
"application/json": {
|
|
2279
|
+
error: string;
|
|
2280
|
+
issues?: unknown[];
|
|
2281
|
+
};
|
|
2282
|
+
};
|
|
2283
|
+
};
|
|
2284
|
+
/** @description Version still uploading */
|
|
2285
|
+
409: {
|
|
2286
|
+
headers: {
|
|
2287
|
+
[name: string]: unknown;
|
|
2288
|
+
};
|
|
2289
|
+
content: {
|
|
2290
|
+
"application/json": {
|
|
2291
|
+
error: string;
|
|
2292
|
+
issues?: unknown[];
|
|
2293
|
+
};
|
|
2294
|
+
};
|
|
2295
|
+
};
|
|
2296
|
+
};
|
|
2297
|
+
};
|
|
2298
|
+
postBillingCheckout: {
|
|
2299
|
+
parameters: {
|
|
2300
|
+
query?: never;
|
|
2301
|
+
header?: never;
|
|
2302
|
+
path?: never;
|
|
2303
|
+
cookie?: never;
|
|
2304
|
+
};
|
|
2305
|
+
requestBody: {
|
|
2306
|
+
content: {
|
|
2307
|
+
"application/json": {
|
|
2308
|
+
/**
|
|
2309
|
+
* @default month
|
|
2310
|
+
* @enum {string}
|
|
2311
|
+
*/
|
|
2312
|
+
interval?: "month" | "year";
|
|
2313
|
+
/** @enum {string} */
|
|
2314
|
+
plan: "pro" | "business";
|
|
2315
|
+
};
|
|
2316
|
+
};
|
|
2317
|
+
};
|
|
2318
|
+
responses: {
|
|
2319
|
+
/** @description Checkout URL */
|
|
2320
|
+
200: {
|
|
2321
|
+
headers: {
|
|
2322
|
+
[name: string]: unknown;
|
|
2323
|
+
};
|
|
2324
|
+
content: {
|
|
2325
|
+
"application/json": {
|
|
2326
|
+
url: string;
|
|
2327
|
+
};
|
|
2328
|
+
};
|
|
2329
|
+
};
|
|
2330
|
+
/** @description Invalid body */
|
|
2331
|
+
400: {
|
|
2332
|
+
headers: {
|
|
2333
|
+
[name: string]: unknown;
|
|
2334
|
+
};
|
|
2335
|
+
content: {
|
|
2336
|
+
"application/json": {
|
|
2337
|
+
error: string;
|
|
2338
|
+
issues?: unknown[];
|
|
2339
|
+
};
|
|
2340
|
+
};
|
|
2341
|
+
};
|
|
2342
|
+
/** @description Not an owner */
|
|
2343
|
+
403: {
|
|
2344
|
+
headers: {
|
|
2345
|
+
[name: string]: unknown;
|
|
2346
|
+
};
|
|
2347
|
+
content: {
|
|
2348
|
+
"application/json": {
|
|
2349
|
+
error: string;
|
|
2350
|
+
issues?: unknown[];
|
|
2351
|
+
};
|
|
2352
|
+
};
|
|
2353
|
+
};
|
|
2354
|
+
/** @description Billing not configured */
|
|
2355
|
+
409: {
|
|
2356
|
+
headers: {
|
|
2357
|
+
[name: string]: unknown;
|
|
2358
|
+
};
|
|
2359
|
+
content: {
|
|
2360
|
+
"application/json": {
|
|
2361
|
+
error: string;
|
|
2362
|
+
issues?: unknown[];
|
|
2363
|
+
};
|
|
2364
|
+
};
|
|
2365
|
+
};
|
|
2366
|
+
};
|
|
2367
|
+
};
|
|
2368
|
+
postBillingPortal: {
|
|
2369
|
+
parameters: {
|
|
2370
|
+
query?: never;
|
|
2371
|
+
header?: never;
|
|
2372
|
+
path?: never;
|
|
2373
|
+
cookie?: never;
|
|
2374
|
+
};
|
|
2375
|
+
requestBody?: never;
|
|
2376
|
+
responses: {
|
|
2377
|
+
/** @description Portal URL */
|
|
2378
|
+
200: {
|
|
2379
|
+
headers: {
|
|
2380
|
+
[name: string]: unknown;
|
|
2381
|
+
};
|
|
2382
|
+
content: {
|
|
2383
|
+
"application/json": {
|
|
2384
|
+
url: string;
|
|
2385
|
+
};
|
|
2386
|
+
};
|
|
2387
|
+
};
|
|
2388
|
+
/** @description Not an owner */
|
|
2389
|
+
403: {
|
|
2390
|
+
headers: {
|
|
2391
|
+
[name: string]: unknown;
|
|
2392
|
+
};
|
|
2393
|
+
content: {
|
|
2394
|
+
"application/json": {
|
|
2395
|
+
error: string;
|
|
2396
|
+
issues?: unknown[];
|
|
2397
|
+
};
|
|
2398
|
+
};
|
|
2399
|
+
};
|
|
2400
|
+
/** @description No subscription or billing not configured */
|
|
2401
|
+
409: {
|
|
2402
|
+
headers: {
|
|
2403
|
+
[name: string]: unknown;
|
|
2404
|
+
};
|
|
2405
|
+
content: {
|
|
2406
|
+
"application/json": {
|
|
2407
|
+
error: string;
|
|
2408
|
+
issues?: unknown[];
|
|
2409
|
+
};
|
|
2410
|
+
};
|
|
2411
|
+
};
|
|
2412
|
+
};
|
|
2413
|
+
};
|
|
2414
|
+
"postBillingSwitch-interval": {
|
|
2415
|
+
parameters: {
|
|
2416
|
+
query?: never;
|
|
2417
|
+
header?: never;
|
|
2418
|
+
path?: never;
|
|
2419
|
+
cookie?: never;
|
|
2420
|
+
};
|
|
2421
|
+
requestBody: {
|
|
2422
|
+
content: {
|
|
2423
|
+
"application/json": {
|
|
2424
|
+
/** @enum {string} */
|
|
2425
|
+
interval: "month" | "year";
|
|
2426
|
+
};
|
|
2427
|
+
};
|
|
2428
|
+
};
|
|
2429
|
+
responses: {
|
|
2430
|
+
/** @description The new interval and the plan */
|
|
2431
|
+
200: {
|
|
2432
|
+
headers: {
|
|
2433
|
+
[name: string]: unknown;
|
|
2434
|
+
};
|
|
2435
|
+
content: {
|
|
2436
|
+
"application/json": {
|
|
2437
|
+
/** @enum {string} */
|
|
2438
|
+
interval: "month" | "year";
|
|
2439
|
+
plan: string;
|
|
2440
|
+
};
|
|
2441
|
+
};
|
|
2442
|
+
};
|
|
2443
|
+
/** @description Invalid body */
|
|
2444
|
+
400: {
|
|
2445
|
+
headers: {
|
|
2446
|
+
[name: string]: unknown;
|
|
2447
|
+
};
|
|
2448
|
+
content: {
|
|
2449
|
+
"application/json": {
|
|
2450
|
+
error: string;
|
|
2451
|
+
issues?: unknown[];
|
|
2452
|
+
};
|
|
2453
|
+
};
|
|
2454
|
+
};
|
|
2455
|
+
/** @description Not an owner */
|
|
2456
|
+
403: {
|
|
2457
|
+
headers: {
|
|
2458
|
+
[name: string]: unknown;
|
|
2459
|
+
};
|
|
2460
|
+
content: {
|
|
2461
|
+
"application/json": {
|
|
2462
|
+
error: string;
|
|
2463
|
+
issues?: unknown[];
|
|
2464
|
+
};
|
|
2465
|
+
};
|
|
2466
|
+
};
|
|
2467
|
+
/** @description No subscription, already on that interval, or billing not configured */
|
|
2468
|
+
409: {
|
|
2469
|
+
headers: {
|
|
2470
|
+
[name: string]: unknown;
|
|
2471
|
+
};
|
|
2472
|
+
content: {
|
|
2473
|
+
"application/json": {
|
|
2474
|
+
error: string;
|
|
2475
|
+
issues?: unknown[];
|
|
2476
|
+
};
|
|
2477
|
+
};
|
|
2478
|
+
};
|
|
2479
|
+
};
|
|
2480
|
+
};
|
|
2481
|
+
getCollections: {
|
|
2482
|
+
parameters: {
|
|
2483
|
+
query?: never;
|
|
2484
|
+
header?: never;
|
|
2485
|
+
path?: never;
|
|
2486
|
+
cookie?: never;
|
|
2487
|
+
};
|
|
2488
|
+
requestBody?: never;
|
|
2489
|
+
responses: {
|
|
2490
|
+
/** @description Collections with asset counts */
|
|
2491
|
+
200: {
|
|
2492
|
+
headers: {
|
|
2493
|
+
[name: string]: unknown;
|
|
2494
|
+
};
|
|
2495
|
+
content: {
|
|
2496
|
+
"application/json": {
|
|
2497
|
+
collections: {
|
|
2498
|
+
[key: string]: unknown;
|
|
2499
|
+
}[];
|
|
2500
|
+
};
|
|
2501
|
+
};
|
|
2502
|
+
};
|
|
2503
|
+
};
|
|
2504
|
+
};
|
|
2505
|
+
postCollections: {
|
|
2506
|
+
parameters: {
|
|
2507
|
+
query?: never;
|
|
2508
|
+
header?: never;
|
|
2509
|
+
path?: never;
|
|
2510
|
+
cookie?: never;
|
|
2511
|
+
};
|
|
2512
|
+
requestBody: {
|
|
2513
|
+
content: {
|
|
2514
|
+
"application/json": {
|
|
2515
|
+
description?: string | null;
|
|
2516
|
+
name: string;
|
|
2517
|
+
};
|
|
2518
|
+
};
|
|
2519
|
+
};
|
|
2520
|
+
responses: {
|
|
2521
|
+
/** @description Created */
|
|
2522
|
+
201: {
|
|
2523
|
+
headers: {
|
|
2524
|
+
[name: string]: unknown;
|
|
2525
|
+
};
|
|
2526
|
+
content: {
|
|
2527
|
+
"application/json": {
|
|
2528
|
+
collection: {
|
|
2529
|
+
[key: string]: unknown;
|
|
2530
|
+
};
|
|
2531
|
+
};
|
|
2532
|
+
};
|
|
2533
|
+
};
|
|
2534
|
+
/** @description Invalid body */
|
|
2535
|
+
400: {
|
|
2536
|
+
headers: {
|
|
2537
|
+
[name: string]: unknown;
|
|
2538
|
+
};
|
|
2539
|
+
content: {
|
|
2540
|
+
"application/json": {
|
|
2541
|
+
error: string;
|
|
2542
|
+
issues?: unknown[];
|
|
2543
|
+
};
|
|
2544
|
+
};
|
|
2545
|
+
};
|
|
2546
|
+
};
|
|
2547
|
+
};
|
|
2548
|
+
getCollectionsCollectionId: {
|
|
2549
|
+
parameters: {
|
|
2550
|
+
query?: never;
|
|
2551
|
+
header?: never;
|
|
2552
|
+
path: {
|
|
2553
|
+
collectionId: string;
|
|
2554
|
+
};
|
|
2555
|
+
cookie?: never;
|
|
2556
|
+
};
|
|
2557
|
+
requestBody?: never;
|
|
2558
|
+
responses: {
|
|
2559
|
+
/** @description Collection detail */
|
|
2560
|
+
200: {
|
|
2561
|
+
headers: {
|
|
2562
|
+
[name: string]: unknown;
|
|
2563
|
+
};
|
|
2564
|
+
content?: never;
|
|
2565
|
+
};
|
|
2566
|
+
/** @description Not found */
|
|
2567
|
+
404: {
|
|
2568
|
+
headers: {
|
|
2569
|
+
[name: string]: unknown;
|
|
2570
|
+
};
|
|
2571
|
+
content: {
|
|
2572
|
+
"application/json": {
|
|
2573
|
+
error: string;
|
|
2574
|
+
issues?: unknown[];
|
|
2575
|
+
};
|
|
2576
|
+
};
|
|
2577
|
+
};
|
|
2578
|
+
};
|
|
2579
|
+
};
|
|
2580
|
+
deleteCollectionsCollectionId: {
|
|
2581
|
+
parameters: {
|
|
2582
|
+
query?: never;
|
|
2583
|
+
header?: never;
|
|
2584
|
+
path: {
|
|
2585
|
+
collectionId: string;
|
|
2586
|
+
};
|
|
2587
|
+
cookie?: never;
|
|
2588
|
+
};
|
|
2589
|
+
requestBody?: never;
|
|
2590
|
+
responses: {
|
|
2591
|
+
/** @description Deleted */
|
|
2592
|
+
200: {
|
|
2593
|
+
headers: {
|
|
2594
|
+
[name: string]: unknown;
|
|
2595
|
+
};
|
|
2596
|
+
content?: never;
|
|
2597
|
+
};
|
|
2598
|
+
/** @description Not found */
|
|
2599
|
+
404: {
|
|
2600
|
+
headers: {
|
|
2601
|
+
[name: string]: unknown;
|
|
2602
|
+
};
|
|
2603
|
+
content: {
|
|
2604
|
+
"application/json": {
|
|
2605
|
+
error: string;
|
|
2606
|
+
issues?: unknown[];
|
|
2607
|
+
};
|
|
2608
|
+
};
|
|
2609
|
+
};
|
|
2610
|
+
};
|
|
2611
|
+
};
|
|
2612
|
+
patchCollectionsCollectionId: {
|
|
2613
|
+
parameters: {
|
|
2614
|
+
query?: never;
|
|
2615
|
+
header?: never;
|
|
2616
|
+
path: {
|
|
2617
|
+
collectionId: string;
|
|
2618
|
+
};
|
|
2619
|
+
cookie?: never;
|
|
2620
|
+
};
|
|
2621
|
+
requestBody: {
|
|
2622
|
+
content: {
|
|
2623
|
+
"application/json": {
|
|
2624
|
+
assetIds?: string[];
|
|
2625
|
+
description?: string | null;
|
|
2626
|
+
name?: string;
|
|
2627
|
+
};
|
|
2628
|
+
};
|
|
2629
|
+
};
|
|
2630
|
+
responses: {
|
|
2631
|
+
/** @description Updated */
|
|
2632
|
+
200: {
|
|
2633
|
+
headers: {
|
|
2634
|
+
[name: string]: unknown;
|
|
2635
|
+
};
|
|
2636
|
+
content: {
|
|
2637
|
+
"application/json": {
|
|
2638
|
+
collection: {
|
|
2639
|
+
[key: string]: unknown;
|
|
2640
|
+
};
|
|
2641
|
+
};
|
|
2642
|
+
};
|
|
2643
|
+
};
|
|
2644
|
+
/** @description Invalid body */
|
|
2645
|
+
400: {
|
|
2646
|
+
headers: {
|
|
2647
|
+
[name: string]: unknown;
|
|
2648
|
+
};
|
|
2649
|
+
content: {
|
|
2650
|
+
"application/json": {
|
|
2651
|
+
error: string;
|
|
2652
|
+
issues?: unknown[];
|
|
2653
|
+
};
|
|
2654
|
+
};
|
|
2655
|
+
};
|
|
2656
|
+
/** @description Not found */
|
|
2657
|
+
404: {
|
|
2658
|
+
headers: {
|
|
2659
|
+
[name: string]: unknown;
|
|
2660
|
+
};
|
|
2661
|
+
content: {
|
|
2662
|
+
"application/json": {
|
|
2663
|
+
error: string;
|
|
2664
|
+
issues?: unknown[];
|
|
2665
|
+
};
|
|
2666
|
+
};
|
|
2667
|
+
};
|
|
2668
|
+
};
|
|
2669
|
+
};
|
|
2670
|
+
deleteCommentsCommentId: {
|
|
2671
|
+
parameters: {
|
|
2672
|
+
query?: never;
|
|
2673
|
+
header?: never;
|
|
2674
|
+
path: {
|
|
2675
|
+
commentId: string;
|
|
2676
|
+
};
|
|
2677
|
+
cookie?: never;
|
|
2678
|
+
};
|
|
2679
|
+
requestBody?: never;
|
|
2680
|
+
responses: {
|
|
2681
|
+
/** @description Deleted */
|
|
2682
|
+
204: {
|
|
2683
|
+
headers: {
|
|
2684
|
+
[name: string]: unknown;
|
|
2685
|
+
};
|
|
2686
|
+
content?: never;
|
|
2687
|
+
};
|
|
2688
|
+
/** @description Not found */
|
|
2689
|
+
404: {
|
|
2690
|
+
headers: {
|
|
2691
|
+
[name: string]: unknown;
|
|
2692
|
+
};
|
|
2693
|
+
content: {
|
|
2694
|
+
"application/json": {
|
|
2695
|
+
error: string;
|
|
2696
|
+
issues?: unknown[];
|
|
2697
|
+
};
|
|
2698
|
+
};
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
};
|
|
2702
|
+
patchCommentsCommentId: {
|
|
2703
|
+
parameters: {
|
|
2704
|
+
query?: never;
|
|
2705
|
+
header?: never;
|
|
2706
|
+
path: {
|
|
2707
|
+
commentId: string;
|
|
2708
|
+
};
|
|
2709
|
+
cookie?: never;
|
|
2710
|
+
};
|
|
2711
|
+
requestBody: {
|
|
2712
|
+
content: {
|
|
2713
|
+
"application/json": {
|
|
2714
|
+
resolved: boolean;
|
|
2715
|
+
};
|
|
2716
|
+
};
|
|
2717
|
+
};
|
|
2718
|
+
responses: {
|
|
2719
|
+
/** @description Updated */
|
|
2720
|
+
200: {
|
|
2721
|
+
headers: {
|
|
2722
|
+
[name: string]: unknown;
|
|
2723
|
+
};
|
|
2724
|
+
content: {
|
|
2725
|
+
"application/json": {
|
|
2726
|
+
comment: {
|
|
2727
|
+
[key: string]: unknown;
|
|
2728
|
+
};
|
|
2729
|
+
};
|
|
2730
|
+
};
|
|
2731
|
+
};
|
|
2732
|
+
/** @description Invalid body */
|
|
2733
|
+
400: {
|
|
2734
|
+
headers: {
|
|
2735
|
+
[name: string]: unknown;
|
|
2736
|
+
};
|
|
2737
|
+
content: {
|
|
2738
|
+
"application/json": {
|
|
2739
|
+
error: string;
|
|
2740
|
+
issues?: unknown[];
|
|
2741
|
+
};
|
|
2742
|
+
};
|
|
2743
|
+
};
|
|
2744
|
+
/** @description Not found */
|
|
2745
|
+
404: {
|
|
2746
|
+
headers: {
|
|
2747
|
+
[name: string]: unknown;
|
|
2748
|
+
};
|
|
2749
|
+
content: {
|
|
2750
|
+
"application/json": {
|
|
2751
|
+
error: string;
|
|
2752
|
+
issues?: unknown[];
|
|
2753
|
+
};
|
|
2754
|
+
};
|
|
2755
|
+
};
|
|
2756
|
+
};
|
|
2757
|
+
};
|
|
2758
|
+
getEnvironments: {
|
|
2759
|
+
parameters: {
|
|
2760
|
+
query?: never;
|
|
2761
|
+
header?: never;
|
|
2762
|
+
path?: never;
|
|
2763
|
+
cookie?: never;
|
|
2764
|
+
};
|
|
2765
|
+
requestBody?: never;
|
|
2766
|
+
responses: {
|
|
2767
|
+
/** @description Environments */
|
|
2768
|
+
200: {
|
|
2769
|
+
headers: {
|
|
2770
|
+
[name: string]: unknown;
|
|
2771
|
+
};
|
|
2772
|
+
content: {
|
|
2773
|
+
"application/json": {
|
|
2774
|
+
environments: {
|
|
2775
|
+
[key: string]: unknown;
|
|
2776
|
+
}[];
|
|
2777
|
+
};
|
|
2778
|
+
};
|
|
2779
|
+
};
|
|
2780
|
+
};
|
|
2781
|
+
};
|
|
2782
|
+
postEnvironments: {
|
|
2783
|
+
parameters: {
|
|
2784
|
+
query?: never;
|
|
2785
|
+
header?: never;
|
|
2786
|
+
path?: never;
|
|
2787
|
+
cookie?: never;
|
|
2788
|
+
};
|
|
2789
|
+
requestBody: {
|
|
2790
|
+
content: {
|
|
2791
|
+
"multipart/form-data": {
|
|
2792
|
+
/** @description binary .hdr, .jpg, or .png up to 8 MiB */
|
|
2793
|
+
file: string;
|
|
2794
|
+
name: string;
|
|
2795
|
+
};
|
|
2796
|
+
};
|
|
2797
|
+
};
|
|
2798
|
+
responses: {
|
|
2799
|
+
/** @description Created */
|
|
2800
|
+
201: {
|
|
2801
|
+
headers: {
|
|
2802
|
+
[name: string]: unknown;
|
|
2803
|
+
};
|
|
2804
|
+
content: {
|
|
2805
|
+
"application/json": {
|
|
2806
|
+
environment: {
|
|
2807
|
+
[key: string]: unknown;
|
|
2808
|
+
};
|
|
2809
|
+
};
|
|
2810
|
+
};
|
|
2811
|
+
};
|
|
2812
|
+
/** @description Invalid body */
|
|
2813
|
+
400: {
|
|
2814
|
+
headers: {
|
|
2815
|
+
[name: string]: unknown;
|
|
2816
|
+
};
|
|
2817
|
+
content: {
|
|
2818
|
+
"application/json": {
|
|
2819
|
+
error: string;
|
|
2820
|
+
issues?: unknown[];
|
|
2821
|
+
};
|
|
2822
|
+
};
|
|
2823
|
+
};
|
|
2824
|
+
/** @description Too large */
|
|
2825
|
+
413: {
|
|
2826
|
+
headers: {
|
|
2827
|
+
[name: string]: unknown;
|
|
2828
|
+
};
|
|
2829
|
+
content: {
|
|
2830
|
+
"application/json": {
|
|
2831
|
+
error: string;
|
|
2832
|
+
issues?: unknown[];
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
};
|
|
2836
|
+
/** @description Unsupported image */
|
|
2837
|
+
415: {
|
|
2838
|
+
headers: {
|
|
2839
|
+
[name: string]: unknown;
|
|
2840
|
+
};
|
|
2841
|
+
content: {
|
|
2842
|
+
"application/json": {
|
|
2843
|
+
error: string;
|
|
2844
|
+
issues?: unknown[];
|
|
2845
|
+
};
|
|
2846
|
+
};
|
|
2847
|
+
};
|
|
2848
|
+
};
|
|
2849
|
+
};
|
|
2850
|
+
getEnvironmentsEnvId: {
|
|
2851
|
+
parameters: {
|
|
2852
|
+
query?: never;
|
|
2853
|
+
header?: never;
|
|
2854
|
+
path: {
|
|
2855
|
+
envId: string;
|
|
2856
|
+
};
|
|
2857
|
+
cookie?: never;
|
|
2858
|
+
};
|
|
2859
|
+
requestBody?: never;
|
|
2860
|
+
responses: {
|
|
2861
|
+
/** @description Environment */
|
|
2862
|
+
200: {
|
|
2863
|
+
headers: {
|
|
2864
|
+
[name: string]: unknown;
|
|
2865
|
+
};
|
|
2866
|
+
content: {
|
|
2867
|
+
"application/json": {
|
|
2868
|
+
environment: {
|
|
2869
|
+
[key: string]: unknown;
|
|
2870
|
+
};
|
|
2871
|
+
};
|
|
2872
|
+
};
|
|
2873
|
+
};
|
|
2874
|
+
/** @description Not found */
|
|
2875
|
+
404: {
|
|
2876
|
+
headers: {
|
|
2877
|
+
[name: string]: unknown;
|
|
2878
|
+
};
|
|
2879
|
+
content: {
|
|
2880
|
+
"application/json": {
|
|
2881
|
+
error: string;
|
|
2882
|
+
issues?: unknown[];
|
|
2883
|
+
};
|
|
2884
|
+
};
|
|
2885
|
+
};
|
|
2886
|
+
};
|
|
2887
|
+
};
|
|
2888
|
+
deleteEnvironmentsEnvId: {
|
|
2889
|
+
parameters: {
|
|
2890
|
+
query?: never;
|
|
2891
|
+
header?: never;
|
|
2892
|
+
path: {
|
|
2893
|
+
envId: string;
|
|
2894
|
+
};
|
|
2895
|
+
cookie?: never;
|
|
2896
|
+
};
|
|
2897
|
+
requestBody?: never;
|
|
2898
|
+
responses: {
|
|
2899
|
+
/** @description Deleted */
|
|
2900
|
+
200: {
|
|
2901
|
+
headers: {
|
|
2902
|
+
[name: string]: unknown;
|
|
2903
|
+
};
|
|
2904
|
+
content: {
|
|
2905
|
+
"application/json": {
|
|
2906
|
+
deleted: boolean;
|
|
2907
|
+
};
|
|
2908
|
+
};
|
|
2909
|
+
};
|
|
2910
|
+
/** @description Not found */
|
|
2911
|
+
404: {
|
|
2912
|
+
headers: {
|
|
2913
|
+
[name: string]: unknown;
|
|
2914
|
+
};
|
|
2915
|
+
content: {
|
|
2916
|
+
"application/json": {
|
|
2917
|
+
error: string;
|
|
2918
|
+
issues?: unknown[];
|
|
2919
|
+
};
|
|
2920
|
+
};
|
|
2921
|
+
};
|
|
2922
|
+
};
|
|
2923
|
+
};
|
|
2924
|
+
getKeys: {
|
|
2925
|
+
parameters: {
|
|
2926
|
+
query?: never;
|
|
2927
|
+
header?: never;
|
|
2928
|
+
path?: never;
|
|
2929
|
+
cookie?: never;
|
|
2930
|
+
};
|
|
2931
|
+
requestBody?: never;
|
|
2932
|
+
responses: {
|
|
2933
|
+
/** @description Keys (hashes omitted) */
|
|
2934
|
+
200: {
|
|
2935
|
+
headers: {
|
|
2936
|
+
[name: string]: unknown;
|
|
2937
|
+
};
|
|
2938
|
+
content: {
|
|
2939
|
+
"application/json": {
|
|
2940
|
+
keys: {
|
|
2941
|
+
[key: string]: unknown;
|
|
2942
|
+
}[];
|
|
2943
|
+
};
|
|
2944
|
+
};
|
|
2945
|
+
};
|
|
2946
|
+
};
|
|
2947
|
+
};
|
|
2948
|
+
postKeys: {
|
|
2949
|
+
parameters: {
|
|
2950
|
+
query?: never;
|
|
2951
|
+
header?: never;
|
|
2952
|
+
path?: never;
|
|
2953
|
+
cookie?: never;
|
|
2954
|
+
};
|
|
2955
|
+
requestBody: {
|
|
2956
|
+
content: {
|
|
2957
|
+
"application/json": {
|
|
2958
|
+
name: string;
|
|
2959
|
+
projectId?: string;
|
|
2960
|
+
scopes: ("read" | "write")[];
|
|
2961
|
+
};
|
|
2962
|
+
};
|
|
2963
|
+
};
|
|
2964
|
+
responses: {
|
|
2965
|
+
/** @description Created */
|
|
2966
|
+
201: {
|
|
2967
|
+
headers: {
|
|
2968
|
+
[name: string]: unknown;
|
|
2969
|
+
};
|
|
2970
|
+
content: {
|
|
2971
|
+
"application/json": {
|
|
2972
|
+
apiKey: {
|
|
2973
|
+
[key: string]: unknown;
|
|
2974
|
+
};
|
|
2975
|
+
key: string;
|
|
2976
|
+
};
|
|
2977
|
+
};
|
|
2978
|
+
};
|
|
2979
|
+
/** @description Invalid body */
|
|
2980
|
+
400: {
|
|
2981
|
+
headers: {
|
|
2982
|
+
[name: string]: unknown;
|
|
2983
|
+
};
|
|
2984
|
+
content: {
|
|
2985
|
+
"application/json": {
|
|
2986
|
+
error: string;
|
|
2987
|
+
issues?: unknown[];
|
|
2988
|
+
};
|
|
2989
|
+
};
|
|
2990
|
+
};
|
|
2991
|
+
/** @description Not found */
|
|
2992
|
+
404: {
|
|
2993
|
+
headers: {
|
|
2994
|
+
[name: string]: unknown;
|
|
2995
|
+
};
|
|
2996
|
+
content: {
|
|
2997
|
+
"application/json": {
|
|
2998
|
+
error: string;
|
|
2999
|
+
issues?: unknown[];
|
|
3000
|
+
};
|
|
3001
|
+
};
|
|
3002
|
+
};
|
|
3003
|
+
};
|
|
3004
|
+
};
|
|
3005
|
+
deleteKeysKeyId: {
|
|
3006
|
+
parameters: {
|
|
3007
|
+
query?: never;
|
|
3008
|
+
header?: never;
|
|
3009
|
+
path: {
|
|
3010
|
+
keyId: string;
|
|
3011
|
+
};
|
|
3012
|
+
cookie?: never;
|
|
3013
|
+
};
|
|
3014
|
+
requestBody?: never;
|
|
3015
|
+
responses: {
|
|
3016
|
+
/** @description Revoked */
|
|
3017
|
+
200: {
|
|
3018
|
+
headers: {
|
|
3019
|
+
[name: string]: unknown;
|
|
3020
|
+
};
|
|
3021
|
+
content: {
|
|
3022
|
+
"application/json": {
|
|
3023
|
+
revoked: boolean;
|
|
3024
|
+
};
|
|
3025
|
+
};
|
|
3026
|
+
};
|
|
3027
|
+
/** @description Not found */
|
|
3028
|
+
404: {
|
|
3029
|
+
headers: {
|
|
3030
|
+
[name: string]: unknown;
|
|
3031
|
+
};
|
|
3032
|
+
content: {
|
|
3033
|
+
"application/json": {
|
|
3034
|
+
error: string;
|
|
3035
|
+
issues?: unknown[];
|
|
3036
|
+
};
|
|
3037
|
+
};
|
|
3038
|
+
};
|
|
3039
|
+
};
|
|
3040
|
+
};
|
|
3041
|
+
getMe: {
|
|
3042
|
+
parameters: {
|
|
3043
|
+
query?: never;
|
|
3044
|
+
header?: never;
|
|
3045
|
+
path?: never;
|
|
3046
|
+
cookie?: never;
|
|
3047
|
+
};
|
|
3048
|
+
requestBody?: never;
|
|
3049
|
+
responses: {
|
|
3050
|
+
/** @description Caller identity */
|
|
3051
|
+
200: {
|
|
3052
|
+
headers: {
|
|
3053
|
+
[name: string]: unknown;
|
|
3054
|
+
};
|
|
3055
|
+
content: {
|
|
3056
|
+
"application/json": {
|
|
3057
|
+
auth: {
|
|
3058
|
+
keyName: string;
|
|
3059
|
+
/** @constant */
|
|
3060
|
+
kind: "key";
|
|
3061
|
+
/** @description The project the key is pinned to, if any */
|
|
3062
|
+
projectId: string | null;
|
|
3063
|
+
scopes: string[];
|
|
3064
|
+
} | {
|
|
3065
|
+
email: string;
|
|
3066
|
+
/** @constant */
|
|
3067
|
+
kind: "cookie";
|
|
3068
|
+
};
|
|
3069
|
+
org: {
|
|
3070
|
+
id: string;
|
|
3071
|
+
name: string;
|
|
3072
|
+
/** @enum {string} */
|
|
3073
|
+
plan: "free" | "pro" | "business";
|
|
3074
|
+
slug: string;
|
|
3075
|
+
};
|
|
3076
|
+
project: {
|
|
3077
|
+
id: string;
|
|
3078
|
+
name: string;
|
|
3079
|
+
slug: string;
|
|
3080
|
+
};
|
|
3081
|
+
/** @description Null for API keys, which act for the org */
|
|
3082
|
+
role: ("owner" | "admin" | "member") | null;
|
|
3083
|
+
};
|
|
3084
|
+
};
|
|
3085
|
+
};
|
|
3086
|
+
};
|
|
3087
|
+
};
|
|
3088
|
+
getMembers: {
|
|
3089
|
+
parameters: {
|
|
3090
|
+
query?: never;
|
|
3091
|
+
header?: never;
|
|
3092
|
+
path?: never;
|
|
3093
|
+
cookie?: never;
|
|
3094
|
+
};
|
|
3095
|
+
requestBody?: never;
|
|
3096
|
+
responses: {
|
|
3097
|
+
/** @description Members, invitations, and seats used against the plan */
|
|
3098
|
+
200: {
|
|
3099
|
+
headers: {
|
|
3100
|
+
[name: string]: unknown;
|
|
3101
|
+
};
|
|
3102
|
+
content: {
|
|
3103
|
+
"application/json": {
|
|
3104
|
+
invites: {
|
|
3105
|
+
[key: string]: unknown;
|
|
3106
|
+
}[];
|
|
3107
|
+
members: {
|
|
3108
|
+
[key: string]: unknown;
|
|
3109
|
+
}[];
|
|
3110
|
+
seats: {
|
|
3111
|
+
limit: number;
|
|
3112
|
+
used: number;
|
|
3113
|
+
};
|
|
3114
|
+
};
|
|
3115
|
+
};
|
|
3116
|
+
};
|
|
3117
|
+
};
|
|
3118
|
+
};
|
|
3119
|
+
deleteMembersUserId: {
|
|
3120
|
+
parameters: {
|
|
3121
|
+
query?: never;
|
|
3122
|
+
header?: never;
|
|
3123
|
+
path: {
|
|
3124
|
+
userId: string;
|
|
3125
|
+
};
|
|
3126
|
+
cookie?: never;
|
|
3127
|
+
};
|
|
3128
|
+
requestBody?: never;
|
|
3129
|
+
responses: {
|
|
3130
|
+
/** @description Removed */
|
|
3131
|
+
200: {
|
|
3132
|
+
headers: {
|
|
3133
|
+
[name: string]: unknown;
|
|
3134
|
+
};
|
|
3135
|
+
content: {
|
|
3136
|
+
"application/json": {
|
|
3137
|
+
left: boolean;
|
|
3138
|
+
removed: boolean;
|
|
3139
|
+
};
|
|
3140
|
+
};
|
|
3141
|
+
};
|
|
3142
|
+
/** @description Not allowed for your role */
|
|
3143
|
+
403: {
|
|
3144
|
+
headers: {
|
|
3145
|
+
[name: string]: unknown;
|
|
3146
|
+
};
|
|
3147
|
+
content: {
|
|
3148
|
+
"application/json": {
|
|
3149
|
+
error: string;
|
|
3150
|
+
issues?: unknown[];
|
|
3151
|
+
};
|
|
3152
|
+
};
|
|
3153
|
+
};
|
|
3154
|
+
/** @description Not found */
|
|
3155
|
+
404: {
|
|
3156
|
+
headers: {
|
|
3157
|
+
[name: string]: unknown;
|
|
3158
|
+
};
|
|
3159
|
+
content: {
|
|
3160
|
+
"application/json": {
|
|
3161
|
+
error: string;
|
|
3162
|
+
issues?: unknown[];
|
|
3163
|
+
};
|
|
3164
|
+
};
|
|
3165
|
+
};
|
|
3166
|
+
/** @description Would leave the organisation without an owner */
|
|
3167
|
+
409: {
|
|
3168
|
+
headers: {
|
|
3169
|
+
[name: string]: unknown;
|
|
3170
|
+
};
|
|
3171
|
+
content: {
|
|
3172
|
+
"application/json": {
|
|
3173
|
+
error: string;
|
|
3174
|
+
issues?: unknown[];
|
|
3175
|
+
};
|
|
3176
|
+
};
|
|
3177
|
+
};
|
|
3178
|
+
};
|
|
3179
|
+
};
|
|
3180
|
+
patchMembersUserId: {
|
|
3181
|
+
parameters: {
|
|
3182
|
+
query?: never;
|
|
3183
|
+
header?: never;
|
|
3184
|
+
path: {
|
|
3185
|
+
userId: string;
|
|
3186
|
+
};
|
|
3187
|
+
cookie?: never;
|
|
3188
|
+
};
|
|
3189
|
+
requestBody: {
|
|
3190
|
+
content: {
|
|
3191
|
+
"application/json": {
|
|
3192
|
+
/** @enum {string} */
|
|
3193
|
+
role: "owner" | "admin" | "member";
|
|
3194
|
+
};
|
|
3195
|
+
};
|
|
3196
|
+
};
|
|
3197
|
+
responses: {
|
|
3198
|
+
/** @description Updated */
|
|
3199
|
+
200: {
|
|
3200
|
+
headers: {
|
|
3201
|
+
[name: string]: unknown;
|
|
3202
|
+
};
|
|
3203
|
+
content: {
|
|
3204
|
+
"application/json": {
|
|
3205
|
+
member: {
|
|
3206
|
+
[key: string]: unknown;
|
|
3207
|
+
};
|
|
3208
|
+
};
|
|
3209
|
+
};
|
|
3210
|
+
};
|
|
3211
|
+
/** @description Invalid body */
|
|
3212
|
+
400: {
|
|
3213
|
+
headers: {
|
|
3214
|
+
[name: string]: unknown;
|
|
3215
|
+
};
|
|
3216
|
+
content: {
|
|
3217
|
+
"application/json": {
|
|
3218
|
+
error: string;
|
|
3219
|
+
issues?: unknown[];
|
|
3220
|
+
};
|
|
3221
|
+
};
|
|
3222
|
+
};
|
|
3223
|
+
/** @description Not allowed for your role */
|
|
3224
|
+
403: {
|
|
3225
|
+
headers: {
|
|
3226
|
+
[name: string]: unknown;
|
|
3227
|
+
};
|
|
3228
|
+
content: {
|
|
3229
|
+
"application/json": {
|
|
3230
|
+
error: string;
|
|
3231
|
+
issues?: unknown[];
|
|
3232
|
+
};
|
|
3233
|
+
};
|
|
3234
|
+
};
|
|
3235
|
+
/** @description Not found */
|
|
3236
|
+
404: {
|
|
3237
|
+
headers: {
|
|
3238
|
+
[name: string]: unknown;
|
|
3239
|
+
};
|
|
3240
|
+
content: {
|
|
3241
|
+
"application/json": {
|
|
3242
|
+
error: string;
|
|
3243
|
+
issues?: unknown[];
|
|
3244
|
+
};
|
|
3245
|
+
};
|
|
3246
|
+
};
|
|
3247
|
+
/** @description Would leave the organisation without an owner */
|
|
3248
|
+
409: {
|
|
3249
|
+
headers: {
|
|
3250
|
+
[name: string]: unknown;
|
|
3251
|
+
};
|
|
3252
|
+
content: {
|
|
3253
|
+
"application/json": {
|
|
3254
|
+
error: string;
|
|
3255
|
+
issues?: unknown[];
|
|
3256
|
+
};
|
|
3257
|
+
};
|
|
3258
|
+
};
|
|
3259
|
+
};
|
|
3260
|
+
};
|
|
3261
|
+
postMembersInvites: {
|
|
3262
|
+
parameters: {
|
|
3263
|
+
query?: never;
|
|
3264
|
+
header?: never;
|
|
3265
|
+
path?: never;
|
|
3266
|
+
cookie?: never;
|
|
3267
|
+
};
|
|
3268
|
+
requestBody: {
|
|
3269
|
+
content: {
|
|
3270
|
+
"application/json": {
|
|
3271
|
+
/** Format: email */
|
|
3272
|
+
email: string;
|
|
3273
|
+
/**
|
|
3274
|
+
* @default member
|
|
3275
|
+
* @enum {string}
|
|
3276
|
+
*/
|
|
3277
|
+
role?: "owner" | "admin" | "member";
|
|
3278
|
+
};
|
|
3279
|
+
};
|
|
3280
|
+
};
|
|
3281
|
+
responses: {
|
|
3282
|
+
/** @description Created */
|
|
3283
|
+
201: {
|
|
3284
|
+
headers: {
|
|
3285
|
+
[name: string]: unknown;
|
|
3286
|
+
};
|
|
3287
|
+
content: {
|
|
3288
|
+
"application/json": {
|
|
3289
|
+
email: {
|
|
3290
|
+
reason?: string;
|
|
3291
|
+
sent: boolean;
|
|
3292
|
+
};
|
|
3293
|
+
invite: {
|
|
3294
|
+
[key: string]: unknown;
|
|
3295
|
+
};
|
|
3296
|
+
};
|
|
3297
|
+
};
|
|
3298
|
+
};
|
|
3299
|
+
/** @description Invalid body */
|
|
3300
|
+
400: {
|
|
3301
|
+
headers: {
|
|
3302
|
+
[name: string]: unknown;
|
|
3303
|
+
};
|
|
3304
|
+
content: {
|
|
3305
|
+
"application/json": {
|
|
3306
|
+
error: string;
|
|
3307
|
+
issues?: unknown[];
|
|
3308
|
+
};
|
|
3309
|
+
};
|
|
3310
|
+
};
|
|
3311
|
+
/** @description Plan has no free seat */
|
|
3312
|
+
402: {
|
|
3313
|
+
headers: {
|
|
3314
|
+
[name: string]: unknown;
|
|
3315
|
+
};
|
|
3316
|
+
content: {
|
|
3317
|
+
"application/json": {
|
|
3318
|
+
error: string;
|
|
3319
|
+
issues?: unknown[];
|
|
3320
|
+
};
|
|
3321
|
+
};
|
|
3322
|
+
};
|
|
3323
|
+
/** @description Already a member */
|
|
3324
|
+
409: {
|
|
3325
|
+
headers: {
|
|
3326
|
+
[name: string]: unknown;
|
|
3327
|
+
};
|
|
3328
|
+
content: {
|
|
3329
|
+
"application/json": {
|
|
3330
|
+
error: string;
|
|
3331
|
+
issues?: unknown[];
|
|
3332
|
+
};
|
|
3333
|
+
};
|
|
3334
|
+
};
|
|
3335
|
+
};
|
|
3336
|
+
};
|
|
3337
|
+
deleteMembersInvitesInviteId: {
|
|
3338
|
+
parameters: {
|
|
3339
|
+
query?: never;
|
|
3340
|
+
header?: never;
|
|
3341
|
+
path: {
|
|
3342
|
+
inviteId: string;
|
|
3343
|
+
};
|
|
3344
|
+
cookie?: never;
|
|
3345
|
+
};
|
|
3346
|
+
requestBody?: never;
|
|
3347
|
+
responses: {
|
|
3348
|
+
/** @description Revoked */
|
|
3349
|
+
200: {
|
|
3350
|
+
headers: {
|
|
3351
|
+
[name: string]: unknown;
|
|
3352
|
+
};
|
|
3353
|
+
content: {
|
|
3354
|
+
"application/json": {
|
|
3355
|
+
revoked: boolean;
|
|
3356
|
+
};
|
|
3357
|
+
};
|
|
3358
|
+
};
|
|
3359
|
+
/** @description Not found */
|
|
3360
|
+
404: {
|
|
3361
|
+
headers: {
|
|
3362
|
+
[name: string]: unknown;
|
|
3363
|
+
};
|
|
3364
|
+
content: {
|
|
3365
|
+
"application/json": {
|
|
3366
|
+
error: string;
|
|
3367
|
+
issues?: unknown[];
|
|
3368
|
+
};
|
|
3369
|
+
};
|
|
3370
|
+
};
|
|
3371
|
+
};
|
|
3372
|
+
};
|
|
3373
|
+
getOpenapi: {
|
|
3374
|
+
parameters: {
|
|
3375
|
+
query?: never;
|
|
3376
|
+
header?: never;
|
|
3377
|
+
path?: never;
|
|
3378
|
+
cookie?: never;
|
|
3379
|
+
};
|
|
3380
|
+
requestBody?: never;
|
|
3381
|
+
responses: {
|
|
3382
|
+
/** @description OpenAPI 3.1 document */
|
|
3383
|
+
200: {
|
|
3384
|
+
headers: {
|
|
3385
|
+
[name: string]: unknown;
|
|
3386
|
+
};
|
|
3387
|
+
content?: never;
|
|
3388
|
+
};
|
|
3389
|
+
};
|
|
3390
|
+
};
|
|
3391
|
+
patchOrgsOrgId: {
|
|
3392
|
+
parameters: {
|
|
3393
|
+
query?: never;
|
|
3394
|
+
header?: never;
|
|
3395
|
+
path: {
|
|
3396
|
+
orgId: string;
|
|
3397
|
+
};
|
|
3398
|
+
cookie?: never;
|
|
3399
|
+
};
|
|
3400
|
+
requestBody: {
|
|
3401
|
+
content: {
|
|
3402
|
+
"application/json": {
|
|
3403
|
+
brandColor?: string | null;
|
|
3404
|
+
name?: string;
|
|
3405
|
+
};
|
|
3406
|
+
};
|
|
3407
|
+
};
|
|
3408
|
+
responses: {
|
|
3409
|
+
/** @description Organization */
|
|
3410
|
+
200: {
|
|
3411
|
+
headers: {
|
|
3412
|
+
[name: string]: unknown;
|
|
3413
|
+
};
|
|
3414
|
+
content: {
|
|
3415
|
+
"application/json": {
|
|
3416
|
+
org: {
|
|
3417
|
+
[key: string]: unknown;
|
|
3418
|
+
};
|
|
3419
|
+
};
|
|
3420
|
+
};
|
|
3421
|
+
};
|
|
3422
|
+
/** @description Invalid body */
|
|
3423
|
+
400: {
|
|
3424
|
+
headers: {
|
|
3425
|
+
[name: string]: unknown;
|
|
3426
|
+
};
|
|
3427
|
+
content: {
|
|
3428
|
+
"application/json": {
|
|
3429
|
+
error: string;
|
|
3430
|
+
issues?: unknown[];
|
|
3431
|
+
};
|
|
3432
|
+
};
|
|
3433
|
+
};
|
|
3434
|
+
/** @description Not found */
|
|
3435
|
+
404: {
|
|
3436
|
+
headers: {
|
|
3437
|
+
[name: string]: unknown;
|
|
3438
|
+
};
|
|
3439
|
+
content: {
|
|
3440
|
+
"application/json": {
|
|
3441
|
+
error: string;
|
|
3442
|
+
issues?: unknown[];
|
|
3443
|
+
};
|
|
3444
|
+
};
|
|
3445
|
+
};
|
|
3446
|
+
};
|
|
3447
|
+
};
|
|
3448
|
+
getProjects: {
|
|
3449
|
+
parameters: {
|
|
3450
|
+
query?: never;
|
|
3451
|
+
header?: never;
|
|
3452
|
+
path?: never;
|
|
3453
|
+
cookie?: never;
|
|
3454
|
+
};
|
|
3455
|
+
requestBody?: never;
|
|
3456
|
+
responses: {
|
|
3457
|
+
/** @description Projects */
|
|
3458
|
+
200: {
|
|
3459
|
+
headers: {
|
|
3460
|
+
[name: string]: unknown;
|
|
3461
|
+
};
|
|
3462
|
+
content: {
|
|
3463
|
+
"application/json": {
|
|
3464
|
+
projects: {
|
|
3465
|
+
[key: string]: unknown;
|
|
3466
|
+
}[];
|
|
3467
|
+
};
|
|
3468
|
+
};
|
|
3469
|
+
};
|
|
3470
|
+
};
|
|
3471
|
+
};
|
|
3472
|
+
postProjects: {
|
|
3473
|
+
parameters: {
|
|
3474
|
+
query?: never;
|
|
3475
|
+
header?: never;
|
|
3476
|
+
path?: never;
|
|
3477
|
+
cookie?: never;
|
|
3478
|
+
};
|
|
3479
|
+
requestBody: {
|
|
3480
|
+
content: {
|
|
3481
|
+
"application/json": {
|
|
3482
|
+
name: string;
|
|
3483
|
+
};
|
|
3484
|
+
};
|
|
3485
|
+
};
|
|
3486
|
+
responses: {
|
|
3487
|
+
/** @description Created */
|
|
3488
|
+
201: {
|
|
3489
|
+
headers: {
|
|
3490
|
+
[name: string]: unknown;
|
|
3491
|
+
};
|
|
3492
|
+
content: {
|
|
3493
|
+
"application/json": {
|
|
3494
|
+
project: {
|
|
3495
|
+
[key: string]: unknown;
|
|
3496
|
+
};
|
|
3497
|
+
};
|
|
3498
|
+
};
|
|
3499
|
+
};
|
|
3500
|
+
/** @description Invalid body */
|
|
3501
|
+
400: {
|
|
3502
|
+
headers: {
|
|
3503
|
+
[name: string]: unknown;
|
|
3504
|
+
};
|
|
3505
|
+
content: {
|
|
3506
|
+
"application/json": {
|
|
3507
|
+
error: string;
|
|
3508
|
+
issues?: unknown[];
|
|
3509
|
+
};
|
|
3510
|
+
};
|
|
3511
|
+
};
|
|
3512
|
+
/** @description Plan does not include this feature */
|
|
3513
|
+
402: {
|
|
3514
|
+
headers: {
|
|
3515
|
+
[name: string]: unknown;
|
|
3516
|
+
};
|
|
3517
|
+
content: {
|
|
3518
|
+
"application/json": {
|
|
3519
|
+
error: string;
|
|
3520
|
+
issues?: unknown[];
|
|
3521
|
+
};
|
|
3522
|
+
};
|
|
3523
|
+
};
|
|
3524
|
+
};
|
|
3525
|
+
};
|
|
3526
|
+
getProjectsProjectId: {
|
|
3527
|
+
parameters: {
|
|
3528
|
+
query?: never;
|
|
3529
|
+
header?: never;
|
|
3530
|
+
path: {
|
|
3531
|
+
projectId: string;
|
|
3532
|
+
};
|
|
3533
|
+
cookie?: never;
|
|
3534
|
+
};
|
|
3535
|
+
requestBody?: never;
|
|
3536
|
+
responses: {
|
|
3537
|
+
/** @description Project */
|
|
3538
|
+
200: {
|
|
3539
|
+
headers: {
|
|
3540
|
+
[name: string]: unknown;
|
|
3541
|
+
};
|
|
3542
|
+
content: {
|
|
3543
|
+
"application/json": {
|
|
3544
|
+
project: {
|
|
3545
|
+
[key: string]: unknown;
|
|
3546
|
+
};
|
|
3547
|
+
};
|
|
3548
|
+
};
|
|
3549
|
+
};
|
|
3550
|
+
/** @description Not found */
|
|
3551
|
+
404: {
|
|
3552
|
+
headers: {
|
|
3553
|
+
[name: string]: unknown;
|
|
3554
|
+
};
|
|
3555
|
+
content: {
|
|
3556
|
+
"application/json": {
|
|
3557
|
+
error: string;
|
|
3558
|
+
issues?: unknown[];
|
|
3559
|
+
};
|
|
3560
|
+
};
|
|
3561
|
+
};
|
|
3562
|
+
};
|
|
3563
|
+
};
|
|
3564
|
+
deleteProjectsProjectId: {
|
|
3565
|
+
parameters: {
|
|
3566
|
+
query?: never;
|
|
3567
|
+
header?: never;
|
|
3568
|
+
path: {
|
|
3569
|
+
projectId: string;
|
|
3570
|
+
};
|
|
3571
|
+
cookie?: never;
|
|
3572
|
+
};
|
|
3573
|
+
requestBody?: never;
|
|
3574
|
+
responses: {
|
|
3575
|
+
/** @description Deleted */
|
|
3576
|
+
200: {
|
|
3577
|
+
headers: {
|
|
3578
|
+
[name: string]: unknown;
|
|
3579
|
+
};
|
|
3580
|
+
content: {
|
|
3581
|
+
"application/json": {
|
|
3582
|
+
deleted: boolean;
|
|
3583
|
+
};
|
|
3584
|
+
};
|
|
3585
|
+
};
|
|
3586
|
+
/** @description Not found */
|
|
3587
|
+
404: {
|
|
3588
|
+
headers: {
|
|
3589
|
+
[name: string]: unknown;
|
|
3590
|
+
};
|
|
3591
|
+
content: {
|
|
3592
|
+
"application/json": {
|
|
3593
|
+
error: string;
|
|
3594
|
+
issues?: unknown[];
|
|
3595
|
+
};
|
|
3596
|
+
};
|
|
3597
|
+
};
|
|
3598
|
+
/** @description Not empty, or the last project */
|
|
3599
|
+
409: {
|
|
3600
|
+
headers: {
|
|
3601
|
+
[name: string]: unknown;
|
|
3602
|
+
};
|
|
3603
|
+
content: {
|
|
3604
|
+
"application/json": {
|
|
3605
|
+
error: string;
|
|
3606
|
+
issues?: unknown[];
|
|
3607
|
+
};
|
|
3608
|
+
};
|
|
3609
|
+
};
|
|
3610
|
+
};
|
|
3611
|
+
};
|
|
3612
|
+
patchProjectsProjectId: {
|
|
3613
|
+
parameters: {
|
|
3614
|
+
query?: never;
|
|
3615
|
+
header?: never;
|
|
3616
|
+
path: {
|
|
3617
|
+
projectId: string;
|
|
3618
|
+
};
|
|
3619
|
+
cookie?: never;
|
|
3620
|
+
};
|
|
3621
|
+
requestBody: {
|
|
3622
|
+
content: {
|
|
3623
|
+
"application/json": {
|
|
3624
|
+
allowedDomains?: string[];
|
|
3625
|
+
autoUsdz?: boolean;
|
|
3626
|
+
/** @enum {string} */
|
|
3627
|
+
defaultPreset?: "compat" | "web" | "gpu" | "mobile" | "embedded" | "original";
|
|
3628
|
+
defaultVariantPresets?: ("compat" | "web" | "gpu" | "mobile" | "embedded" | "original")[];
|
|
3629
|
+
lodRatios?: number[];
|
|
3630
|
+
name?: string;
|
|
3631
|
+
/** @enum {string} */
|
|
3632
|
+
publishOnApproval?: "off" | "owner" | "any";
|
|
3633
|
+
signingRequired?: boolean;
|
|
3634
|
+
};
|
|
3635
|
+
};
|
|
3636
|
+
};
|
|
3637
|
+
responses: {
|
|
3638
|
+
/** @description Project */
|
|
3639
|
+
200: {
|
|
3640
|
+
headers: {
|
|
3641
|
+
[name: string]: unknown;
|
|
3642
|
+
};
|
|
3643
|
+
content: {
|
|
3644
|
+
"application/json": {
|
|
3645
|
+
project: {
|
|
3646
|
+
[key: string]: unknown;
|
|
3647
|
+
};
|
|
3648
|
+
};
|
|
3649
|
+
};
|
|
3650
|
+
};
|
|
3651
|
+
/** @description Invalid body */
|
|
3652
|
+
400: {
|
|
3653
|
+
headers: {
|
|
3654
|
+
[name: string]: unknown;
|
|
3655
|
+
};
|
|
3656
|
+
content: {
|
|
3657
|
+
"application/json": {
|
|
3658
|
+
error: string;
|
|
3659
|
+
issues?: unknown[];
|
|
3660
|
+
};
|
|
3661
|
+
};
|
|
3662
|
+
};
|
|
3663
|
+
/** @description Plan does not include this feature */
|
|
3664
|
+
402: {
|
|
3665
|
+
headers: {
|
|
3666
|
+
[name: string]: unknown;
|
|
3667
|
+
};
|
|
3668
|
+
content: {
|
|
3669
|
+
"application/json": {
|
|
3670
|
+
error: string;
|
|
3671
|
+
issues?: unknown[];
|
|
3672
|
+
};
|
|
3673
|
+
};
|
|
3674
|
+
};
|
|
3675
|
+
/** @description Not found */
|
|
3676
|
+
404: {
|
|
3677
|
+
headers: {
|
|
3678
|
+
[name: string]: unknown;
|
|
3679
|
+
};
|
|
3680
|
+
content: {
|
|
3681
|
+
"application/json": {
|
|
3682
|
+
error: string;
|
|
3683
|
+
issues?: unknown[];
|
|
3684
|
+
};
|
|
3685
|
+
};
|
|
3686
|
+
};
|
|
3687
|
+
};
|
|
3688
|
+
};
|
|
3689
|
+
getShares: {
|
|
3690
|
+
parameters: {
|
|
3691
|
+
query?: {
|
|
3692
|
+
assetId?: string;
|
|
3693
|
+
collectionId?: string;
|
|
3694
|
+
};
|
|
3695
|
+
header?: never;
|
|
3696
|
+
path?: never;
|
|
3697
|
+
cookie?: never;
|
|
3698
|
+
};
|
|
3699
|
+
requestBody?: never;
|
|
3700
|
+
responses: {
|
|
3701
|
+
/** @description Shares */
|
|
3702
|
+
200: {
|
|
3703
|
+
headers: {
|
|
3704
|
+
[name: string]: unknown;
|
|
3705
|
+
};
|
|
3706
|
+
content: {
|
|
3707
|
+
"application/json": {
|
|
3708
|
+
shares: {
|
|
3709
|
+
[key: string]: unknown;
|
|
3710
|
+
}[];
|
|
3711
|
+
};
|
|
3712
|
+
};
|
|
3713
|
+
};
|
|
3714
|
+
/** @description Invalid body */
|
|
3715
|
+
400: {
|
|
3716
|
+
headers: {
|
|
3717
|
+
[name: string]: unknown;
|
|
3718
|
+
};
|
|
3719
|
+
content: {
|
|
3720
|
+
"application/json": {
|
|
3721
|
+
error: string;
|
|
3722
|
+
issues?: unknown[];
|
|
3723
|
+
};
|
|
3724
|
+
};
|
|
3725
|
+
};
|
|
3726
|
+
};
|
|
3727
|
+
};
|
|
3728
|
+
postShares: {
|
|
3729
|
+
parameters: {
|
|
3730
|
+
query?: never;
|
|
3731
|
+
header?: never;
|
|
3732
|
+
path?: never;
|
|
3733
|
+
cookie?: never;
|
|
3734
|
+
};
|
|
3735
|
+
requestBody: {
|
|
3736
|
+
content: {
|
|
3737
|
+
"application/json": {
|
|
3738
|
+
/** @enum {string} */
|
|
3739
|
+
accessMode: "link" | "password" | "email" | "org";
|
|
3740
|
+
allowComments?: boolean;
|
|
3741
|
+
/** @enum {string} */
|
|
3742
|
+
allowDownload?: "none" | "optimized" | "all";
|
|
3743
|
+
allowedDomains?: string[];
|
|
3744
|
+
allowedEmails?: string[];
|
|
3745
|
+
allowReview?: boolean;
|
|
3746
|
+
assetId?: string;
|
|
3747
|
+
collectionId?: string;
|
|
3748
|
+
expiresAt?: unknown | null;
|
|
3749
|
+
maxViews?: number | null;
|
|
3750
|
+
notifyOnView?: boolean;
|
|
3751
|
+
password?: string | null;
|
|
3752
|
+
pinnedVersionId?: string | null;
|
|
3753
|
+
showStats?: boolean;
|
|
3754
|
+
watermark?: boolean;
|
|
3755
|
+
};
|
|
3756
|
+
};
|
|
3757
|
+
};
|
|
3758
|
+
responses: {
|
|
3759
|
+
/** @description Created */
|
|
3760
|
+
201: {
|
|
3761
|
+
headers: {
|
|
3762
|
+
[name: string]: unknown;
|
|
3763
|
+
};
|
|
3764
|
+
content: {
|
|
3765
|
+
"application/json": {
|
|
3766
|
+
share: {
|
|
3767
|
+
[key: string]: unknown;
|
|
3768
|
+
};
|
|
3769
|
+
url: string;
|
|
3770
|
+
};
|
|
3771
|
+
};
|
|
3772
|
+
};
|
|
3773
|
+
/** @description Invalid body */
|
|
3774
|
+
400: {
|
|
3775
|
+
headers: {
|
|
3776
|
+
[name: string]: unknown;
|
|
3777
|
+
};
|
|
3778
|
+
content: {
|
|
3779
|
+
"application/json": {
|
|
3780
|
+
error: string;
|
|
3781
|
+
issues?: unknown[];
|
|
3782
|
+
};
|
|
3783
|
+
};
|
|
3784
|
+
};
|
|
3785
|
+
/** @description Not found */
|
|
3786
|
+
404: {
|
|
3787
|
+
headers: {
|
|
3788
|
+
[name: string]: unknown;
|
|
3789
|
+
};
|
|
3790
|
+
content: {
|
|
3791
|
+
"application/json": {
|
|
3792
|
+
error: string;
|
|
3793
|
+
issues?: unknown[];
|
|
3794
|
+
};
|
|
3795
|
+
};
|
|
3796
|
+
};
|
|
3797
|
+
};
|
|
3798
|
+
};
|
|
3799
|
+
getSharesShareId: {
|
|
3800
|
+
parameters: {
|
|
3801
|
+
query?: never;
|
|
3802
|
+
header?: never;
|
|
3803
|
+
path: {
|
|
3804
|
+
shareId: string;
|
|
3805
|
+
};
|
|
3806
|
+
cookie?: never;
|
|
3807
|
+
};
|
|
3808
|
+
requestBody?: never;
|
|
3809
|
+
responses: {
|
|
3810
|
+
/** @description Share */
|
|
3811
|
+
200: {
|
|
3812
|
+
headers: {
|
|
3813
|
+
[name: string]: unknown;
|
|
3814
|
+
};
|
|
3815
|
+
content: {
|
|
3816
|
+
"application/json": {
|
|
3817
|
+
share: {
|
|
3818
|
+
[key: string]: unknown;
|
|
3819
|
+
};
|
|
3820
|
+
};
|
|
3821
|
+
};
|
|
3822
|
+
};
|
|
3823
|
+
/** @description Not found */
|
|
3824
|
+
404: {
|
|
3825
|
+
headers: {
|
|
3826
|
+
[name: string]: unknown;
|
|
3827
|
+
};
|
|
3828
|
+
content: {
|
|
3829
|
+
"application/json": {
|
|
3830
|
+
error: string;
|
|
3831
|
+
issues?: unknown[];
|
|
3832
|
+
};
|
|
3833
|
+
};
|
|
3834
|
+
};
|
|
3835
|
+
};
|
|
3836
|
+
};
|
|
3837
|
+
deleteSharesShareId: {
|
|
3838
|
+
parameters: {
|
|
3839
|
+
query?: never;
|
|
3840
|
+
header?: never;
|
|
3841
|
+
path: {
|
|
3842
|
+
shareId: string;
|
|
3843
|
+
};
|
|
3844
|
+
cookie?: never;
|
|
3845
|
+
};
|
|
3846
|
+
requestBody?: never;
|
|
3847
|
+
responses: {
|
|
3848
|
+
/** @description Revoked */
|
|
3849
|
+
200: {
|
|
3850
|
+
headers: {
|
|
3851
|
+
[name: string]: unknown;
|
|
3852
|
+
};
|
|
3853
|
+
content: {
|
|
3854
|
+
"application/json": {
|
|
3855
|
+
share: {
|
|
3856
|
+
[key: string]: unknown;
|
|
3857
|
+
};
|
|
3858
|
+
};
|
|
3859
|
+
};
|
|
3860
|
+
};
|
|
3861
|
+
/** @description Not found */
|
|
3862
|
+
404: {
|
|
3863
|
+
headers: {
|
|
3864
|
+
[name: string]: unknown;
|
|
3865
|
+
};
|
|
3866
|
+
content: {
|
|
3867
|
+
"application/json": {
|
|
3868
|
+
error: string;
|
|
3869
|
+
issues?: unknown[];
|
|
3870
|
+
};
|
|
3871
|
+
};
|
|
3872
|
+
};
|
|
3873
|
+
};
|
|
3874
|
+
};
|
|
3875
|
+
patchSharesShareId: {
|
|
3876
|
+
parameters: {
|
|
3877
|
+
query?: never;
|
|
3878
|
+
header?: never;
|
|
3879
|
+
path: {
|
|
3880
|
+
shareId: string;
|
|
3881
|
+
};
|
|
3882
|
+
cookie?: never;
|
|
3883
|
+
};
|
|
3884
|
+
requestBody: {
|
|
3885
|
+
content: {
|
|
3886
|
+
"application/json": {
|
|
3887
|
+
/** @enum {string} */
|
|
3888
|
+
accessMode?: "link" | "password" | "email" | "org";
|
|
3889
|
+
allowComments?: boolean;
|
|
3890
|
+
/** @enum {string} */
|
|
3891
|
+
allowDownload?: "none" | "optimized" | "all";
|
|
3892
|
+
allowedDomains?: string[];
|
|
3893
|
+
allowedEmails?: string[];
|
|
3894
|
+
allowReview?: boolean;
|
|
3895
|
+
expiresAt?: unknown | null;
|
|
3896
|
+
maxViews?: number | null;
|
|
3897
|
+
notifyOnView?: boolean;
|
|
3898
|
+
password?: string | null;
|
|
3899
|
+
pinnedVersionId?: string | null;
|
|
3900
|
+
showStats?: boolean;
|
|
3901
|
+
watermark?: boolean;
|
|
3902
|
+
};
|
|
3903
|
+
};
|
|
3904
|
+
};
|
|
3905
|
+
responses: {
|
|
3906
|
+
/** @description Share */
|
|
3907
|
+
200: {
|
|
3908
|
+
headers: {
|
|
3909
|
+
[name: string]: unknown;
|
|
3910
|
+
};
|
|
3911
|
+
content: {
|
|
3912
|
+
"application/json": {
|
|
3913
|
+
share: {
|
|
3914
|
+
[key: string]: unknown;
|
|
3915
|
+
};
|
|
3916
|
+
};
|
|
3917
|
+
};
|
|
3918
|
+
};
|
|
3919
|
+
/** @description Invalid body */
|
|
3920
|
+
400: {
|
|
3921
|
+
headers: {
|
|
3922
|
+
[name: string]: unknown;
|
|
3923
|
+
};
|
|
3924
|
+
content: {
|
|
3925
|
+
"application/json": {
|
|
3926
|
+
error: string;
|
|
3927
|
+
issues?: unknown[];
|
|
3928
|
+
};
|
|
3929
|
+
};
|
|
3930
|
+
};
|
|
3931
|
+
/** @description Not found */
|
|
3932
|
+
404: {
|
|
3933
|
+
headers: {
|
|
3934
|
+
[name: string]: unknown;
|
|
3935
|
+
};
|
|
3936
|
+
content: {
|
|
3937
|
+
"application/json": {
|
|
3938
|
+
error: string;
|
|
3939
|
+
issues?: unknown[];
|
|
3940
|
+
};
|
|
3941
|
+
};
|
|
3942
|
+
};
|
|
3943
|
+
};
|
|
3944
|
+
};
|
|
3945
|
+
getSharesShareIdEvents: {
|
|
3946
|
+
parameters: {
|
|
3947
|
+
query?: never;
|
|
3948
|
+
header?: never;
|
|
3949
|
+
path: {
|
|
3950
|
+
shareId: string;
|
|
3951
|
+
};
|
|
3952
|
+
cookie?: never;
|
|
3953
|
+
};
|
|
3954
|
+
requestBody?: never;
|
|
3955
|
+
responses: {
|
|
3956
|
+
/** @description Sessions */
|
|
3957
|
+
200: {
|
|
3958
|
+
headers: {
|
|
3959
|
+
[name: string]: unknown;
|
|
3960
|
+
};
|
|
3961
|
+
content: {
|
|
3962
|
+
"application/json": {
|
|
3963
|
+
sessions: {
|
|
3964
|
+
[key: string]: unknown;
|
|
3965
|
+
}[];
|
|
3966
|
+
};
|
|
3967
|
+
};
|
|
3968
|
+
};
|
|
3969
|
+
/** @description Not found */
|
|
3970
|
+
404: {
|
|
3971
|
+
headers: {
|
|
3972
|
+
[name: string]: unknown;
|
|
3973
|
+
};
|
|
3974
|
+
content: {
|
|
3975
|
+
"application/json": {
|
|
3976
|
+
error: string;
|
|
3977
|
+
issues?: unknown[];
|
|
3978
|
+
};
|
|
3979
|
+
};
|
|
3980
|
+
};
|
|
3981
|
+
};
|
|
3982
|
+
};
|
|
3983
|
+
postUploads: {
|
|
3984
|
+
parameters: {
|
|
3985
|
+
query?: never;
|
|
3986
|
+
header?: never;
|
|
3987
|
+
path?: never;
|
|
3988
|
+
cookie?: never;
|
|
3989
|
+
};
|
|
3990
|
+
requestBody: {
|
|
3991
|
+
content: {
|
|
3992
|
+
"application/json": {
|
|
3993
|
+
assetId?: string;
|
|
3994
|
+
bytes: number;
|
|
3995
|
+
contentType: string;
|
|
3996
|
+
/** @description Ends in .glb, .gltf, or .zip (a glTF with the files it references) */
|
|
3997
|
+
filename: string;
|
|
3998
|
+
note?: string | null;
|
|
3999
|
+
projectId: string;
|
|
4000
|
+
};
|
|
4001
|
+
};
|
|
4002
|
+
};
|
|
4003
|
+
responses: {
|
|
4004
|
+
/** @description Upload target */
|
|
4005
|
+
200: {
|
|
4006
|
+
headers: {
|
|
4007
|
+
[name: string]: unknown;
|
|
4008
|
+
};
|
|
4009
|
+
content: {
|
|
4010
|
+
"application/json": {
|
|
4011
|
+
assetId: string;
|
|
4012
|
+
partSize: number;
|
|
4013
|
+
token: string;
|
|
4014
|
+
uploadId: string;
|
|
4015
|
+
uploadUrl: string;
|
|
4016
|
+
versionId: string;
|
|
4017
|
+
};
|
|
4018
|
+
};
|
|
4019
|
+
};
|
|
4020
|
+
/** @description Invalid body */
|
|
4021
|
+
400: {
|
|
4022
|
+
headers: {
|
|
4023
|
+
[name: string]: unknown;
|
|
4024
|
+
};
|
|
4025
|
+
content: {
|
|
4026
|
+
"application/json": {
|
|
4027
|
+
error: string;
|
|
4028
|
+
issues?: unknown[];
|
|
4029
|
+
};
|
|
4030
|
+
};
|
|
4031
|
+
};
|
|
4032
|
+
/** @description File too large */
|
|
4033
|
+
413: {
|
|
4034
|
+
headers: {
|
|
4035
|
+
[name: string]: unknown;
|
|
4036
|
+
};
|
|
4037
|
+
content: {
|
|
4038
|
+
"application/json": {
|
|
4039
|
+
error: string;
|
|
4040
|
+
issues?: unknown[];
|
|
4041
|
+
};
|
|
4042
|
+
};
|
|
4043
|
+
};
|
|
4044
|
+
/** @description Unsupported format */
|
|
4045
|
+
415: {
|
|
4046
|
+
headers: {
|
|
4047
|
+
[name: string]: unknown;
|
|
4048
|
+
};
|
|
4049
|
+
content: {
|
|
4050
|
+
"application/json": {
|
|
4051
|
+
error: string;
|
|
4052
|
+
issues?: unknown[];
|
|
4053
|
+
};
|
|
4054
|
+
};
|
|
4055
|
+
};
|
|
4056
|
+
};
|
|
4057
|
+
};
|
|
4058
|
+
postUploadsVersionIdAbort: {
|
|
4059
|
+
parameters: {
|
|
4060
|
+
query?: never;
|
|
4061
|
+
header?: never;
|
|
4062
|
+
path: {
|
|
4063
|
+
versionId: string;
|
|
4064
|
+
};
|
|
4065
|
+
cookie?: never;
|
|
4066
|
+
};
|
|
4067
|
+
requestBody?: never;
|
|
4068
|
+
responses: {
|
|
4069
|
+
/** @description Version marked failed */
|
|
4070
|
+
200: {
|
|
4071
|
+
headers: {
|
|
4072
|
+
[name: string]: unknown;
|
|
4073
|
+
};
|
|
4074
|
+
content: {
|
|
4075
|
+
"application/json": {
|
|
4076
|
+
assetId: string;
|
|
4077
|
+
status: string;
|
|
4078
|
+
versionId: string;
|
|
4079
|
+
};
|
|
4080
|
+
};
|
|
4081
|
+
};
|
|
4082
|
+
/** @description Not found */
|
|
4083
|
+
404: {
|
|
4084
|
+
headers: {
|
|
4085
|
+
[name: string]: unknown;
|
|
4086
|
+
};
|
|
4087
|
+
content: {
|
|
4088
|
+
"application/json": {
|
|
4089
|
+
error: string;
|
|
4090
|
+
issues?: unknown[];
|
|
4091
|
+
};
|
|
4092
|
+
};
|
|
4093
|
+
};
|
|
4094
|
+
/** @description The upload already completed */
|
|
4095
|
+
409: {
|
|
4096
|
+
headers: {
|
|
4097
|
+
[name: string]: unknown;
|
|
4098
|
+
};
|
|
4099
|
+
content: {
|
|
4100
|
+
"application/json": {
|
|
4101
|
+
error: string;
|
|
4102
|
+
issues?: unknown[];
|
|
4103
|
+
};
|
|
4104
|
+
};
|
|
4105
|
+
};
|
|
4106
|
+
};
|
|
4107
|
+
};
|
|
4108
|
+
postUploadsVersionIdComplete: {
|
|
4109
|
+
parameters: {
|
|
4110
|
+
query?: never;
|
|
4111
|
+
header?: never;
|
|
4112
|
+
path: {
|
|
4113
|
+
versionId: string;
|
|
4114
|
+
};
|
|
4115
|
+
cookie?: never;
|
|
4116
|
+
};
|
|
4117
|
+
requestBody?: never;
|
|
4118
|
+
responses: {
|
|
4119
|
+
/** @description Queued jobs */
|
|
4120
|
+
200: {
|
|
4121
|
+
headers: {
|
|
4122
|
+
[name: string]: unknown;
|
|
4123
|
+
};
|
|
4124
|
+
content: {
|
|
4125
|
+
"application/json": {
|
|
4126
|
+
assetId: string;
|
|
4127
|
+
queued: number;
|
|
4128
|
+
versionId: string;
|
|
4129
|
+
};
|
|
4130
|
+
};
|
|
4131
|
+
};
|
|
4132
|
+
/** @description Not found */
|
|
4133
|
+
404: {
|
|
4134
|
+
headers: {
|
|
4135
|
+
[name: string]: unknown;
|
|
4136
|
+
};
|
|
4137
|
+
content: {
|
|
4138
|
+
"application/json": {
|
|
4139
|
+
error: string;
|
|
4140
|
+
issues?: unknown[];
|
|
4141
|
+
};
|
|
4142
|
+
};
|
|
4143
|
+
};
|
|
4144
|
+
/** @description Object not yet on the CDN, or the upload was aborted */
|
|
4145
|
+
409: {
|
|
4146
|
+
headers: {
|
|
4147
|
+
[name: string]: unknown;
|
|
4148
|
+
};
|
|
4149
|
+
content: {
|
|
4150
|
+
"application/json": {
|
|
4151
|
+
error: string;
|
|
4152
|
+
issues?: unknown[];
|
|
4153
|
+
};
|
|
4154
|
+
};
|
|
4155
|
+
};
|
|
4156
|
+
};
|
|
4157
|
+
};
|
|
4158
|
+
getUsage: {
|
|
4159
|
+
parameters: {
|
|
4160
|
+
query?: {
|
|
4161
|
+
/** @description YYYY-MM-DD */
|
|
4162
|
+
from?: string;
|
|
4163
|
+
/** @description YYYY-MM-DD */
|
|
4164
|
+
to?: string;
|
|
4165
|
+
};
|
|
4166
|
+
header?: never;
|
|
4167
|
+
path?: never;
|
|
4168
|
+
cookie?: never;
|
|
4169
|
+
};
|
|
4170
|
+
requestBody?: never;
|
|
4171
|
+
responses: {
|
|
4172
|
+
/** @description Usage summary */
|
|
4173
|
+
200: {
|
|
4174
|
+
headers: {
|
|
4175
|
+
[name: string]: unknown;
|
|
4176
|
+
};
|
|
4177
|
+
content?: never;
|
|
4178
|
+
};
|
|
4179
|
+
};
|
|
4180
|
+
};
|
|
4181
|
+
getWebhooks: {
|
|
4182
|
+
parameters: {
|
|
4183
|
+
query?: never;
|
|
4184
|
+
header?: never;
|
|
4185
|
+
path?: never;
|
|
4186
|
+
cookie?: never;
|
|
4187
|
+
};
|
|
4188
|
+
requestBody?: never;
|
|
4189
|
+
responses: {
|
|
4190
|
+
/** @description Webhooks (secrets omitted) */
|
|
4191
|
+
200: {
|
|
4192
|
+
headers: {
|
|
4193
|
+
[name: string]: unknown;
|
|
4194
|
+
};
|
|
4195
|
+
content: {
|
|
4196
|
+
"application/json": {
|
|
4197
|
+
webhooks: {
|
|
4198
|
+
[key: string]: unknown;
|
|
4199
|
+
}[];
|
|
4200
|
+
};
|
|
4201
|
+
};
|
|
4202
|
+
};
|
|
4203
|
+
};
|
|
4204
|
+
};
|
|
4205
|
+
postWebhooks: {
|
|
4206
|
+
parameters: {
|
|
4207
|
+
query?: never;
|
|
4208
|
+
header?: never;
|
|
4209
|
+
path?: never;
|
|
4210
|
+
cookie?: never;
|
|
4211
|
+
};
|
|
4212
|
+
requestBody: {
|
|
4213
|
+
content: {
|
|
4214
|
+
"application/json": {
|
|
4215
|
+
events: ("asset.ready" | "variant.ready" | "variant.failed" | "share.viewed" | "share.downloaded" | "comment.created" | "version.approved" | "version.changes_requested" | "usage.threshold")[];
|
|
4216
|
+
url: string;
|
|
4217
|
+
};
|
|
4218
|
+
};
|
|
4219
|
+
};
|
|
4220
|
+
responses: {
|
|
4221
|
+
/** @description Created */
|
|
4222
|
+
201: {
|
|
4223
|
+
headers: {
|
|
4224
|
+
[name: string]: unknown;
|
|
4225
|
+
};
|
|
4226
|
+
content: {
|
|
4227
|
+
"application/json": {
|
|
4228
|
+
secret: string;
|
|
4229
|
+
webhook: {
|
|
4230
|
+
[key: string]: unknown;
|
|
4231
|
+
};
|
|
4232
|
+
};
|
|
4233
|
+
};
|
|
4234
|
+
};
|
|
4235
|
+
/** @description Invalid body */
|
|
4236
|
+
400: {
|
|
4237
|
+
headers: {
|
|
4238
|
+
[name: string]: unknown;
|
|
4239
|
+
};
|
|
4240
|
+
content: {
|
|
4241
|
+
"application/json": {
|
|
4242
|
+
error: string;
|
|
4243
|
+
issues?: unknown[];
|
|
4244
|
+
};
|
|
4245
|
+
};
|
|
4246
|
+
};
|
|
4247
|
+
};
|
|
4248
|
+
};
|
|
4249
|
+
deleteWebhooksWebhookId: {
|
|
4250
|
+
parameters: {
|
|
4251
|
+
query?: never;
|
|
4252
|
+
header?: never;
|
|
4253
|
+
path: {
|
|
4254
|
+
webhookId: string;
|
|
4255
|
+
};
|
|
4256
|
+
cookie?: never;
|
|
4257
|
+
};
|
|
4258
|
+
requestBody?: never;
|
|
4259
|
+
responses: {
|
|
4260
|
+
/** @description Deleted */
|
|
4261
|
+
200: {
|
|
4262
|
+
headers: {
|
|
4263
|
+
[name: string]: unknown;
|
|
4264
|
+
};
|
|
4265
|
+
content: {
|
|
4266
|
+
"application/json": {
|
|
4267
|
+
deleted: boolean;
|
|
4268
|
+
};
|
|
4269
|
+
};
|
|
4270
|
+
};
|
|
4271
|
+
/** @description Not found */
|
|
4272
|
+
404: {
|
|
4273
|
+
headers: {
|
|
4274
|
+
[name: string]: unknown;
|
|
4275
|
+
};
|
|
4276
|
+
content: {
|
|
4277
|
+
"application/json": {
|
|
4278
|
+
error: string;
|
|
4279
|
+
issues?: unknown[];
|
|
4280
|
+
};
|
|
4281
|
+
};
|
|
4282
|
+
};
|
|
4283
|
+
};
|
|
4284
|
+
};
|
|
4285
|
+
patchWebhooksWebhookId: {
|
|
4286
|
+
parameters: {
|
|
4287
|
+
query?: never;
|
|
4288
|
+
header?: never;
|
|
4289
|
+
path: {
|
|
4290
|
+
webhookId: string;
|
|
4291
|
+
};
|
|
4292
|
+
cookie?: never;
|
|
4293
|
+
};
|
|
4294
|
+
requestBody: {
|
|
4295
|
+
content: {
|
|
4296
|
+
"application/json": {
|
|
4297
|
+
active?: boolean;
|
|
4298
|
+
events?: ("asset.ready" | "variant.ready" | "variant.failed" | "share.viewed" | "share.downloaded" | "comment.created" | "version.approved" | "version.changes_requested" | "usage.threshold")[];
|
|
4299
|
+
url?: string;
|
|
4300
|
+
};
|
|
4301
|
+
};
|
|
4302
|
+
};
|
|
4303
|
+
responses: {
|
|
4304
|
+
/** @description Webhook */
|
|
4305
|
+
200: {
|
|
4306
|
+
headers: {
|
|
4307
|
+
[name: string]: unknown;
|
|
4308
|
+
};
|
|
4309
|
+
content: {
|
|
4310
|
+
"application/json": {
|
|
4311
|
+
webhook: {
|
|
4312
|
+
[key: string]: unknown;
|
|
4313
|
+
};
|
|
4314
|
+
};
|
|
4315
|
+
};
|
|
4316
|
+
};
|
|
4317
|
+
/** @description Invalid body */
|
|
4318
|
+
400: {
|
|
4319
|
+
headers: {
|
|
4320
|
+
[name: string]: unknown;
|
|
4321
|
+
};
|
|
4322
|
+
content: {
|
|
4323
|
+
"application/json": {
|
|
4324
|
+
error: string;
|
|
4325
|
+
issues?: unknown[];
|
|
4326
|
+
};
|
|
4327
|
+
};
|
|
4328
|
+
};
|
|
4329
|
+
/** @description Not found */
|
|
4330
|
+
404: {
|
|
4331
|
+
headers: {
|
|
4332
|
+
[name: string]: unknown;
|
|
4333
|
+
};
|
|
4334
|
+
content: {
|
|
4335
|
+
"application/json": {
|
|
4336
|
+
error: string;
|
|
4337
|
+
issues?: unknown[];
|
|
4338
|
+
};
|
|
4339
|
+
};
|
|
4340
|
+
};
|
|
4341
|
+
};
|
|
4342
|
+
};
|
|
4343
|
+
getWebhooksWebhookIdDeliveries: {
|
|
4344
|
+
parameters: {
|
|
4345
|
+
query?: {
|
|
4346
|
+
limit?: number;
|
|
4347
|
+
};
|
|
4348
|
+
header?: never;
|
|
4349
|
+
path: {
|
|
4350
|
+
webhookId: string;
|
|
4351
|
+
};
|
|
4352
|
+
cookie?: never;
|
|
4353
|
+
};
|
|
4354
|
+
requestBody?: never;
|
|
4355
|
+
responses: {
|
|
4356
|
+
/** @description Deliveries */
|
|
4357
|
+
200: {
|
|
4358
|
+
headers: {
|
|
4359
|
+
[name: string]: unknown;
|
|
4360
|
+
};
|
|
4361
|
+
content: {
|
|
4362
|
+
"application/json": {
|
|
4363
|
+
deliveries: {
|
|
4364
|
+
[key: string]: unknown;
|
|
4365
|
+
}[];
|
|
4366
|
+
};
|
|
4367
|
+
};
|
|
4368
|
+
};
|
|
4369
|
+
/** @description Not found */
|
|
4370
|
+
404: {
|
|
4371
|
+
headers: {
|
|
4372
|
+
[name: string]: unknown;
|
|
4373
|
+
};
|
|
4374
|
+
content: {
|
|
4375
|
+
"application/json": {
|
|
4376
|
+
error: string;
|
|
4377
|
+
issues?: unknown[];
|
|
4378
|
+
};
|
|
4379
|
+
};
|
|
4380
|
+
};
|
|
4381
|
+
};
|
|
4382
|
+
};
|
|
4383
|
+
}
|
|
4384
|
+
|
|
4385
|
+
declare const DEFAULT_BASE_URL = "https://glboost.com";
|
|
4386
|
+
interface ClientOptions {
|
|
4387
|
+
/** `glb_live_…` from Settings → API keys. Leave unset for a same-origin dashboard session (cookies). */
|
|
4388
|
+
apiKey?: string;
|
|
4389
|
+
/** The app's origin (default `https://glboost.com`); `''` makes relative, same-origin requests in a browser. */
|
|
4390
|
+
baseUrl?: string;
|
|
4391
|
+
/** Project an org-wide key should work in (sent as `X-GLBoost-Project`). */
|
|
4392
|
+
project?: string;
|
|
4393
|
+
/** Replaces the global `fetch` (tests, custom dispatchers). */
|
|
4394
|
+
fetch?: typeof fetch;
|
|
4395
|
+
/** Extra headers on every API request. */
|
|
4396
|
+
headers?: Record<string, string>;
|
|
4397
|
+
}
|
|
4398
|
+
/** `GET /api/v1/me`: the caller's org, project, role, and how it authenticated. */
|
|
4399
|
+
type Me = paths['/api/v1/me']['get']['responses'][200]['content']['application/json'];
|
|
4400
|
+
interface GLBoostClient {
|
|
4401
|
+
readonly baseUrl: string;
|
|
4402
|
+
/** The typed openapi-fetch client: `client.api.GET('/api/v1/assets')`, `client.api.POST(…)`. */
|
|
4403
|
+
readonly api: Client<paths>;
|
|
4404
|
+
/** The fetch in use, with no GLBoost headers (CDN upload endpoints take their token in the URL). */
|
|
4405
|
+
readonly fetch: typeof fetch;
|
|
4406
|
+
/**
|
|
4407
|
+
* A raw request with the auth headers; `path` is absolute or relative to `baseUrl`. String bodies
|
|
4408
|
+
* are sent as JSON unless a content type is given.
|
|
4409
|
+
*/
|
|
4410
|
+
request(path: string, init?: RequestInit): Promise<Response>;
|
|
4411
|
+
/** `GET /api/v1/me`, fetched once per client. */
|
|
4412
|
+
me(): Promise<Me>;
|
|
4413
|
+
}
|
|
4414
|
+
declare function createClient(options?: ClientOptions): GLBoostClient;
|
|
4415
|
+
type ApiResult<T> = {
|
|
4416
|
+
data?: T;
|
|
4417
|
+
error?: unknown;
|
|
4418
|
+
response: Response;
|
|
4419
|
+
};
|
|
4420
|
+
/** `data` of an openapi-fetch result, or a `GLBoostApiError` built from the response and its body. */
|
|
4421
|
+
declare function unwrap<T>(result: ApiResult<T> | PromiseLike<ApiResult<T>>): Promise<T>;
|
|
4422
|
+
|
|
4423
|
+
/** The body the API answers errors with: `{ error, issues? }`, plus the plan fields on 402 and 413. */
|
|
4424
|
+
interface ApiErrorBody {
|
|
4425
|
+
error?: string;
|
|
4426
|
+
issues?: unknown[];
|
|
4427
|
+
plan?: string;
|
|
4428
|
+
used?: number;
|
|
4429
|
+
limit?: number;
|
|
4430
|
+
hint?: string;
|
|
4431
|
+
upgradeUrl?: string;
|
|
4432
|
+
}
|
|
4433
|
+
/** A non-2xx answer from the API. `message` is the API's `error` (plus the hint on plan limits). */
|
|
4434
|
+
declare class GLBoostApiError extends Error {
|
|
4435
|
+
readonly name = "GLBoostApiError";
|
|
4436
|
+
readonly status: number;
|
|
4437
|
+
/** The API's `error` string, e.g. `asset not found` or `optimization limit reached`. */
|
|
4438
|
+
readonly code: string;
|
|
4439
|
+
readonly body: ApiErrorBody;
|
|
4440
|
+
readonly url: string | null;
|
|
4441
|
+
constructor(status: number, body: ApiErrorBody, url?: string | null);
|
|
4442
|
+
/** 402 (plan limit) or 413 (file too large): `plan`, `used`, `limit`, and `upgradeUrl` are set. */
|
|
4443
|
+
get isPlanLimit(): boolean;
|
|
4444
|
+
get plan(): string | null;
|
|
4445
|
+
get used(): number | null;
|
|
4446
|
+
get limit(): number | null;
|
|
4447
|
+
get hint(): string | null;
|
|
4448
|
+
/** Relative to the app (`/app/settings#billing`). */
|
|
4449
|
+
get upgradeUrl(): string | null;
|
|
4450
|
+
get issues(): unknown[] | null;
|
|
4451
|
+
}
|
|
4452
|
+
/**
|
|
4453
|
+
* Builds the error for a failed response. Pass `parsedBody` when the body was already read (the
|
|
4454
|
+
* openapi-fetch client parses it); otherwise the body is read here.
|
|
4455
|
+
*/
|
|
4456
|
+
declare function apiErrorFromResponse(response: Response, parsedBody?: unknown): Promise<GLBoostApiError>;
|
|
4457
|
+
/** `waitForReady` gave up before every variant settled. */
|
|
4458
|
+
declare class GLBoostTimeoutError extends Error {
|
|
4459
|
+
readonly assetId: string;
|
|
4460
|
+
readonly versionId: string | null;
|
|
4461
|
+
readonly timeoutMs: number;
|
|
4462
|
+
readonly name = "GLBoostTimeoutError";
|
|
4463
|
+
constructor(assetId: string, versionId: string | null, timeoutMs: number);
|
|
4464
|
+
}
|
|
4465
|
+
|
|
4466
|
+
type SignResult = paths['/api/v1/assets/{assetId}/sign']['post']['responses'][200]['content']['application/json'];
|
|
4467
|
+
interface SignOptions {
|
|
4468
|
+
/** Named preset; default: the project's default preset. */
|
|
4469
|
+
preset?: string;
|
|
4470
|
+
/** A spec object or canonical string instead of a preset. */
|
|
4471
|
+
spec?: OptimizeSpec | string;
|
|
4472
|
+
versionId?: string;
|
|
4473
|
+
/** 60 s to 7 days; default 10 minutes. */
|
|
4474
|
+
ttlSeconds?: number;
|
|
4475
|
+
/** Sign a download URL (`dl=1`). */
|
|
4476
|
+
dl?: boolean;
|
|
4477
|
+
}
|
|
4478
|
+
/** `POST /api/v1/assets/{assetId}/sign`: a signed CDN URL for a private asset or a signing-required project. */
|
|
4479
|
+
declare function signUrl(client: GLBoostClient, assetId: string, options?: SignOptions): Promise<SignResult>;
|
|
4480
|
+
|
|
4481
|
+
/** What `POST /api/v1/uploads` answers: the version ids and the CDN upload target. */
|
|
4482
|
+
type UploadInit = paths['/api/v1/uploads']['post']['responses'][200]['content']['application/json'];
|
|
4483
|
+
/** What `POST /api/v1/uploads/{versionId}/complete` answers. */
|
|
4484
|
+
type UploadFinish = paths['/api/v1/uploads/{versionId}/complete']['post']['responses'][200]['content']['application/json'];
|
|
4485
|
+
interface UploadProgress {
|
|
4486
|
+
loaded: number;
|
|
4487
|
+
total: number;
|
|
4488
|
+
}
|
|
4489
|
+
/** A `File`, or a named blob or byte buffer (`.glb`, self-contained `.gltf`, or `.zip`). */
|
|
4490
|
+
type UploadInput = Blob | {
|
|
4491
|
+
name: string;
|
|
4492
|
+
data: Blob | ArrayBuffer | ArrayBufferView;
|
|
4493
|
+
type?: string;
|
|
4494
|
+
};
|
|
4495
|
+
/** Where the init, finish, and abort calls go; the defaults are the public API. */
|
|
4496
|
+
interface UploadEndpoints {
|
|
4497
|
+
init: string;
|
|
4498
|
+
finish: (versionId: string) => string;
|
|
4499
|
+
/** Tells the app the upload was given up on, so the version does not sit at `uploading`. */
|
|
4500
|
+
abort?: (versionId: string) => string;
|
|
4501
|
+
/** Extra fields for the init body (GLBoost's demo sends its Turnstile token). */
|
|
4502
|
+
extra?: Record<string, unknown>;
|
|
4503
|
+
}
|
|
4504
|
+
declare const DEFAULT_UPLOAD_ENDPOINTS: UploadEndpoints;
|
|
4505
|
+
interface UploadOptions {
|
|
4506
|
+
/** Defaults to the caller's project (`GET /api/v1/me`) when the default endpoints are used. */
|
|
4507
|
+
projectId?: string;
|
|
4508
|
+
/** Replace an existing asset with a new version. */
|
|
4509
|
+
assetId?: string;
|
|
4510
|
+
/** What changed in this version; shown on the dashboard and share pages. */
|
|
4511
|
+
note?: string | null;
|
|
4512
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
4513
|
+
endpoints?: UploadEndpoints;
|
|
4514
|
+
signal?: AbortSignal;
|
|
4515
|
+
/**
|
|
4516
|
+
* How parts reach the CDN: `xhr` reports progress per byte and is the default in browsers when
|
|
4517
|
+
* `onProgress` is set; `fetch` (the default elsewhere) reports progress per part.
|
|
4518
|
+
*/
|
|
4519
|
+
transport?: 'fetch' | 'xhr';
|
|
4520
|
+
}
|
|
4521
|
+
interface UploadResult<F = UploadFinish> {
|
|
4522
|
+
assetId: string;
|
|
4523
|
+
versionId: string;
|
|
4524
|
+
/** The finish call's body (`{ assetId, versionId, queued }` on the public API). */
|
|
4525
|
+
finish: F | null;
|
|
4526
|
+
}
|
|
4527
|
+
/**
|
|
4528
|
+
* Uploads a model the way the dashboard does: init with the app, PUT the parts to the CDN,
|
|
4529
|
+
* complete the multipart upload there, then tell the app to start optimizing. On any failure after
|
|
4530
|
+
* init the upload is aborted on both sides (best effort) and the error is rethrown.
|
|
4531
|
+
*/
|
|
4532
|
+
declare function uploadModel<F = UploadFinish>(client: GLBoostClient, input: UploadInput, options?: UploadOptions): Promise<UploadResult<F>>;
|
|
4533
|
+
/** By extension; the app decides the format from the filename anyway. */
|
|
4534
|
+
declare function contentTypeFor(filename: string): string;
|
|
4535
|
+
|
|
4536
|
+
declare const DEFAULT_CDN_BASE = "https://cdn.glboost.com";
|
|
4537
|
+
interface AssetUrlOptions {
|
|
4538
|
+
/** CDN origin (default `https://cdn.glboost.com`). */
|
|
4539
|
+
base?: string;
|
|
4540
|
+
/** Named preset (default `compat`); ignored when `spec` is given. */
|
|
4541
|
+
preset?: PresetName | string;
|
|
4542
|
+
/** Canonical spec string, e.g. `anim=keep,geo=meshopt,maxtex=1024,q=low,tex=ktx2`. */
|
|
4543
|
+
spec?: string;
|
|
4544
|
+
/** Pin a version id (`v=`). */
|
|
4545
|
+
v?: string;
|
|
4546
|
+
/** Ask for a download (`dl=1`). */
|
|
4547
|
+
dl?: boolean;
|
|
4548
|
+
}
|
|
4549
|
+
/** The public delivery URL of an asset variant: `https://cdn.glboost.com/<id>.glb?p=gpu`. */
|
|
4550
|
+
declare function assetUrl(assetId: string, options?: AssetUrlOptions): string;
|
|
4551
|
+
/** `https://cdn.glboost.com/<id>/config.json`: what the viewer reads before loading. */
|
|
4552
|
+
declare function configUrl(assetId: string, base?: string): string;
|
|
4553
|
+
|
|
4554
|
+
type VariantsResponse = paths['/api/v1/assets/{assetId}/variants']['get']['responses'][200]['content']['application/json'];
|
|
4555
|
+
type VariantRow = VariantsResponse['versions'][number]['variants'][number];
|
|
4556
|
+
interface WaitOptions {
|
|
4557
|
+
/** A version to watch; default: the newest. */
|
|
4558
|
+
versionId?: string;
|
|
4559
|
+
/** Give up after this long (default 10 minutes). */
|
|
4560
|
+
timeoutMs?: number;
|
|
4561
|
+
/** Poll interval (default 5 s). */
|
|
4562
|
+
intervalMs?: number;
|
|
4563
|
+
signal?: AbortSignal;
|
|
4564
|
+
/** Called after every poll with the state so far. */
|
|
4565
|
+
onPoll?: (state: ReadyState) => void;
|
|
4566
|
+
}
|
|
4567
|
+
interface ReadyState {
|
|
4568
|
+
versionId: string;
|
|
4569
|
+
number: number;
|
|
4570
|
+
variants: VariantRow[];
|
|
4571
|
+
/** Still `queued` or `processing`. */
|
|
4572
|
+
pending: VariantRow[];
|
|
4573
|
+
failed: VariantRow[];
|
|
4574
|
+
}
|
|
4575
|
+
/**
|
|
4576
|
+
* Polls `GET /api/v1/assets/{assetId}/variants` until no variant of the version is queued or
|
|
4577
|
+
* processing. Failed variants do not throw: they come back under `failed`.
|
|
4578
|
+
*/
|
|
4579
|
+
declare function waitForReady(client: GLBoostClient, assetId: string, options?: WaitOptions): Promise<ReadyState>;
|
|
4580
|
+
|
|
4581
|
+
export { DEFAULT_BASE_URL, DEFAULT_CDN_BASE, DEFAULT_UPLOAD_ENDPOINTS, GLBoostApiError, GLBoostTimeoutError, PRESET_NAMES, apiErrorFromResponse, assetUrl, canonicalSpec, configUrl, contentTypeFor, createClient, isPresetName, parseCanonicalSpec, signUrl, unwrap, uploadModel, waitForReady };
|
|
4582
|
+
export type { ApiErrorBody, AssetUrlOptions, ClientOptions, GLBoostClient, Me, OptimizeSpec, PresetName, ReadyState, SignOptions, SignResult, UploadEndpoints, UploadFinish, UploadInit, UploadInput, UploadOptions, UploadProgress, UploadResult, VariantRow, VariantsResponse, WaitOptions, components, operations, paths };
|