@remotehost/sdk 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.
@@ -0,0 +1,4217 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/me/orgs": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get: operations["listMyOrgs"];
14
+ put?: never;
15
+ post?: never;
16
+ delete?: never;
17
+ options?: never;
18
+ head?: never;
19
+ patch?: never;
20
+ trace?: never;
21
+ };
22
+ "/orgs/{orgId}/projects": {
23
+ parameters: {
24
+ query?: never;
25
+ header?: never;
26
+ path?: never;
27
+ cookie?: never;
28
+ };
29
+ get: operations["listOrgProjects"];
30
+ put?: never;
31
+ post: operations["createProject"];
32
+ delete?: never;
33
+ options?: never;
34
+ head?: never;
35
+ patch?: never;
36
+ trace?: never;
37
+ };
38
+ "/orgs/{orgId}/projects/{projectId}": {
39
+ parameters: {
40
+ query?: never;
41
+ header?: never;
42
+ path?: never;
43
+ cookie?: never;
44
+ };
45
+ get?: never;
46
+ put?: never;
47
+ post?: never;
48
+ delete?: never;
49
+ options?: never;
50
+ head?: never;
51
+ patch: operations["updateProject"];
52
+ trace?: never;
53
+ };
54
+ "/orgs/{orgId}/projects/{projectId}/repos": {
55
+ parameters: {
56
+ query?: never;
57
+ header?: never;
58
+ path?: never;
59
+ cookie?: never;
60
+ };
61
+ get: operations["listProjectRepos"];
62
+ put?: never;
63
+ post?: never;
64
+ delete?: never;
65
+ options?: never;
66
+ head?: never;
67
+ patch?: never;
68
+ trace?: never;
69
+ };
70
+ "/orgs/{orgId}/projects/{projectId}/mcp-connections": {
71
+ parameters: {
72
+ query?: never;
73
+ header?: never;
74
+ path?: never;
75
+ cookie?: never;
76
+ };
77
+ get: operations["listProjectMcpConnections"];
78
+ put?: never;
79
+ post?: never;
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/orgs/{orgId}/projects/{projectId}/skill-connections": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path?: never;
91
+ cookie?: never;
92
+ };
93
+ get: operations["listProjectSkillConnections"];
94
+ put?: never;
95
+ post?: never;
96
+ delete?: never;
97
+ options?: never;
98
+ head?: never;
99
+ patch?: never;
100
+ trace?: never;
101
+ };
102
+ "/orgs/{orgId}/projects/{projectId}/members": {
103
+ parameters: {
104
+ query?: never;
105
+ header?: never;
106
+ path?: never;
107
+ cookie?: never;
108
+ };
109
+ get: operations["listProjectMembers"];
110
+ put?: never;
111
+ post?: never;
112
+ delete?: never;
113
+ options?: never;
114
+ head?: never;
115
+ patch?: never;
116
+ trace?: never;
117
+ };
118
+ "/orgs/{orgId}/subscription": {
119
+ parameters: {
120
+ query?: never;
121
+ header?: never;
122
+ path?: never;
123
+ cookie?: never;
124
+ };
125
+ get: operations["getOrgSubscription"];
126
+ put?: never;
127
+ post?: never;
128
+ delete?: never;
129
+ options?: never;
130
+ head?: never;
131
+ patch?: never;
132
+ trace?: never;
133
+ };
134
+ "/orgs/{orgId}/sandboxes": {
135
+ parameters: {
136
+ query?: never;
137
+ header?: never;
138
+ path?: never;
139
+ cookie?: never;
140
+ };
141
+ get: operations["listOrgSandboxes"];
142
+ put?: never;
143
+ post: operations["createSandbox"];
144
+ delete?: never;
145
+ options?: never;
146
+ head?: never;
147
+ patch?: never;
148
+ trace?: never;
149
+ };
150
+ "/sandboxes/{sandboxId}/sleep": {
151
+ parameters: {
152
+ query?: never;
153
+ header?: never;
154
+ path?: never;
155
+ cookie?: never;
156
+ };
157
+ get?: never;
158
+ put?: never;
159
+ post: operations["sleepSandbox"];
160
+ delete?: never;
161
+ options?: never;
162
+ head?: never;
163
+ patch?: never;
164
+ trace?: never;
165
+ };
166
+ "/sandboxes/{sandboxId}/stop": {
167
+ parameters: {
168
+ query?: never;
169
+ header?: never;
170
+ path?: never;
171
+ cookie?: never;
172
+ };
173
+ get?: never;
174
+ put?: never;
175
+ /**
176
+ * @deprecated
177
+ * @description Deprecated: use POST /sandboxes/{sandboxId}/sleep.
178
+ */
179
+ post: operations["stopSandbox"];
180
+ delete?: never;
181
+ options?: never;
182
+ head?: never;
183
+ patch?: never;
184
+ trace?: never;
185
+ };
186
+ "/sandboxes/{sandboxId}/destroy": {
187
+ parameters: {
188
+ query?: never;
189
+ header?: never;
190
+ path?: never;
191
+ cookie?: never;
192
+ };
193
+ get?: never;
194
+ put?: never;
195
+ post: operations["destroySandbox"];
196
+ delete?: never;
197
+ options?: never;
198
+ head?: never;
199
+ patch?: never;
200
+ trace?: never;
201
+ };
202
+ "/sandboxes/{sandboxId}/renew": {
203
+ parameters: {
204
+ query?: never;
205
+ header?: never;
206
+ path?: never;
207
+ cookie?: never;
208
+ };
209
+ get?: never;
210
+ put?: never;
211
+ post: operations["renewSandbox"];
212
+ delete?: never;
213
+ options?: never;
214
+ head?: never;
215
+ patch?: never;
216
+ trace?: never;
217
+ };
218
+ "/sandboxes/{sandboxId}/resize": {
219
+ parameters: {
220
+ query?: never;
221
+ header?: never;
222
+ path?: never;
223
+ cookie?: never;
224
+ };
225
+ get?: never;
226
+ put?: never;
227
+ post: operations["resizeSandbox"];
228
+ delete?: never;
229
+ options?: never;
230
+ head?: never;
231
+ patch?: never;
232
+ trace?: never;
233
+ };
234
+ "/sandboxes/{sandboxId}/wake": {
235
+ parameters: {
236
+ query?: never;
237
+ header?: never;
238
+ path?: never;
239
+ cookie?: never;
240
+ };
241
+ get?: never;
242
+ put?: never;
243
+ post: operations["wakeSandbox"];
244
+ delete?: never;
245
+ options?: never;
246
+ head?: never;
247
+ patch?: never;
248
+ trace?: never;
249
+ };
250
+ "/sandboxes/{sandboxId}/resume": {
251
+ parameters: {
252
+ query?: never;
253
+ header?: never;
254
+ path?: never;
255
+ cookie?: never;
256
+ };
257
+ get?: never;
258
+ put?: never;
259
+ /**
260
+ * @deprecated
261
+ * @description Deprecated: use POST /sandboxes/{sandboxId}/wake.
262
+ */
263
+ post: operations["resumeSandbox"];
264
+ delete?: never;
265
+ options?: never;
266
+ head?: never;
267
+ patch?: never;
268
+ trace?: never;
269
+ };
270
+ "/sandboxes/{sandboxId}": {
271
+ parameters: {
272
+ query?: never;
273
+ header?: never;
274
+ path?: never;
275
+ cookie?: never;
276
+ };
277
+ /** Retrieve a sandbox */
278
+ get: operations["getSandbox"];
279
+ put?: never;
280
+ post?: never;
281
+ delete?: never;
282
+ options?: never;
283
+ head?: never;
284
+ patch?: never;
285
+ trace?: never;
286
+ };
287
+ "/sandboxes/{sandboxId}/exec": {
288
+ parameters: {
289
+ query?: never;
290
+ header?: never;
291
+ path?: never;
292
+ cookie?: never;
293
+ };
294
+ get?: never;
295
+ put?: never;
296
+ /**
297
+ * Run a command in a sandbox
298
+ * @description Runs a non-interactive command to completion. Standard output and error are each capped at 64 KiB; the tail is kept when either is truncated. The default timeout is 120 seconds.
299
+ */
300
+ post: operations["execSandboxCommand"];
301
+ delete?: never;
302
+ options?: never;
303
+ head?: never;
304
+ patch?: never;
305
+ trace?: never;
306
+ };
307
+ "/sandboxes/{sandboxId}/files": {
308
+ parameters: {
309
+ query?: never;
310
+ header?: never;
311
+ path?: never;
312
+ cookie?: never;
313
+ };
314
+ /**
315
+ * List a sandbox directory
316
+ * @description Paths resolve beneath /code; the default is /code itself.
317
+ */
318
+ get: operations["listSandboxFiles"];
319
+ put?: never;
320
+ post?: never;
321
+ delete?: never;
322
+ options?: never;
323
+ head?: never;
324
+ patch?: never;
325
+ trace?: never;
326
+ };
327
+ "/sandboxes/{sandboxId}/file": {
328
+ parameters: {
329
+ query?: never;
330
+ header?: never;
331
+ path?: never;
332
+ cookie?: never;
333
+ };
334
+ /** Read a sandbox file */
335
+ get: operations["readSandboxFile"];
336
+ /**
337
+ * Write a sandbox file
338
+ * @description Writes at most 2 MiB into the sandbox's /code tree.
339
+ */
340
+ put: operations["writeSandboxFile"];
341
+ post?: never;
342
+ delete?: never;
343
+ options?: never;
344
+ head?: never;
345
+ patch?: never;
346
+ trace?: never;
347
+ };
348
+ "/sandboxes/{sandboxId}/previews": {
349
+ parameters: {
350
+ query?: never;
351
+ header?: never;
352
+ path?: never;
353
+ cookie?: never;
354
+ };
355
+ /**
356
+ * List public sandbox preview links
357
+ * @description Only persistent public links are listed; team previews are stateless and never stored. The URL is not returned, since its token exists only in the create response.
358
+ */
359
+ get: operations["listSandboxPreviews"];
360
+ put?: never;
361
+ /**
362
+ * Create a sandbox preview
363
+ * @description A team preview (the default) is a signed URL for signed-in organization members. A public preview is a persistent, revocable link with its own expiry; it requires sandbox.preview.share.
364
+ */
365
+ post: operations["createSandboxPreview"];
366
+ delete?: never;
367
+ options?: never;
368
+ head?: never;
369
+ patch?: never;
370
+ trace?: never;
371
+ };
372
+ "/sandboxes/{sandboxId}/previews/{linkId}": {
373
+ parameters: {
374
+ query?: never;
375
+ header?: never;
376
+ path?: never;
377
+ cookie?: never;
378
+ };
379
+ get?: never;
380
+ put?: never;
381
+ post?: never;
382
+ /** Revoke a public sandbox preview link */
383
+ delete: operations["revokeSandboxPreview"];
384
+ options?: never;
385
+ head?: never;
386
+ patch?: never;
387
+ trace?: never;
388
+ };
389
+ "/sandboxes/{sandboxId}/metrics/sample": {
390
+ parameters: {
391
+ query?: never;
392
+ header?: never;
393
+ path?: never;
394
+ cookie?: never;
395
+ };
396
+ get?: never;
397
+ put?: never;
398
+ /**
399
+ * Sample and persist sandbox resource metrics
400
+ * @description Not a read despite the shape: the sample is recorded as a usage event and, for auto-scaling profiles, the resize recommendation is persisted against the sandbox.
401
+ */
402
+ post: operations["sampleSandboxMetrics"];
403
+ delete?: never;
404
+ options?: never;
405
+ head?: never;
406
+ patch?: never;
407
+ trace?: never;
408
+ };
409
+ "/sandboxes/{sandboxId}/metrics/live": {
410
+ parameters: {
411
+ query?: never;
412
+ header?: never;
413
+ path?: never;
414
+ cookie?: never;
415
+ };
416
+ /** Read live sandbox resource metrics */
417
+ get: operations["getSandboxMetrics"];
418
+ put?: never;
419
+ post?: never;
420
+ delete?: never;
421
+ options?: never;
422
+ head?: never;
423
+ patch?: never;
424
+ trace?: never;
425
+ };
426
+ }
427
+ export type webhooks = Record<string, never>;
428
+ export interface components {
429
+ schemas: {
430
+ OrgMembership: {
431
+ /** @enum {string} */
432
+ role: "owner" | "admin" | "billing_admin" | "security_admin" | "member";
433
+ org: components["schemas"]["Org"];
434
+ };
435
+ Org: {
436
+ id: string;
437
+ name: string;
438
+ slug: string | null;
439
+ /** @enum {string} */
440
+ plan: "none" | "individual" | "pro" | "max" | "team" | "enterprise";
441
+ metronome_customer_id: string | null;
442
+ metronome_contract_id: string | null;
443
+ metronome_contract_plan: string | null;
444
+ onboarded_at: string | null;
445
+ created_at: string;
446
+ updated_at: string;
447
+ };
448
+ Project: {
449
+ id: string;
450
+ org_id: string;
451
+ name: string;
452
+ context: string | null;
453
+ /** @enum {string} */
454
+ use_case: "internal" | "external";
455
+ sandbox_machine_hour_limit: number | null;
456
+ color: string;
457
+ created_at: string;
458
+ updated_at: string;
459
+ };
460
+ CreateProjectBody: {
461
+ name?: string;
462
+ context?: string;
463
+ useCase?: string;
464
+ };
465
+ UpdateProjectBody: {
466
+ name?: string;
467
+ context?: string | null;
468
+ useCase?: string;
469
+ color?: string;
470
+ };
471
+ ProjectRepository: {
472
+ id: string;
473
+ org_id: string;
474
+ project_id: string;
475
+ name: string;
476
+ clone_url: string;
477
+ default_branch: string | null;
478
+ /** @enum {string} */
479
+ auth_method: "ssh_deploy_key" | "installation_token";
480
+ ssh_public_key: string | null;
481
+ git_installation_id: string | null;
482
+ external_repo_id: string | null;
483
+ created_by: string | null;
484
+ created_at: string;
485
+ updated_at: string;
486
+ };
487
+ ProjectMcpConnection: {
488
+ id: string;
489
+ org_id: string;
490
+ project_id: string;
491
+ name: string;
492
+ /** @enum {string} */
493
+ transport: "streamable_http" | "sse" | "stdio";
494
+ server_url: string | null;
495
+ command: string | null;
496
+ args: string[];
497
+ /** @enum {string} */
498
+ auth_type: "none" | "oauth" | "api_key";
499
+ /** @enum {string} */
500
+ auth_status: "not_required" | "not_connected" | "connected" | "expired" | "error";
501
+ enabled: boolean;
502
+ allowed_tools: string[];
503
+ last_used_at: string | null;
504
+ created_by: string | null;
505
+ created_at: string;
506
+ updated_at: string;
507
+ };
508
+ ProjectSkillConnection: {
509
+ id: string;
510
+ org_id: string;
511
+ project_id: string;
512
+ skill_slug: string;
513
+ name: string;
514
+ version: string;
515
+ enabled: boolean;
516
+ /** @enum {string} */
517
+ install_status: "pending" | "installed" | "failed" | "disabled";
518
+ last_used_at: string | null;
519
+ created_by: string | null;
520
+ created_at: string;
521
+ updated_at: string;
522
+ };
523
+ ProjectMember: {
524
+ id: string;
525
+ userId: string;
526
+ orgRole: string | null;
527
+ projectRole: string | null;
528
+ /** @enum {string} */
529
+ accessSource: "org_role" | "project_member";
530
+ createdAt: string;
531
+ email: string | null;
532
+ };
533
+ Subscription: {
534
+ id: string;
535
+ org_id: string;
536
+ stripe_customer_id: string | null;
537
+ stripe_subscription_id: string | null;
538
+ /** @enum {string} */
539
+ plan: "individual" | "pro" | "max" | "team" | "enterprise";
540
+ status: string;
541
+ trial_ends_at: string | null;
542
+ current_period_starts_at: string | null;
543
+ current_period_ends_at: string | null;
544
+ seats: number | null;
545
+ premium_seats: number | null;
546
+ sandbox_machine_hour_limit: number | null;
547
+ sandbox_overage_enabled: boolean;
548
+ created_at: string;
549
+ updated_at: string;
550
+ } | null;
551
+ Sandbox: {
552
+ id: string;
553
+ org_id: string;
554
+ project_id: string;
555
+ name: string;
556
+ /** @enum {string} */
557
+ agent: "claude" | "codex";
558
+ /** @enum {string} */
559
+ status: "provisioning" | "ready" | "running" | "stopping" | "stopped" | "deleted" | "error";
560
+ /** @enum {string} */
561
+ mode: "persistent" | "ephemeral";
562
+ region: string;
563
+ /** @enum {string} */
564
+ persistence_policy: "throwaway_ephemeral" | "resumable_ephemeral" | "sleep_resume" | "always_on";
565
+ sandbox_profile: string;
566
+ /** @enum {string} */
567
+ machine_size: "small" | "default" | "large" | "xlarge";
568
+ allocated_vcpu: number;
569
+ allocated_memory_gb: number;
570
+ allocated_disk_gb: number;
571
+ end_user_id: string | null;
572
+ created_at: string;
573
+ updated_at: string;
574
+ };
575
+ CreateSandboxBody: {
576
+ agent?: string;
577
+ projectId?: string;
578
+ profile?: string;
579
+ machineSize?: string;
580
+ region?: string;
581
+ name?: string;
582
+ sshPublicKey?: string;
583
+ persistencePolicy?: string;
584
+ mode?: string;
585
+ /** @description Seconds until the sandbox auto-stops (pause for persistent policies, delete for throwaway_ephemeral). Defaults to 3600; capped by the plan's session limit; ignored for always_on. */
586
+ ttlSeconds?: number;
587
+ endUserId?: string;
588
+ metadata?: {
589
+ [key: string]: unknown;
590
+ };
591
+ templateId?: string;
592
+ };
593
+ ResizeSandboxBody: {
594
+ vcpu?: number;
595
+ memoryGb?: number;
596
+ diskGb?: number;
597
+ };
598
+ ExecSandboxResult: {
599
+ exitCode: number;
600
+ stdout: string;
601
+ stderr: string;
602
+ truncated: boolean;
603
+ timedOut: boolean;
604
+ };
605
+ ExecSandboxBody: {
606
+ command: string;
607
+ timeoutSeconds?: number;
608
+ };
609
+ FilesystemEntry: {
610
+ label: string;
611
+ path: string;
612
+ /** @enum {string} */
613
+ type: "directory" | "file";
614
+ };
615
+ WriteSandboxFileBody: {
616
+ path: string;
617
+ content: string;
618
+ /** @enum {string} */
619
+ encoding?: "utf8" | "base64";
620
+ };
621
+ Preview: {
622
+ /** @enum {string} */
623
+ kind: "external" | "port";
624
+ /** @enum {string} */
625
+ audience?: "team" | "public";
626
+ id?: string;
627
+ port?: number;
628
+ /** @enum {string} */
629
+ status: "ready";
630
+ target: string;
631
+ endUserId?: string | null;
632
+ label?: string | null;
633
+ expiresAt?: string;
634
+ url: string;
635
+ };
636
+ CreatePreviewBody: {
637
+ target?: string;
638
+ port?: number;
639
+ /** @enum {string} */
640
+ audience?: "team" | "public";
641
+ expiresInSeconds?: number;
642
+ label?: string;
643
+ endUserId?: string;
644
+ };
645
+ PreviewLink: {
646
+ id: string;
647
+ port: number;
648
+ /** @enum {string} */
649
+ audience: "team" | "public";
650
+ label: string | null;
651
+ endUserId: string | null;
652
+ createdAt: string;
653
+ expiresAt: string | null;
654
+ revokedAt: string | null;
655
+ lastSeenAt: string | null;
656
+ active: boolean;
657
+ };
658
+ SandboxMetrics: {
659
+ allocation: components["schemas"]["ResourceShape"];
660
+ /** @enum {string} */
661
+ autoscaleAction: "none" | "upscale" | "downscale";
662
+ autoscaleReason: string;
663
+ pendingAllocation: components["schemas"]["ResourceShape"] & unknown;
664
+ pressure: {
665
+ cpu: number;
666
+ memory: number;
667
+ disk: number;
668
+ };
669
+ recommendation: components["schemas"]["ResourceShape"];
670
+ sample: components["schemas"]["SandboxMetricsSample"];
671
+ memoryWarning: components["schemas"]["MemoryPressureWarning"];
672
+ sampledAt: string;
673
+ };
674
+ ResourceShape: {
675
+ vcpu: number;
676
+ memoryGb: number;
677
+ diskGb: number;
678
+ };
679
+ SandboxMetricsSample: {
680
+ cpuPercent: number;
681
+ memoryTotalGb: number;
682
+ memoryUsedGb: number;
683
+ diskTotalGb: number;
684
+ diskUsedGb: number;
685
+ swapTotalGb: number;
686
+ swapUsedGb: number;
687
+ memoryPressure: {
688
+ someAvg10: number;
689
+ someAvg60: number;
690
+ fullAvg10: number;
691
+ fullAvg60: number;
692
+ } | null;
693
+ cpuPressure: {
694
+ someAvg10: number;
695
+ someAvg60: number;
696
+ } | null;
697
+ };
698
+ MemoryPressureWarning: {
699
+ /** @enum {string} */
700
+ level: "none" | "warning" | "critical";
701
+ reason: string;
702
+ suggestedShape: components["schemas"]["ResourceShape"] & unknown;
703
+ };
704
+ LiveSandboxMetrics: {
705
+ cpuPercent: number;
706
+ memoryTotalGb: number;
707
+ memoryUsedGb: number;
708
+ diskTotalGb: number;
709
+ diskUsedGb: number;
710
+ swapTotalGb: number;
711
+ swapUsedGb: number;
712
+ memoryPressure: {
713
+ someAvg10: number;
714
+ someAvg60: number;
715
+ fullAvg10: number;
716
+ fullAvg60: number;
717
+ } | null;
718
+ cpuPressure: {
719
+ someAvg10: number;
720
+ someAvg60: number;
721
+ } | null;
722
+ memoryWarning: components["schemas"]["MemoryPressureWarning"];
723
+ };
724
+ };
725
+ responses: never;
726
+ parameters: never;
727
+ requestBodies: never;
728
+ headers: never;
729
+ pathItems: never;
730
+ }
731
+ export type $defs = Record<string, never>;
732
+ export interface operations {
733
+ listMyOrgs: {
734
+ parameters: {
735
+ query?: never;
736
+ header?: never;
737
+ path?: never;
738
+ cookie?: never;
739
+ };
740
+ requestBody?: never;
741
+ responses: {
742
+ /** @description Orgs the signed-in user belongs to, and their role in each. */
743
+ 200: {
744
+ headers: {
745
+ [name: string]: unknown;
746
+ };
747
+ content: {
748
+ "application/json": {
749
+ orgs: components["schemas"]["OrgMembership"][];
750
+ };
751
+ };
752
+ };
753
+ /** @description Database error. */
754
+ 500: {
755
+ headers: {
756
+ [name: string]: unknown;
757
+ };
758
+ content: {
759
+ "application/json": {
760
+ error: {
761
+ message: string;
762
+ /** @enum {string} */
763
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
764
+ limit?: number;
765
+ /** @enum {string} */
766
+ window?: "minute" | "hour" | "day";
767
+ retryAfterSeconds?: number;
768
+ resetsAt?: string;
769
+ active?: number;
770
+ includedLimit?: number | null;
771
+ planMaximum?: number | null;
772
+ profile?: string;
773
+ minimumPlan?: string | null;
774
+ };
775
+ };
776
+ };
777
+ };
778
+ };
779
+ };
780
+ listOrgProjects: {
781
+ parameters: {
782
+ query?: never;
783
+ header?: never;
784
+ path: {
785
+ orgId: string;
786
+ };
787
+ cookie?: never;
788
+ };
789
+ requestBody?: never;
790
+ responses: {
791
+ /** @description Projects in the org visible to the signed-in user. */
792
+ 200: {
793
+ headers: {
794
+ [name: string]: unknown;
795
+ };
796
+ content: {
797
+ "application/json": {
798
+ projects: components["schemas"]["Project"][];
799
+ };
800
+ };
801
+ };
802
+ /** @description Not a member of this org. */
803
+ 403: {
804
+ headers: {
805
+ [name: string]: unknown;
806
+ };
807
+ content: {
808
+ "application/json": {
809
+ error: {
810
+ message: string;
811
+ /** @enum {string} */
812
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
813
+ limit?: number;
814
+ /** @enum {string} */
815
+ window?: "minute" | "hour" | "day";
816
+ retryAfterSeconds?: number;
817
+ resetsAt?: string;
818
+ active?: number;
819
+ includedLimit?: number | null;
820
+ planMaximum?: number | null;
821
+ profile?: string;
822
+ minimumPlan?: string | null;
823
+ };
824
+ };
825
+ };
826
+ };
827
+ /** @description Database error. */
828
+ 500: {
829
+ headers: {
830
+ [name: string]: unknown;
831
+ };
832
+ content: {
833
+ "application/json": {
834
+ error: {
835
+ message: string;
836
+ /** @enum {string} */
837
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
838
+ limit?: number;
839
+ /** @enum {string} */
840
+ window?: "minute" | "hour" | "day";
841
+ retryAfterSeconds?: number;
842
+ resetsAt?: string;
843
+ active?: number;
844
+ includedLimit?: number | null;
845
+ planMaximum?: number | null;
846
+ profile?: string;
847
+ minimumPlan?: string | null;
848
+ };
849
+ };
850
+ };
851
+ };
852
+ };
853
+ };
854
+ createProject: {
855
+ parameters: {
856
+ query?: never;
857
+ header?: never;
858
+ path: {
859
+ orgId: string;
860
+ };
861
+ cookie?: never;
862
+ };
863
+ requestBody?: {
864
+ content: {
865
+ "application/json": components["schemas"]["CreateProjectBody"];
866
+ };
867
+ };
868
+ responses: {
869
+ /** @description The created project. */
870
+ 201: {
871
+ headers: {
872
+ [name: string]: unknown;
873
+ };
874
+ content: {
875
+ "application/json": {
876
+ project: components["schemas"]["Project"];
877
+ };
878
+ };
879
+ };
880
+ /** @description Missing or invalid fields. */
881
+ 400: {
882
+ headers: {
883
+ [name: string]: unknown;
884
+ };
885
+ content: {
886
+ "application/json": {
887
+ error: {
888
+ message: string;
889
+ /** @enum {string} */
890
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
891
+ limit?: number;
892
+ /** @enum {string} */
893
+ window?: "minute" | "hour" | "day";
894
+ retryAfterSeconds?: number;
895
+ resetsAt?: string;
896
+ active?: number;
897
+ includedLimit?: number | null;
898
+ planMaximum?: number | null;
899
+ profile?: string;
900
+ minimumPlan?: string | null;
901
+ };
902
+ };
903
+ };
904
+ };
905
+ /** @description Permission project.create is required. */
906
+ 403: {
907
+ headers: {
908
+ [name: string]: unknown;
909
+ };
910
+ content: {
911
+ "application/json": {
912
+ error: {
913
+ message: string;
914
+ /** @enum {string} */
915
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
916
+ limit?: number;
917
+ /** @enum {string} */
918
+ window?: "minute" | "hour" | "day";
919
+ retryAfterSeconds?: number;
920
+ resetsAt?: string;
921
+ active?: number;
922
+ includedLimit?: number | null;
923
+ planMaximum?: number | null;
924
+ profile?: string;
925
+ minimumPlan?: string | null;
926
+ };
927
+ };
928
+ };
929
+ };
930
+ /** @description Database error. */
931
+ 500: {
932
+ headers: {
933
+ [name: string]: unknown;
934
+ };
935
+ content: {
936
+ "application/json": {
937
+ error: {
938
+ message: string;
939
+ /** @enum {string} */
940
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
941
+ limit?: number;
942
+ /** @enum {string} */
943
+ window?: "minute" | "hour" | "day";
944
+ retryAfterSeconds?: number;
945
+ resetsAt?: string;
946
+ active?: number;
947
+ includedLimit?: number | null;
948
+ planMaximum?: number | null;
949
+ profile?: string;
950
+ minimumPlan?: string | null;
951
+ };
952
+ };
953
+ };
954
+ };
955
+ };
956
+ };
957
+ updateProject: {
958
+ parameters: {
959
+ query?: never;
960
+ header?: never;
961
+ path: {
962
+ orgId: string;
963
+ projectId: string;
964
+ };
965
+ cookie?: never;
966
+ };
967
+ requestBody?: {
968
+ content: {
969
+ "application/json": components["schemas"]["UpdateProjectBody"];
970
+ };
971
+ };
972
+ responses: {
973
+ /** @description The updated project. */
974
+ 200: {
975
+ headers: {
976
+ [name: string]: unknown;
977
+ };
978
+ content: {
979
+ "application/json": {
980
+ project: components["schemas"]["Project"];
981
+ };
982
+ };
983
+ };
984
+ /** @description Missing or invalid fields. */
985
+ 400: {
986
+ headers: {
987
+ [name: string]: unknown;
988
+ };
989
+ content: {
990
+ "application/json": {
991
+ error: {
992
+ message: string;
993
+ /** @enum {string} */
994
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
995
+ limit?: number;
996
+ /** @enum {string} */
997
+ window?: "minute" | "hour" | "day";
998
+ retryAfterSeconds?: number;
999
+ resetsAt?: string;
1000
+ active?: number;
1001
+ includedLimit?: number | null;
1002
+ planMaximum?: number | null;
1003
+ profile?: string;
1004
+ minimumPlan?: string | null;
1005
+ };
1006
+ };
1007
+ };
1008
+ };
1009
+ /** @description Permission project.update is required. */
1010
+ 403: {
1011
+ headers: {
1012
+ [name: string]: unknown;
1013
+ };
1014
+ content: {
1015
+ "application/json": {
1016
+ error: {
1017
+ message: string;
1018
+ /** @enum {string} */
1019
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1020
+ limit?: number;
1021
+ /** @enum {string} */
1022
+ window?: "minute" | "hour" | "day";
1023
+ retryAfterSeconds?: number;
1024
+ resetsAt?: string;
1025
+ active?: number;
1026
+ includedLimit?: number | null;
1027
+ planMaximum?: number | null;
1028
+ profile?: string;
1029
+ minimumPlan?: string | null;
1030
+ };
1031
+ };
1032
+ };
1033
+ };
1034
+ /** @description Project not found. */
1035
+ 404: {
1036
+ headers: {
1037
+ [name: string]: unknown;
1038
+ };
1039
+ content: {
1040
+ "application/json": {
1041
+ error: {
1042
+ message: string;
1043
+ /** @enum {string} */
1044
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1045
+ limit?: number;
1046
+ /** @enum {string} */
1047
+ window?: "minute" | "hour" | "day";
1048
+ retryAfterSeconds?: number;
1049
+ resetsAt?: string;
1050
+ active?: number;
1051
+ includedLimit?: number | null;
1052
+ planMaximum?: number | null;
1053
+ profile?: string;
1054
+ minimumPlan?: string | null;
1055
+ };
1056
+ };
1057
+ };
1058
+ };
1059
+ /** @description Database error. */
1060
+ 500: {
1061
+ headers: {
1062
+ [name: string]: unknown;
1063
+ };
1064
+ content: {
1065
+ "application/json": {
1066
+ error: {
1067
+ message: string;
1068
+ /** @enum {string} */
1069
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1070
+ limit?: number;
1071
+ /** @enum {string} */
1072
+ window?: "minute" | "hour" | "day";
1073
+ retryAfterSeconds?: number;
1074
+ resetsAt?: string;
1075
+ active?: number;
1076
+ includedLimit?: number | null;
1077
+ planMaximum?: number | null;
1078
+ profile?: string;
1079
+ minimumPlan?: string | null;
1080
+ };
1081
+ };
1082
+ };
1083
+ };
1084
+ };
1085
+ };
1086
+ listProjectRepos: {
1087
+ parameters: {
1088
+ query?: never;
1089
+ header?: never;
1090
+ path: {
1091
+ orgId: string;
1092
+ projectId: string;
1093
+ };
1094
+ cookie?: never;
1095
+ };
1096
+ requestBody?: never;
1097
+ responses: {
1098
+ /** @description Repositories connected to the project, newest first. */
1099
+ 200: {
1100
+ headers: {
1101
+ [name: string]: unknown;
1102
+ };
1103
+ content: {
1104
+ "application/json": {
1105
+ repos: components["schemas"]["ProjectRepository"][];
1106
+ };
1107
+ };
1108
+ };
1109
+ /** @description Permission repo.read is required. */
1110
+ 403: {
1111
+ headers: {
1112
+ [name: string]: unknown;
1113
+ };
1114
+ content: {
1115
+ "application/json": {
1116
+ error: {
1117
+ message: string;
1118
+ /** @enum {string} */
1119
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1120
+ limit?: number;
1121
+ /** @enum {string} */
1122
+ window?: "minute" | "hour" | "day";
1123
+ retryAfterSeconds?: number;
1124
+ resetsAt?: string;
1125
+ active?: number;
1126
+ includedLimit?: number | null;
1127
+ planMaximum?: number | null;
1128
+ profile?: string;
1129
+ minimumPlan?: string | null;
1130
+ };
1131
+ };
1132
+ };
1133
+ };
1134
+ /** @description Project not found. */
1135
+ 404: {
1136
+ headers: {
1137
+ [name: string]: unknown;
1138
+ };
1139
+ content: {
1140
+ "application/json": {
1141
+ error: {
1142
+ message: string;
1143
+ /** @enum {string} */
1144
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1145
+ limit?: number;
1146
+ /** @enum {string} */
1147
+ window?: "minute" | "hour" | "day";
1148
+ retryAfterSeconds?: number;
1149
+ resetsAt?: string;
1150
+ active?: number;
1151
+ includedLimit?: number | null;
1152
+ planMaximum?: number | null;
1153
+ profile?: string;
1154
+ minimumPlan?: string | null;
1155
+ };
1156
+ };
1157
+ };
1158
+ };
1159
+ /** @description Database error. */
1160
+ 500: {
1161
+ headers: {
1162
+ [name: string]: unknown;
1163
+ };
1164
+ content: {
1165
+ "application/json": {
1166
+ error: {
1167
+ message: string;
1168
+ /** @enum {string} */
1169
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1170
+ limit?: number;
1171
+ /** @enum {string} */
1172
+ window?: "minute" | "hour" | "day";
1173
+ retryAfterSeconds?: number;
1174
+ resetsAt?: string;
1175
+ active?: number;
1176
+ includedLimit?: number | null;
1177
+ planMaximum?: number | null;
1178
+ profile?: string;
1179
+ minimumPlan?: string | null;
1180
+ };
1181
+ };
1182
+ };
1183
+ };
1184
+ };
1185
+ };
1186
+ listProjectMcpConnections: {
1187
+ parameters: {
1188
+ query?: never;
1189
+ header?: never;
1190
+ path: {
1191
+ orgId: string;
1192
+ projectId: string;
1193
+ };
1194
+ cookie?: never;
1195
+ };
1196
+ requestBody?: never;
1197
+ responses: {
1198
+ /** @description MCP servers connected to the project, newest first. */
1199
+ 200: {
1200
+ headers: {
1201
+ [name: string]: unknown;
1202
+ };
1203
+ content: {
1204
+ "application/json": {
1205
+ connections: components["schemas"]["ProjectMcpConnection"][];
1206
+ };
1207
+ };
1208
+ };
1209
+ /** @description Permission mcp.read is required. */
1210
+ 403: {
1211
+ headers: {
1212
+ [name: string]: unknown;
1213
+ };
1214
+ content: {
1215
+ "application/json": {
1216
+ error: {
1217
+ message: string;
1218
+ /** @enum {string} */
1219
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1220
+ limit?: number;
1221
+ /** @enum {string} */
1222
+ window?: "minute" | "hour" | "day";
1223
+ retryAfterSeconds?: number;
1224
+ resetsAt?: string;
1225
+ active?: number;
1226
+ includedLimit?: number | null;
1227
+ planMaximum?: number | null;
1228
+ profile?: string;
1229
+ minimumPlan?: string | null;
1230
+ };
1231
+ };
1232
+ };
1233
+ };
1234
+ /** @description Project not found. */
1235
+ 404: {
1236
+ headers: {
1237
+ [name: string]: unknown;
1238
+ };
1239
+ content: {
1240
+ "application/json": {
1241
+ error: {
1242
+ message: string;
1243
+ /** @enum {string} */
1244
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1245
+ limit?: number;
1246
+ /** @enum {string} */
1247
+ window?: "minute" | "hour" | "day";
1248
+ retryAfterSeconds?: number;
1249
+ resetsAt?: string;
1250
+ active?: number;
1251
+ includedLimit?: number | null;
1252
+ planMaximum?: number | null;
1253
+ profile?: string;
1254
+ minimumPlan?: string | null;
1255
+ };
1256
+ };
1257
+ };
1258
+ };
1259
+ /** @description Database error. */
1260
+ 500: {
1261
+ headers: {
1262
+ [name: string]: unknown;
1263
+ };
1264
+ content: {
1265
+ "application/json": {
1266
+ error: {
1267
+ message: string;
1268
+ /** @enum {string} */
1269
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1270
+ limit?: number;
1271
+ /** @enum {string} */
1272
+ window?: "minute" | "hour" | "day";
1273
+ retryAfterSeconds?: number;
1274
+ resetsAt?: string;
1275
+ active?: number;
1276
+ includedLimit?: number | null;
1277
+ planMaximum?: number | null;
1278
+ profile?: string;
1279
+ minimumPlan?: string | null;
1280
+ };
1281
+ };
1282
+ };
1283
+ };
1284
+ };
1285
+ };
1286
+ listProjectSkillConnections: {
1287
+ parameters: {
1288
+ query?: never;
1289
+ header?: never;
1290
+ path: {
1291
+ orgId: string;
1292
+ projectId: string;
1293
+ };
1294
+ cookie?: never;
1295
+ };
1296
+ requestBody?: never;
1297
+ responses: {
1298
+ /** @description Skills installed into the project, newest first. */
1299
+ 200: {
1300
+ headers: {
1301
+ [name: string]: unknown;
1302
+ };
1303
+ content: {
1304
+ "application/json": {
1305
+ connections: components["schemas"]["ProjectSkillConnection"][];
1306
+ };
1307
+ };
1308
+ };
1309
+ /** @description Permission skills.read is required. */
1310
+ 403: {
1311
+ headers: {
1312
+ [name: string]: unknown;
1313
+ };
1314
+ content: {
1315
+ "application/json": {
1316
+ error: {
1317
+ message: string;
1318
+ /** @enum {string} */
1319
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1320
+ limit?: number;
1321
+ /** @enum {string} */
1322
+ window?: "minute" | "hour" | "day";
1323
+ retryAfterSeconds?: number;
1324
+ resetsAt?: string;
1325
+ active?: number;
1326
+ includedLimit?: number | null;
1327
+ planMaximum?: number | null;
1328
+ profile?: string;
1329
+ minimumPlan?: string | null;
1330
+ };
1331
+ };
1332
+ };
1333
+ };
1334
+ /** @description Project not found. */
1335
+ 404: {
1336
+ headers: {
1337
+ [name: string]: unknown;
1338
+ };
1339
+ content: {
1340
+ "application/json": {
1341
+ error: {
1342
+ message: string;
1343
+ /** @enum {string} */
1344
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1345
+ limit?: number;
1346
+ /** @enum {string} */
1347
+ window?: "minute" | "hour" | "day";
1348
+ retryAfterSeconds?: number;
1349
+ resetsAt?: string;
1350
+ active?: number;
1351
+ includedLimit?: number | null;
1352
+ planMaximum?: number | null;
1353
+ profile?: string;
1354
+ minimumPlan?: string | null;
1355
+ };
1356
+ };
1357
+ };
1358
+ };
1359
+ /** @description Database error. */
1360
+ 500: {
1361
+ headers: {
1362
+ [name: string]: unknown;
1363
+ };
1364
+ content: {
1365
+ "application/json": {
1366
+ error: {
1367
+ message: string;
1368
+ /** @enum {string} */
1369
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1370
+ limit?: number;
1371
+ /** @enum {string} */
1372
+ window?: "minute" | "hour" | "day";
1373
+ retryAfterSeconds?: number;
1374
+ resetsAt?: string;
1375
+ active?: number;
1376
+ includedLimit?: number | null;
1377
+ planMaximum?: number | null;
1378
+ profile?: string;
1379
+ minimumPlan?: string | null;
1380
+ };
1381
+ };
1382
+ };
1383
+ };
1384
+ };
1385
+ };
1386
+ listProjectMembers: {
1387
+ parameters: {
1388
+ query?: never;
1389
+ header?: never;
1390
+ path: {
1391
+ orgId: string;
1392
+ projectId: string;
1393
+ };
1394
+ cookie?: never;
1395
+ };
1396
+ requestBody?: never;
1397
+ responses: {
1398
+ /** @description Everyone with access to the project -- direct members plus org roles that inherit it. */
1399
+ 200: {
1400
+ headers: {
1401
+ [name: string]: unknown;
1402
+ };
1403
+ content: {
1404
+ "application/json": {
1405
+ canManageMembers: boolean;
1406
+ members: components["schemas"]["ProjectMember"][];
1407
+ };
1408
+ };
1409
+ };
1410
+ /** @description Permission project.members.read is required. */
1411
+ 403: {
1412
+ headers: {
1413
+ [name: string]: unknown;
1414
+ };
1415
+ content: {
1416
+ "application/json": {
1417
+ error: {
1418
+ message: string;
1419
+ /** @enum {string} */
1420
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1421
+ limit?: number;
1422
+ /** @enum {string} */
1423
+ window?: "minute" | "hour" | "day";
1424
+ retryAfterSeconds?: number;
1425
+ resetsAt?: string;
1426
+ active?: number;
1427
+ includedLimit?: number | null;
1428
+ planMaximum?: number | null;
1429
+ profile?: string;
1430
+ minimumPlan?: string | null;
1431
+ };
1432
+ };
1433
+ };
1434
+ };
1435
+ /** @description Project not found. */
1436
+ 404: {
1437
+ headers: {
1438
+ [name: string]: unknown;
1439
+ };
1440
+ content: {
1441
+ "application/json": {
1442
+ error: {
1443
+ message: string;
1444
+ /** @enum {string} */
1445
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1446
+ limit?: number;
1447
+ /** @enum {string} */
1448
+ window?: "minute" | "hour" | "day";
1449
+ retryAfterSeconds?: number;
1450
+ resetsAt?: string;
1451
+ active?: number;
1452
+ includedLimit?: number | null;
1453
+ planMaximum?: number | null;
1454
+ profile?: string;
1455
+ minimumPlan?: string | null;
1456
+ };
1457
+ };
1458
+ };
1459
+ };
1460
+ /** @description Database error. */
1461
+ 500: {
1462
+ headers: {
1463
+ [name: string]: unknown;
1464
+ };
1465
+ content: {
1466
+ "application/json": {
1467
+ error: {
1468
+ message: string;
1469
+ /** @enum {string} */
1470
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1471
+ limit?: number;
1472
+ /** @enum {string} */
1473
+ window?: "minute" | "hour" | "day";
1474
+ retryAfterSeconds?: number;
1475
+ resetsAt?: string;
1476
+ active?: number;
1477
+ includedLimit?: number | null;
1478
+ planMaximum?: number | null;
1479
+ profile?: string;
1480
+ minimumPlan?: string | null;
1481
+ };
1482
+ };
1483
+ };
1484
+ };
1485
+ };
1486
+ };
1487
+ getOrgSubscription: {
1488
+ parameters: {
1489
+ query?: never;
1490
+ header?: never;
1491
+ path: {
1492
+ orgId: string;
1493
+ };
1494
+ cookie?: never;
1495
+ };
1496
+ requestBody?: never;
1497
+ responses: {
1498
+ /** @description The org's subscription, or null if it has never had one. */
1499
+ 200: {
1500
+ headers: {
1501
+ [name: string]: unknown;
1502
+ };
1503
+ content: {
1504
+ "application/json": {
1505
+ subscription: components["schemas"]["Subscription"];
1506
+ };
1507
+ };
1508
+ };
1509
+ /** @description Not a member of this org. */
1510
+ 403: {
1511
+ headers: {
1512
+ [name: string]: unknown;
1513
+ };
1514
+ content: {
1515
+ "application/json": {
1516
+ error: {
1517
+ message: string;
1518
+ /** @enum {string} */
1519
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1520
+ limit?: number;
1521
+ /** @enum {string} */
1522
+ window?: "minute" | "hour" | "day";
1523
+ retryAfterSeconds?: number;
1524
+ resetsAt?: string;
1525
+ active?: number;
1526
+ includedLimit?: number | null;
1527
+ planMaximum?: number | null;
1528
+ profile?: string;
1529
+ minimumPlan?: string | null;
1530
+ };
1531
+ };
1532
+ };
1533
+ };
1534
+ /** @description Database error. */
1535
+ 500: {
1536
+ headers: {
1537
+ [name: string]: unknown;
1538
+ };
1539
+ content: {
1540
+ "application/json": {
1541
+ error: {
1542
+ message: string;
1543
+ /** @enum {string} */
1544
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1545
+ limit?: number;
1546
+ /** @enum {string} */
1547
+ window?: "minute" | "hour" | "day";
1548
+ retryAfterSeconds?: number;
1549
+ resetsAt?: string;
1550
+ active?: number;
1551
+ includedLimit?: number | null;
1552
+ planMaximum?: number | null;
1553
+ profile?: string;
1554
+ minimumPlan?: string | null;
1555
+ };
1556
+ };
1557
+ };
1558
+ };
1559
+ };
1560
+ };
1561
+ listOrgSandboxes: {
1562
+ parameters: {
1563
+ query?: {
1564
+ projectId?: string;
1565
+ endUserId?: string;
1566
+ };
1567
+ header?: never;
1568
+ path: {
1569
+ orgId: string;
1570
+ };
1571
+ cookie?: never;
1572
+ };
1573
+ requestBody?: never;
1574
+ responses: {
1575
+ /** @description Non-deleted sandboxes in the org visible to the signed-in user. */
1576
+ 200: {
1577
+ headers: {
1578
+ [name: string]: unknown;
1579
+ };
1580
+ content: {
1581
+ "application/json": {
1582
+ sandboxes: components["schemas"]["Sandbox"][];
1583
+ };
1584
+ };
1585
+ };
1586
+ /** @description Not a member of this org. */
1587
+ 403: {
1588
+ headers: {
1589
+ [name: string]: unknown;
1590
+ };
1591
+ content: {
1592
+ "application/json": {
1593
+ error: {
1594
+ message: string;
1595
+ /** @enum {string} */
1596
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1597
+ limit?: number;
1598
+ /** @enum {string} */
1599
+ window?: "minute" | "hour" | "day";
1600
+ retryAfterSeconds?: number;
1601
+ resetsAt?: string;
1602
+ active?: number;
1603
+ includedLimit?: number | null;
1604
+ planMaximum?: number | null;
1605
+ profile?: string;
1606
+ minimumPlan?: string | null;
1607
+ };
1608
+ };
1609
+ };
1610
+ };
1611
+ /** @description Database error. */
1612
+ 500: {
1613
+ headers: {
1614
+ [name: string]: unknown;
1615
+ };
1616
+ content: {
1617
+ "application/json": {
1618
+ error: {
1619
+ message: string;
1620
+ /** @enum {string} */
1621
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1622
+ limit?: number;
1623
+ /** @enum {string} */
1624
+ window?: "minute" | "hour" | "day";
1625
+ retryAfterSeconds?: number;
1626
+ resetsAt?: string;
1627
+ active?: number;
1628
+ includedLimit?: number | null;
1629
+ planMaximum?: number | null;
1630
+ profile?: string;
1631
+ minimumPlan?: string | null;
1632
+ };
1633
+ };
1634
+ };
1635
+ };
1636
+ };
1637
+ };
1638
+ createSandbox: {
1639
+ parameters: {
1640
+ query?: never;
1641
+ header?: never;
1642
+ path: {
1643
+ orgId: string;
1644
+ };
1645
+ cookie?: never;
1646
+ };
1647
+ requestBody?: {
1648
+ content: {
1649
+ "application/json": components["schemas"]["CreateSandboxBody"];
1650
+ };
1651
+ };
1652
+ responses: {
1653
+ /** @description The created (provisioning) sandbox. */
1654
+ 201: {
1655
+ headers: {
1656
+ [name: string]: unknown;
1657
+ };
1658
+ content: {
1659
+ "application/json": {
1660
+ sandbox: components["schemas"]["Sandbox"];
1661
+ };
1662
+ };
1663
+ };
1664
+ /** @description Missing or invalid fields. */
1665
+ 400: {
1666
+ headers: {
1667
+ [name: string]: unknown;
1668
+ };
1669
+ content: {
1670
+ "application/json": {
1671
+ error: {
1672
+ message: string;
1673
+ /** @enum {string} */
1674
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1675
+ limit?: number;
1676
+ /** @enum {string} */
1677
+ window?: "minute" | "hour" | "day";
1678
+ retryAfterSeconds?: number;
1679
+ resetsAt?: string;
1680
+ active?: number;
1681
+ includedLimit?: number | null;
1682
+ planMaximum?: number | null;
1683
+ profile?: string;
1684
+ minimumPlan?: string | null;
1685
+ };
1686
+ };
1687
+ };
1688
+ };
1689
+ /** @description The org has no active billing plan. */
1690
+ 402: {
1691
+ headers: {
1692
+ [name: string]: unknown;
1693
+ };
1694
+ content: {
1695
+ "application/json": {
1696
+ error: {
1697
+ message: string;
1698
+ /** @enum {string} */
1699
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1700
+ limit?: number;
1701
+ /** @enum {string} */
1702
+ window?: "minute" | "hour" | "day";
1703
+ retryAfterSeconds?: number;
1704
+ resetsAt?: string;
1705
+ active?: number;
1706
+ includedLimit?: number | null;
1707
+ planMaximum?: number | null;
1708
+ profile?: string;
1709
+ minimumPlan?: string | null;
1710
+ };
1711
+ };
1712
+ };
1713
+ };
1714
+ /** @description Permission sandbox.create is required. */
1715
+ 403: {
1716
+ headers: {
1717
+ [name: string]: unknown;
1718
+ };
1719
+ content: {
1720
+ "application/json": {
1721
+ error: {
1722
+ message: string;
1723
+ /** @enum {string} */
1724
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1725
+ limit?: number;
1726
+ /** @enum {string} */
1727
+ window?: "minute" | "hour" | "day";
1728
+ retryAfterSeconds?: number;
1729
+ resetsAt?: string;
1730
+ active?: number;
1731
+ includedLimit?: number | null;
1732
+ planMaximum?: number | null;
1733
+ profile?: string;
1734
+ minimumPlan?: string | null;
1735
+ };
1736
+ };
1737
+ };
1738
+ };
1739
+ /** @description Project or template not found. */
1740
+ 404: {
1741
+ headers: {
1742
+ [name: string]: unknown;
1743
+ };
1744
+ content: {
1745
+ "application/json": {
1746
+ error: {
1747
+ message: string;
1748
+ /** @enum {string} */
1749
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1750
+ limit?: number;
1751
+ /** @enum {string} */
1752
+ window?: "minute" | "hour" | "day";
1753
+ retryAfterSeconds?: number;
1754
+ resetsAt?: string;
1755
+ active?: number;
1756
+ includedLimit?: number | null;
1757
+ planMaximum?: number | null;
1758
+ profile?: string;
1759
+ minimumPlan?: string | null;
1760
+ };
1761
+ };
1762
+ };
1763
+ };
1764
+ /** @description The requested template has no build to boot from yet. */
1765
+ 409: {
1766
+ headers: {
1767
+ [name: string]: unknown;
1768
+ };
1769
+ content: {
1770
+ "application/json": {
1771
+ error: {
1772
+ message: string;
1773
+ /** @enum {string} */
1774
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1775
+ limit?: number;
1776
+ /** @enum {string} */
1777
+ window?: "minute" | "hour" | "day";
1778
+ retryAfterSeconds?: number;
1779
+ resetsAt?: string;
1780
+ active?: number;
1781
+ includedLimit?: number | null;
1782
+ planMaximum?: number | null;
1783
+ profile?: string;
1784
+ minimumPlan?: string | null;
1785
+ };
1786
+ };
1787
+ };
1788
+ };
1789
+ /** @description A plan limit was reached: error.code is rate_limited (starts per minute / hour / day, Retry-After set) or limit_reached (concurrent sandboxes). */
1790
+ 429: {
1791
+ headers: {
1792
+ [name: string]: unknown;
1793
+ };
1794
+ content: {
1795
+ "application/json": {
1796
+ error: {
1797
+ message: string;
1798
+ /** @enum {string} */
1799
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1800
+ limit?: number;
1801
+ /** @enum {string} */
1802
+ window?: "minute" | "hour" | "day";
1803
+ retryAfterSeconds?: number;
1804
+ resetsAt?: string;
1805
+ active?: number;
1806
+ includedLimit?: number | null;
1807
+ planMaximum?: number | null;
1808
+ profile?: string;
1809
+ minimumPlan?: string | null;
1810
+ };
1811
+ };
1812
+ };
1813
+ };
1814
+ /** @description Database or provisioning error. */
1815
+ 500: {
1816
+ headers: {
1817
+ [name: string]: unknown;
1818
+ };
1819
+ content: {
1820
+ "application/json": {
1821
+ error: {
1822
+ message: string;
1823
+ /** @enum {string} */
1824
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1825
+ limit?: number;
1826
+ /** @enum {string} */
1827
+ window?: "minute" | "hour" | "day";
1828
+ retryAfterSeconds?: number;
1829
+ resetsAt?: string;
1830
+ active?: number;
1831
+ includedLimit?: number | null;
1832
+ planMaximum?: number | null;
1833
+ profile?: string;
1834
+ minimumPlan?: string | null;
1835
+ };
1836
+ };
1837
+ };
1838
+ };
1839
+ };
1840
+ };
1841
+ sleepSandbox: {
1842
+ parameters: {
1843
+ query?: never;
1844
+ header?: never;
1845
+ path: {
1846
+ sandboxId: string;
1847
+ };
1848
+ cookie?: never;
1849
+ };
1850
+ requestBody?: never;
1851
+ responses: {
1852
+ /** @description The sleeping sandbox. */
1853
+ 200: {
1854
+ headers: {
1855
+ [name: string]: unknown;
1856
+ };
1857
+ content: {
1858
+ "application/json": {
1859
+ sandbox: components["schemas"]["Sandbox"];
1860
+ };
1861
+ };
1862
+ };
1863
+ /** @description Permission sandbox.stop is required. */
1864
+ 403: {
1865
+ headers: {
1866
+ [name: string]: unknown;
1867
+ };
1868
+ content: {
1869
+ "application/json": {
1870
+ error: {
1871
+ message: string;
1872
+ /** @enum {string} */
1873
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1874
+ limit?: number;
1875
+ /** @enum {string} */
1876
+ window?: "minute" | "hour" | "day";
1877
+ retryAfterSeconds?: number;
1878
+ resetsAt?: string;
1879
+ active?: number;
1880
+ includedLimit?: number | null;
1881
+ planMaximum?: number | null;
1882
+ profile?: string;
1883
+ minimumPlan?: string | null;
1884
+ };
1885
+ };
1886
+ };
1887
+ };
1888
+ /** @description Sandbox not found. */
1889
+ 404: {
1890
+ headers: {
1891
+ [name: string]: unknown;
1892
+ };
1893
+ content: {
1894
+ "application/json": {
1895
+ error: {
1896
+ message: string;
1897
+ /** @enum {string} */
1898
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1899
+ limit?: number;
1900
+ /** @enum {string} */
1901
+ window?: "minute" | "hour" | "day";
1902
+ retryAfterSeconds?: number;
1903
+ resetsAt?: string;
1904
+ active?: number;
1905
+ includedLimit?: number | null;
1906
+ planMaximum?: number | null;
1907
+ profile?: string;
1908
+ minimumPlan?: string | null;
1909
+ };
1910
+ };
1911
+ };
1912
+ };
1913
+ /** @description A sandbox operation is pending recovery, or its state changed during the request. */
1914
+ 409: {
1915
+ headers: {
1916
+ [name: string]: unknown;
1917
+ };
1918
+ content: {
1919
+ "application/json": {
1920
+ error: {
1921
+ message: string;
1922
+ /** @enum {string} */
1923
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1924
+ limit?: number;
1925
+ /** @enum {string} */
1926
+ window?: "minute" | "hour" | "day";
1927
+ retryAfterSeconds?: number;
1928
+ resetsAt?: string;
1929
+ active?: number;
1930
+ includedLimit?: number | null;
1931
+ planMaximum?: number | null;
1932
+ profile?: string;
1933
+ minimumPlan?: string | null;
1934
+ };
1935
+ };
1936
+ };
1937
+ };
1938
+ /** @description Database or provider error. */
1939
+ 500: {
1940
+ headers: {
1941
+ [name: string]: unknown;
1942
+ };
1943
+ content: {
1944
+ "application/json": {
1945
+ error: {
1946
+ message: string;
1947
+ /** @enum {string} */
1948
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1949
+ limit?: number;
1950
+ /** @enum {string} */
1951
+ window?: "minute" | "hour" | "day";
1952
+ retryAfterSeconds?: number;
1953
+ resetsAt?: string;
1954
+ active?: number;
1955
+ includedLimit?: number | null;
1956
+ planMaximum?: number | null;
1957
+ profile?: string;
1958
+ minimumPlan?: string | null;
1959
+ };
1960
+ };
1961
+ };
1962
+ };
1963
+ };
1964
+ };
1965
+ stopSandbox: {
1966
+ parameters: {
1967
+ query?: never;
1968
+ header?: never;
1969
+ path: {
1970
+ sandboxId: string;
1971
+ };
1972
+ cookie?: never;
1973
+ };
1974
+ requestBody?: never;
1975
+ responses: {
1976
+ /** @description The sleeping sandbox. */
1977
+ 200: {
1978
+ headers: {
1979
+ [name: string]: unknown;
1980
+ };
1981
+ content: {
1982
+ "application/json": {
1983
+ sandbox: components["schemas"]["Sandbox"];
1984
+ };
1985
+ };
1986
+ };
1987
+ /** @description Permission sandbox.stop is required. */
1988
+ 403: {
1989
+ headers: {
1990
+ [name: string]: unknown;
1991
+ };
1992
+ content: {
1993
+ "application/json": {
1994
+ error: {
1995
+ message: string;
1996
+ /** @enum {string} */
1997
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
1998
+ limit?: number;
1999
+ /** @enum {string} */
2000
+ window?: "minute" | "hour" | "day";
2001
+ retryAfterSeconds?: number;
2002
+ resetsAt?: string;
2003
+ active?: number;
2004
+ includedLimit?: number | null;
2005
+ planMaximum?: number | null;
2006
+ profile?: string;
2007
+ minimumPlan?: string | null;
2008
+ };
2009
+ };
2010
+ };
2011
+ };
2012
+ /** @description Sandbox not found. */
2013
+ 404: {
2014
+ headers: {
2015
+ [name: string]: unknown;
2016
+ };
2017
+ content: {
2018
+ "application/json": {
2019
+ error: {
2020
+ message: string;
2021
+ /** @enum {string} */
2022
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2023
+ limit?: number;
2024
+ /** @enum {string} */
2025
+ window?: "minute" | "hour" | "day";
2026
+ retryAfterSeconds?: number;
2027
+ resetsAt?: string;
2028
+ active?: number;
2029
+ includedLimit?: number | null;
2030
+ planMaximum?: number | null;
2031
+ profile?: string;
2032
+ minimumPlan?: string | null;
2033
+ };
2034
+ };
2035
+ };
2036
+ };
2037
+ /** @description A sandbox operation is pending recovery, or its state changed during the request. */
2038
+ 409: {
2039
+ headers: {
2040
+ [name: string]: unknown;
2041
+ };
2042
+ content: {
2043
+ "application/json": {
2044
+ error: {
2045
+ message: string;
2046
+ /** @enum {string} */
2047
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2048
+ limit?: number;
2049
+ /** @enum {string} */
2050
+ window?: "minute" | "hour" | "day";
2051
+ retryAfterSeconds?: number;
2052
+ resetsAt?: string;
2053
+ active?: number;
2054
+ includedLimit?: number | null;
2055
+ planMaximum?: number | null;
2056
+ profile?: string;
2057
+ minimumPlan?: string | null;
2058
+ };
2059
+ };
2060
+ };
2061
+ };
2062
+ /** @description Database or provider error. */
2063
+ 500: {
2064
+ headers: {
2065
+ [name: string]: unknown;
2066
+ };
2067
+ content: {
2068
+ "application/json": {
2069
+ error: {
2070
+ message: string;
2071
+ /** @enum {string} */
2072
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2073
+ limit?: number;
2074
+ /** @enum {string} */
2075
+ window?: "minute" | "hour" | "day";
2076
+ retryAfterSeconds?: number;
2077
+ resetsAt?: string;
2078
+ active?: number;
2079
+ includedLimit?: number | null;
2080
+ planMaximum?: number | null;
2081
+ profile?: string;
2082
+ minimumPlan?: string | null;
2083
+ };
2084
+ };
2085
+ };
2086
+ };
2087
+ };
2088
+ };
2089
+ destroySandbox: {
2090
+ parameters: {
2091
+ query?: never;
2092
+ header?: never;
2093
+ path: {
2094
+ sandboxId: string;
2095
+ };
2096
+ cookie?: never;
2097
+ };
2098
+ requestBody?: never;
2099
+ responses: {
2100
+ /** @description The destroyed (deleted) sandbox. */
2101
+ 200: {
2102
+ headers: {
2103
+ [name: string]: unknown;
2104
+ };
2105
+ content: {
2106
+ "application/json": {
2107
+ sandbox: components["schemas"]["Sandbox"];
2108
+ };
2109
+ };
2110
+ };
2111
+ /** @description Sandbox is already deleted. */
2112
+ 400: {
2113
+ headers: {
2114
+ [name: string]: unknown;
2115
+ };
2116
+ content: {
2117
+ "application/json": {
2118
+ error: {
2119
+ message: string;
2120
+ /** @enum {string} */
2121
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2122
+ limit?: number;
2123
+ /** @enum {string} */
2124
+ window?: "minute" | "hour" | "day";
2125
+ retryAfterSeconds?: number;
2126
+ resetsAt?: string;
2127
+ active?: number;
2128
+ includedLimit?: number | null;
2129
+ planMaximum?: number | null;
2130
+ profile?: string;
2131
+ minimumPlan?: string | null;
2132
+ };
2133
+ };
2134
+ };
2135
+ };
2136
+ /** @description Permission sandbox.destroy is required. */
2137
+ 403: {
2138
+ headers: {
2139
+ [name: string]: unknown;
2140
+ };
2141
+ content: {
2142
+ "application/json": {
2143
+ error: {
2144
+ message: string;
2145
+ /** @enum {string} */
2146
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2147
+ limit?: number;
2148
+ /** @enum {string} */
2149
+ window?: "minute" | "hour" | "day";
2150
+ retryAfterSeconds?: number;
2151
+ resetsAt?: string;
2152
+ active?: number;
2153
+ includedLimit?: number | null;
2154
+ planMaximum?: number | null;
2155
+ profile?: string;
2156
+ minimumPlan?: string | null;
2157
+ };
2158
+ };
2159
+ };
2160
+ };
2161
+ /** @description Sandbox not found. */
2162
+ 404: {
2163
+ headers: {
2164
+ [name: string]: unknown;
2165
+ };
2166
+ content: {
2167
+ "application/json": {
2168
+ error: {
2169
+ message: string;
2170
+ /** @enum {string} */
2171
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2172
+ limit?: number;
2173
+ /** @enum {string} */
2174
+ window?: "minute" | "hour" | "day";
2175
+ retryAfterSeconds?: number;
2176
+ resetsAt?: string;
2177
+ active?: number;
2178
+ includedLimit?: number | null;
2179
+ planMaximum?: number | null;
2180
+ profile?: string;
2181
+ minimumPlan?: string | null;
2182
+ };
2183
+ };
2184
+ };
2185
+ };
2186
+ /** @description A sandbox operation is pending recovery, or its state changed during the request. */
2187
+ 409: {
2188
+ headers: {
2189
+ [name: string]: unknown;
2190
+ };
2191
+ content: {
2192
+ "application/json": {
2193
+ error: {
2194
+ message: string;
2195
+ /** @enum {string} */
2196
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2197
+ limit?: number;
2198
+ /** @enum {string} */
2199
+ window?: "minute" | "hour" | "day";
2200
+ retryAfterSeconds?: number;
2201
+ resetsAt?: string;
2202
+ active?: number;
2203
+ includedLimit?: number | null;
2204
+ planMaximum?: number | null;
2205
+ profile?: string;
2206
+ minimumPlan?: string | null;
2207
+ };
2208
+ };
2209
+ };
2210
+ };
2211
+ /** @description Database or provider error. */
2212
+ 500: {
2213
+ headers: {
2214
+ [name: string]: unknown;
2215
+ };
2216
+ content: {
2217
+ "application/json": {
2218
+ error: {
2219
+ message: string;
2220
+ /** @enum {string} */
2221
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2222
+ limit?: number;
2223
+ /** @enum {string} */
2224
+ window?: "minute" | "hour" | "day";
2225
+ retryAfterSeconds?: number;
2226
+ resetsAt?: string;
2227
+ active?: number;
2228
+ includedLimit?: number | null;
2229
+ planMaximum?: number | null;
2230
+ profile?: string;
2231
+ minimumPlan?: string | null;
2232
+ };
2233
+ };
2234
+ };
2235
+ };
2236
+ };
2237
+ };
2238
+ renewSandbox: {
2239
+ parameters: {
2240
+ query?: never;
2241
+ header?: never;
2242
+ path: {
2243
+ sandboxId: string;
2244
+ };
2245
+ cookie?: never;
2246
+ };
2247
+ requestBody?: never;
2248
+ responses: {
2249
+ /** @description The sandbox with its expiry extended. */
2250
+ 200: {
2251
+ headers: {
2252
+ [name: string]: unknown;
2253
+ };
2254
+ content: {
2255
+ "application/json": {
2256
+ sandbox: components["schemas"]["Sandbox"];
2257
+ };
2258
+ };
2259
+ };
2260
+ /** @description Not an ephemeral sandbox, or not in a renewable status. */
2261
+ 400: {
2262
+ headers: {
2263
+ [name: string]: unknown;
2264
+ };
2265
+ content: {
2266
+ "application/json": {
2267
+ error: {
2268
+ message: string;
2269
+ /** @enum {string} */
2270
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2271
+ limit?: number;
2272
+ /** @enum {string} */
2273
+ window?: "minute" | "hour" | "day";
2274
+ retryAfterSeconds?: number;
2275
+ resetsAt?: string;
2276
+ active?: number;
2277
+ includedLimit?: number | null;
2278
+ planMaximum?: number | null;
2279
+ profile?: string;
2280
+ minimumPlan?: string | null;
2281
+ };
2282
+ };
2283
+ };
2284
+ };
2285
+ /** @description The org has no active billing plan. */
2286
+ 402: {
2287
+ headers: {
2288
+ [name: string]: unknown;
2289
+ };
2290
+ content: {
2291
+ "application/json": {
2292
+ error: {
2293
+ message: string;
2294
+ /** @enum {string} */
2295
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2296
+ limit?: number;
2297
+ /** @enum {string} */
2298
+ window?: "minute" | "hour" | "day";
2299
+ retryAfterSeconds?: number;
2300
+ resetsAt?: string;
2301
+ active?: number;
2302
+ includedLimit?: number | null;
2303
+ planMaximum?: number | null;
2304
+ profile?: string;
2305
+ minimumPlan?: string | null;
2306
+ };
2307
+ };
2308
+ };
2309
+ };
2310
+ /** @description Permission sandbox.stop is required. */
2311
+ 403: {
2312
+ headers: {
2313
+ [name: string]: unknown;
2314
+ };
2315
+ content: {
2316
+ "application/json": {
2317
+ error: {
2318
+ message: string;
2319
+ /** @enum {string} */
2320
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2321
+ limit?: number;
2322
+ /** @enum {string} */
2323
+ window?: "minute" | "hour" | "day";
2324
+ retryAfterSeconds?: number;
2325
+ resetsAt?: string;
2326
+ active?: number;
2327
+ includedLimit?: number | null;
2328
+ planMaximum?: number | null;
2329
+ profile?: string;
2330
+ minimumPlan?: string | null;
2331
+ };
2332
+ };
2333
+ };
2334
+ };
2335
+ /** @description Sandbox not found. */
2336
+ 404: {
2337
+ headers: {
2338
+ [name: string]: unknown;
2339
+ };
2340
+ content: {
2341
+ "application/json": {
2342
+ error: {
2343
+ message: string;
2344
+ /** @enum {string} */
2345
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2346
+ limit?: number;
2347
+ /** @enum {string} */
2348
+ window?: "minute" | "hour" | "day";
2349
+ retryAfterSeconds?: number;
2350
+ resetsAt?: string;
2351
+ active?: number;
2352
+ includedLimit?: number | null;
2353
+ planMaximum?: number | null;
2354
+ profile?: string;
2355
+ minimumPlan?: string | null;
2356
+ };
2357
+ };
2358
+ };
2359
+ };
2360
+ /** @description Sandbox has exceeded its plan's session cap and can no longer be renewed. */
2361
+ 410: {
2362
+ headers: {
2363
+ [name: string]: unknown;
2364
+ };
2365
+ content: {
2366
+ "application/json": {
2367
+ error: {
2368
+ message: string;
2369
+ /** @enum {string} */
2370
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2371
+ limit?: number;
2372
+ /** @enum {string} */
2373
+ window?: "minute" | "hour" | "day";
2374
+ retryAfterSeconds?: number;
2375
+ resetsAt?: string;
2376
+ active?: number;
2377
+ includedLimit?: number | null;
2378
+ planMaximum?: number | null;
2379
+ profile?: string;
2380
+ minimumPlan?: string | null;
2381
+ };
2382
+ };
2383
+ };
2384
+ };
2385
+ /** @description Database or provider error. */
2386
+ 500: {
2387
+ headers: {
2388
+ [name: string]: unknown;
2389
+ };
2390
+ content: {
2391
+ "application/json": {
2392
+ error: {
2393
+ message: string;
2394
+ /** @enum {string} */
2395
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2396
+ limit?: number;
2397
+ /** @enum {string} */
2398
+ window?: "minute" | "hour" | "day";
2399
+ retryAfterSeconds?: number;
2400
+ resetsAt?: string;
2401
+ active?: number;
2402
+ includedLimit?: number | null;
2403
+ planMaximum?: number | null;
2404
+ profile?: string;
2405
+ minimumPlan?: string | null;
2406
+ };
2407
+ };
2408
+ };
2409
+ };
2410
+ };
2411
+ };
2412
+ resizeSandbox: {
2413
+ parameters: {
2414
+ query?: never;
2415
+ header?: never;
2416
+ path: {
2417
+ sandboxId: string;
2418
+ };
2419
+ cookie?: never;
2420
+ };
2421
+ requestBody?: {
2422
+ content: {
2423
+ "application/json": components["schemas"]["ResizeSandboxBody"];
2424
+ };
2425
+ };
2426
+ responses: {
2427
+ /** @description The result of the resize -- applied now, live, or queued for next resume. */
2428
+ 200: {
2429
+ headers: {
2430
+ [name: string]: unknown;
2431
+ };
2432
+ content: {
2433
+ "application/json": {
2434
+ /** @enum {string} */
2435
+ applied: "current" | "live" | "next_resume";
2436
+ liveResizeError: string | null;
2437
+ pendingAllocation: {
2438
+ vcpu: number;
2439
+ memoryGb: number;
2440
+ diskGb: number;
2441
+ } | null;
2442
+ sandbox: components["schemas"]["Sandbox"];
2443
+ };
2444
+ };
2445
+ };
2446
+ /** @description Invalid vcpu/memoryGb/diskGb, or the sandbox can't be resized in its current status. */
2447
+ 400: {
2448
+ headers: {
2449
+ [name: string]: unknown;
2450
+ };
2451
+ content: {
2452
+ "application/json": {
2453
+ error: {
2454
+ message: string;
2455
+ /** @enum {string} */
2456
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2457
+ limit?: number;
2458
+ /** @enum {string} */
2459
+ window?: "minute" | "hour" | "day";
2460
+ retryAfterSeconds?: number;
2461
+ resetsAt?: string;
2462
+ active?: number;
2463
+ includedLimit?: number | null;
2464
+ planMaximum?: number | null;
2465
+ profile?: string;
2466
+ minimumPlan?: string | null;
2467
+ };
2468
+ };
2469
+ };
2470
+ };
2471
+ /** @description The org has no active billing plan. */
2472
+ 402: {
2473
+ headers: {
2474
+ [name: string]: unknown;
2475
+ };
2476
+ content: {
2477
+ "application/json": {
2478
+ error: {
2479
+ message: string;
2480
+ /** @enum {string} */
2481
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2482
+ limit?: number;
2483
+ /** @enum {string} */
2484
+ window?: "minute" | "hour" | "day";
2485
+ retryAfterSeconds?: number;
2486
+ resetsAt?: string;
2487
+ active?: number;
2488
+ includedLimit?: number | null;
2489
+ planMaximum?: number | null;
2490
+ profile?: string;
2491
+ minimumPlan?: string | null;
2492
+ };
2493
+ };
2494
+ };
2495
+ };
2496
+ /** @description Permission sandbox.resize is required. */
2497
+ 403: {
2498
+ headers: {
2499
+ [name: string]: unknown;
2500
+ };
2501
+ content: {
2502
+ "application/json": {
2503
+ error: {
2504
+ message: string;
2505
+ /** @enum {string} */
2506
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2507
+ limit?: number;
2508
+ /** @enum {string} */
2509
+ window?: "minute" | "hour" | "day";
2510
+ retryAfterSeconds?: number;
2511
+ resetsAt?: string;
2512
+ active?: number;
2513
+ includedLimit?: number | null;
2514
+ planMaximum?: number | null;
2515
+ profile?: string;
2516
+ minimumPlan?: string | null;
2517
+ };
2518
+ };
2519
+ };
2520
+ };
2521
+ /** @description Sandbox not found. */
2522
+ 404: {
2523
+ headers: {
2524
+ [name: string]: unknown;
2525
+ };
2526
+ content: {
2527
+ "application/json": {
2528
+ error: {
2529
+ message: string;
2530
+ /** @enum {string} */
2531
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2532
+ limit?: number;
2533
+ /** @enum {string} */
2534
+ window?: "minute" | "hour" | "day";
2535
+ retryAfterSeconds?: number;
2536
+ resetsAt?: string;
2537
+ active?: number;
2538
+ includedLimit?: number | null;
2539
+ planMaximum?: number | null;
2540
+ profile?: string;
2541
+ minimumPlan?: string | null;
2542
+ };
2543
+ };
2544
+ };
2545
+ };
2546
+ /** @description A sandbox operation is pending recovery, or its state changed during the request. */
2547
+ 409: {
2548
+ headers: {
2549
+ [name: string]: unknown;
2550
+ };
2551
+ content: {
2552
+ "application/json": {
2553
+ error: {
2554
+ message: string;
2555
+ /** @enum {string} */
2556
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2557
+ limit?: number;
2558
+ /** @enum {string} */
2559
+ window?: "minute" | "hour" | "day";
2560
+ retryAfterSeconds?: number;
2561
+ resetsAt?: string;
2562
+ active?: number;
2563
+ includedLimit?: number | null;
2564
+ planMaximum?: number | null;
2565
+ profile?: string;
2566
+ minimumPlan?: string | null;
2567
+ };
2568
+ };
2569
+ };
2570
+ };
2571
+ /** @description Database or provider error. */
2572
+ 500: {
2573
+ headers: {
2574
+ [name: string]: unknown;
2575
+ };
2576
+ content: {
2577
+ "application/json": {
2578
+ error: {
2579
+ message: string;
2580
+ /** @enum {string} */
2581
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2582
+ limit?: number;
2583
+ /** @enum {string} */
2584
+ window?: "minute" | "hour" | "day";
2585
+ retryAfterSeconds?: number;
2586
+ resetsAt?: string;
2587
+ active?: number;
2588
+ includedLimit?: number | null;
2589
+ planMaximum?: number | null;
2590
+ profile?: string;
2591
+ minimumPlan?: string | null;
2592
+ };
2593
+ };
2594
+ };
2595
+ };
2596
+ };
2597
+ };
2598
+ wakeSandbox: {
2599
+ parameters: {
2600
+ query?: never;
2601
+ header?: never;
2602
+ path: {
2603
+ sandboxId: string;
2604
+ };
2605
+ cookie?: never;
2606
+ };
2607
+ requestBody?: never;
2608
+ responses: {
2609
+ /** @description The waking (booting) sandbox. */
2610
+ 200: {
2611
+ headers: {
2612
+ [name: string]: unknown;
2613
+ };
2614
+ content: {
2615
+ "application/json": {
2616
+ sandbox: components["schemas"]["Sandbox"];
2617
+ };
2618
+ };
2619
+ };
2620
+ /** @description Sandbox is not asleep, or has no snapshot to wake from. */
2621
+ 400: {
2622
+ headers: {
2623
+ [name: string]: unknown;
2624
+ };
2625
+ content: {
2626
+ "application/json": {
2627
+ error: {
2628
+ message: string;
2629
+ /** @enum {string} */
2630
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2631
+ limit?: number;
2632
+ /** @enum {string} */
2633
+ window?: "minute" | "hour" | "day";
2634
+ retryAfterSeconds?: number;
2635
+ resetsAt?: string;
2636
+ active?: number;
2637
+ includedLimit?: number | null;
2638
+ planMaximum?: number | null;
2639
+ profile?: string;
2640
+ minimumPlan?: string | null;
2641
+ };
2642
+ };
2643
+ };
2644
+ };
2645
+ /** @description The org has no active billing plan. */
2646
+ 402: {
2647
+ headers: {
2648
+ [name: string]: unknown;
2649
+ };
2650
+ content: {
2651
+ "application/json": {
2652
+ error: {
2653
+ message: string;
2654
+ /** @enum {string} */
2655
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2656
+ limit?: number;
2657
+ /** @enum {string} */
2658
+ window?: "minute" | "hour" | "day";
2659
+ retryAfterSeconds?: number;
2660
+ resetsAt?: string;
2661
+ active?: number;
2662
+ includedLimit?: number | null;
2663
+ planMaximum?: number | null;
2664
+ profile?: string;
2665
+ minimumPlan?: string | null;
2666
+ };
2667
+ };
2668
+ };
2669
+ };
2670
+ /** @description Permission sandbox.create is required. */
2671
+ 403: {
2672
+ headers: {
2673
+ [name: string]: unknown;
2674
+ };
2675
+ content: {
2676
+ "application/json": {
2677
+ error: {
2678
+ message: string;
2679
+ /** @enum {string} */
2680
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2681
+ limit?: number;
2682
+ /** @enum {string} */
2683
+ window?: "minute" | "hour" | "day";
2684
+ retryAfterSeconds?: number;
2685
+ resetsAt?: string;
2686
+ active?: number;
2687
+ includedLimit?: number | null;
2688
+ planMaximum?: number | null;
2689
+ profile?: string;
2690
+ minimumPlan?: string | null;
2691
+ };
2692
+ };
2693
+ };
2694
+ };
2695
+ /** @description Sandbox or project not found. */
2696
+ 404: {
2697
+ headers: {
2698
+ [name: string]: unknown;
2699
+ };
2700
+ content: {
2701
+ "application/json": {
2702
+ error: {
2703
+ message: string;
2704
+ /** @enum {string} */
2705
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2706
+ limit?: number;
2707
+ /** @enum {string} */
2708
+ window?: "minute" | "hour" | "day";
2709
+ retryAfterSeconds?: number;
2710
+ resetsAt?: string;
2711
+ active?: number;
2712
+ includedLimit?: number | null;
2713
+ planMaximum?: number | null;
2714
+ profile?: string;
2715
+ minimumPlan?: string | null;
2716
+ };
2717
+ };
2718
+ };
2719
+ };
2720
+ /** @description The snapshot is still being written (error.code is snapshot_in_progress), or a lifecycle operation is pending recovery or changed the sandbox state. */
2721
+ 409: {
2722
+ headers: {
2723
+ [name: string]: unknown;
2724
+ };
2725
+ content: {
2726
+ "application/json": {
2727
+ error: {
2728
+ message: string;
2729
+ /** @enum {string} */
2730
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2731
+ limit?: number;
2732
+ /** @enum {string} */
2733
+ window?: "minute" | "hour" | "day";
2734
+ retryAfterSeconds?: number;
2735
+ resetsAt?: string;
2736
+ active?: number;
2737
+ includedLimit?: number | null;
2738
+ planMaximum?: number | null;
2739
+ profile?: string;
2740
+ minimumPlan?: string | null;
2741
+ };
2742
+ };
2743
+ };
2744
+ };
2745
+ /** @description A plan limit was reached: error.code is rate_limited (starts per minute / hour / day, Retry-After set) or limit_reached (concurrent sandboxes). */
2746
+ 429: {
2747
+ headers: {
2748
+ [name: string]: unknown;
2749
+ };
2750
+ content: {
2751
+ "application/json": {
2752
+ error: {
2753
+ message: string;
2754
+ /** @enum {string} */
2755
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2756
+ limit?: number;
2757
+ /** @enum {string} */
2758
+ window?: "minute" | "hour" | "day";
2759
+ retryAfterSeconds?: number;
2760
+ resetsAt?: string;
2761
+ active?: number;
2762
+ includedLimit?: number | null;
2763
+ planMaximum?: number | null;
2764
+ profile?: string;
2765
+ minimumPlan?: string | null;
2766
+ };
2767
+ };
2768
+ };
2769
+ };
2770
+ /** @description Database or provisioning error. */
2771
+ 500: {
2772
+ headers: {
2773
+ [name: string]: unknown;
2774
+ };
2775
+ content: {
2776
+ "application/json": {
2777
+ error: {
2778
+ message: string;
2779
+ /** @enum {string} */
2780
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2781
+ limit?: number;
2782
+ /** @enum {string} */
2783
+ window?: "minute" | "hour" | "day";
2784
+ retryAfterSeconds?: number;
2785
+ resetsAt?: string;
2786
+ active?: number;
2787
+ includedLimit?: number | null;
2788
+ planMaximum?: number | null;
2789
+ profile?: string;
2790
+ minimumPlan?: string | null;
2791
+ };
2792
+ };
2793
+ };
2794
+ };
2795
+ };
2796
+ };
2797
+ resumeSandbox: {
2798
+ parameters: {
2799
+ query?: never;
2800
+ header?: never;
2801
+ path: {
2802
+ sandboxId: string;
2803
+ };
2804
+ cookie?: never;
2805
+ };
2806
+ requestBody?: never;
2807
+ responses: {
2808
+ /** @description The waking (booting) sandbox. */
2809
+ 200: {
2810
+ headers: {
2811
+ [name: string]: unknown;
2812
+ };
2813
+ content: {
2814
+ "application/json": {
2815
+ sandbox: components["schemas"]["Sandbox"];
2816
+ };
2817
+ };
2818
+ };
2819
+ /** @description Sandbox is not asleep, or has no snapshot to wake from. */
2820
+ 400: {
2821
+ headers: {
2822
+ [name: string]: unknown;
2823
+ };
2824
+ content: {
2825
+ "application/json": {
2826
+ error: {
2827
+ message: string;
2828
+ /** @enum {string} */
2829
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2830
+ limit?: number;
2831
+ /** @enum {string} */
2832
+ window?: "minute" | "hour" | "day";
2833
+ retryAfterSeconds?: number;
2834
+ resetsAt?: string;
2835
+ active?: number;
2836
+ includedLimit?: number | null;
2837
+ planMaximum?: number | null;
2838
+ profile?: string;
2839
+ minimumPlan?: string | null;
2840
+ };
2841
+ };
2842
+ };
2843
+ };
2844
+ /** @description The org has no active billing plan. */
2845
+ 402: {
2846
+ headers: {
2847
+ [name: string]: unknown;
2848
+ };
2849
+ content: {
2850
+ "application/json": {
2851
+ error: {
2852
+ message: string;
2853
+ /** @enum {string} */
2854
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2855
+ limit?: number;
2856
+ /** @enum {string} */
2857
+ window?: "minute" | "hour" | "day";
2858
+ retryAfterSeconds?: number;
2859
+ resetsAt?: string;
2860
+ active?: number;
2861
+ includedLimit?: number | null;
2862
+ planMaximum?: number | null;
2863
+ profile?: string;
2864
+ minimumPlan?: string | null;
2865
+ };
2866
+ };
2867
+ };
2868
+ };
2869
+ /** @description Permission sandbox.create is required. */
2870
+ 403: {
2871
+ headers: {
2872
+ [name: string]: unknown;
2873
+ };
2874
+ content: {
2875
+ "application/json": {
2876
+ error: {
2877
+ message: string;
2878
+ /** @enum {string} */
2879
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2880
+ limit?: number;
2881
+ /** @enum {string} */
2882
+ window?: "minute" | "hour" | "day";
2883
+ retryAfterSeconds?: number;
2884
+ resetsAt?: string;
2885
+ active?: number;
2886
+ includedLimit?: number | null;
2887
+ planMaximum?: number | null;
2888
+ profile?: string;
2889
+ minimumPlan?: string | null;
2890
+ };
2891
+ };
2892
+ };
2893
+ };
2894
+ /** @description Sandbox or project not found. */
2895
+ 404: {
2896
+ headers: {
2897
+ [name: string]: unknown;
2898
+ };
2899
+ content: {
2900
+ "application/json": {
2901
+ error: {
2902
+ message: string;
2903
+ /** @enum {string} */
2904
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2905
+ limit?: number;
2906
+ /** @enum {string} */
2907
+ window?: "minute" | "hour" | "day";
2908
+ retryAfterSeconds?: number;
2909
+ resetsAt?: string;
2910
+ active?: number;
2911
+ includedLimit?: number | null;
2912
+ planMaximum?: number | null;
2913
+ profile?: string;
2914
+ minimumPlan?: string | null;
2915
+ };
2916
+ };
2917
+ };
2918
+ };
2919
+ /** @description The snapshot is still being written (error.code is snapshot_in_progress), or a lifecycle operation is pending recovery or changed the sandbox state. */
2920
+ 409: {
2921
+ headers: {
2922
+ [name: string]: unknown;
2923
+ };
2924
+ content: {
2925
+ "application/json": {
2926
+ error: {
2927
+ message: string;
2928
+ /** @enum {string} */
2929
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2930
+ limit?: number;
2931
+ /** @enum {string} */
2932
+ window?: "minute" | "hour" | "day";
2933
+ retryAfterSeconds?: number;
2934
+ resetsAt?: string;
2935
+ active?: number;
2936
+ includedLimit?: number | null;
2937
+ planMaximum?: number | null;
2938
+ profile?: string;
2939
+ minimumPlan?: string | null;
2940
+ };
2941
+ };
2942
+ };
2943
+ };
2944
+ /** @description A plan limit was reached: error.code is rate_limited (starts per minute / hour / day, Retry-After set) or limit_reached (concurrent sandboxes). */
2945
+ 429: {
2946
+ headers: {
2947
+ [name: string]: unknown;
2948
+ };
2949
+ content: {
2950
+ "application/json": {
2951
+ error: {
2952
+ message: string;
2953
+ /** @enum {string} */
2954
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2955
+ limit?: number;
2956
+ /** @enum {string} */
2957
+ window?: "minute" | "hour" | "day";
2958
+ retryAfterSeconds?: number;
2959
+ resetsAt?: string;
2960
+ active?: number;
2961
+ includedLimit?: number | null;
2962
+ planMaximum?: number | null;
2963
+ profile?: string;
2964
+ minimumPlan?: string | null;
2965
+ };
2966
+ };
2967
+ };
2968
+ };
2969
+ /** @description Database or provisioning error. */
2970
+ 500: {
2971
+ headers: {
2972
+ [name: string]: unknown;
2973
+ };
2974
+ content: {
2975
+ "application/json": {
2976
+ error: {
2977
+ message: string;
2978
+ /** @enum {string} */
2979
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
2980
+ limit?: number;
2981
+ /** @enum {string} */
2982
+ window?: "minute" | "hour" | "day";
2983
+ retryAfterSeconds?: number;
2984
+ resetsAt?: string;
2985
+ active?: number;
2986
+ includedLimit?: number | null;
2987
+ planMaximum?: number | null;
2988
+ profile?: string;
2989
+ minimumPlan?: string | null;
2990
+ };
2991
+ };
2992
+ };
2993
+ };
2994
+ };
2995
+ };
2996
+ getSandbox: {
2997
+ parameters: {
2998
+ query?: never;
2999
+ header?: never;
3000
+ path: {
3001
+ sandboxId: string;
3002
+ };
3003
+ cookie?: never;
3004
+ };
3005
+ requestBody?: never;
3006
+ responses: {
3007
+ /** @description The requested sandbox. */
3008
+ 200: {
3009
+ headers: {
3010
+ [name: string]: unknown;
3011
+ };
3012
+ content: {
3013
+ "application/json": {
3014
+ sandbox: components["schemas"]["Sandbox"];
3015
+ };
3016
+ };
3017
+ };
3018
+ /** @description Permission sandbox.read is required. */
3019
+ 403: {
3020
+ headers: {
3021
+ [name: string]: unknown;
3022
+ };
3023
+ content: {
3024
+ "application/json": {
3025
+ error: {
3026
+ message: string;
3027
+ /** @enum {string} */
3028
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3029
+ limit?: number;
3030
+ /** @enum {string} */
3031
+ window?: "minute" | "hour" | "day";
3032
+ retryAfterSeconds?: number;
3033
+ resetsAt?: string;
3034
+ active?: number;
3035
+ includedLimit?: number | null;
3036
+ planMaximum?: number | null;
3037
+ profile?: string;
3038
+ minimumPlan?: string | null;
3039
+ };
3040
+ };
3041
+ };
3042
+ };
3043
+ /** @description Sandbox not found. */
3044
+ 404: {
3045
+ headers: {
3046
+ [name: string]: unknown;
3047
+ };
3048
+ content: {
3049
+ "application/json": {
3050
+ error: {
3051
+ message: string;
3052
+ /** @enum {string} */
3053
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3054
+ limit?: number;
3055
+ /** @enum {string} */
3056
+ window?: "minute" | "hour" | "day";
3057
+ retryAfterSeconds?: number;
3058
+ resetsAt?: string;
3059
+ active?: number;
3060
+ includedLimit?: number | null;
3061
+ planMaximum?: number | null;
3062
+ profile?: string;
3063
+ minimumPlan?: string | null;
3064
+ };
3065
+ };
3066
+ };
3067
+ };
3068
+ /** @description Database error. */
3069
+ 500: {
3070
+ headers: {
3071
+ [name: string]: unknown;
3072
+ };
3073
+ content: {
3074
+ "application/json": {
3075
+ error: {
3076
+ message: string;
3077
+ /** @enum {string} */
3078
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3079
+ limit?: number;
3080
+ /** @enum {string} */
3081
+ window?: "minute" | "hour" | "day";
3082
+ retryAfterSeconds?: number;
3083
+ resetsAt?: string;
3084
+ active?: number;
3085
+ includedLimit?: number | null;
3086
+ planMaximum?: number | null;
3087
+ profile?: string;
3088
+ minimumPlan?: string | null;
3089
+ };
3090
+ };
3091
+ };
3092
+ };
3093
+ };
3094
+ };
3095
+ execSandboxCommand: {
3096
+ parameters: {
3097
+ query?: never;
3098
+ header?: never;
3099
+ path: {
3100
+ sandboxId: string;
3101
+ };
3102
+ cookie?: never;
3103
+ };
3104
+ requestBody?: {
3105
+ content: {
3106
+ "application/json": components["schemas"]["ExecSandboxBody"];
3107
+ };
3108
+ };
3109
+ responses: {
3110
+ /** @description The completed command and its captured output. */
3111
+ 200: {
3112
+ headers: {
3113
+ [name: string]: unknown;
3114
+ };
3115
+ content: {
3116
+ "application/json": components["schemas"]["ExecSandboxResult"];
3117
+ };
3118
+ };
3119
+ /** @description Invalid command, timeout, provider, or sandbox state. */
3120
+ 400: {
3121
+ headers: {
3122
+ [name: string]: unknown;
3123
+ };
3124
+ content: {
3125
+ "application/json": {
3126
+ error: {
3127
+ message: string;
3128
+ /** @enum {string} */
3129
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3130
+ limit?: number;
3131
+ /** @enum {string} */
3132
+ window?: "minute" | "hour" | "day";
3133
+ retryAfterSeconds?: number;
3134
+ resetsAt?: string;
3135
+ active?: number;
3136
+ includedLimit?: number | null;
3137
+ planMaximum?: number | null;
3138
+ profile?: string;
3139
+ minimumPlan?: string | null;
3140
+ };
3141
+ };
3142
+ };
3143
+ };
3144
+ /** @description Permission sandbox.terminal.connect is required. */
3145
+ 403: {
3146
+ headers: {
3147
+ [name: string]: unknown;
3148
+ };
3149
+ content: {
3150
+ "application/json": {
3151
+ error: {
3152
+ message: string;
3153
+ /** @enum {string} */
3154
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3155
+ limit?: number;
3156
+ /** @enum {string} */
3157
+ window?: "minute" | "hour" | "day";
3158
+ retryAfterSeconds?: number;
3159
+ resetsAt?: string;
3160
+ active?: number;
3161
+ includedLimit?: number | null;
3162
+ planMaximum?: number | null;
3163
+ profile?: string;
3164
+ minimumPlan?: string | null;
3165
+ };
3166
+ };
3167
+ };
3168
+ };
3169
+ /** @description Sandbox not found. */
3170
+ 404: {
3171
+ headers: {
3172
+ [name: string]: unknown;
3173
+ };
3174
+ content: {
3175
+ "application/json": {
3176
+ error: {
3177
+ message: string;
3178
+ /** @enum {string} */
3179
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3180
+ limit?: number;
3181
+ /** @enum {string} */
3182
+ window?: "minute" | "hour" | "day";
3183
+ retryAfterSeconds?: number;
3184
+ resetsAt?: string;
3185
+ active?: number;
3186
+ includedLimit?: number | null;
3187
+ planMaximum?: number | null;
3188
+ profile?: string;
3189
+ minimumPlan?: string | null;
3190
+ };
3191
+ };
3192
+ };
3193
+ };
3194
+ /** @description The command could not be run through the sandbox agent. */
3195
+ 502: {
3196
+ headers: {
3197
+ [name: string]: unknown;
3198
+ };
3199
+ content: {
3200
+ "application/json": {
3201
+ error: {
3202
+ message: string;
3203
+ /** @enum {string} */
3204
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3205
+ limit?: number;
3206
+ /** @enum {string} */
3207
+ window?: "minute" | "hour" | "day";
3208
+ retryAfterSeconds?: number;
3209
+ resetsAt?: string;
3210
+ active?: number;
3211
+ includedLimit?: number | null;
3212
+ planMaximum?: number | null;
3213
+ profile?: string;
3214
+ minimumPlan?: string | null;
3215
+ };
3216
+ };
3217
+ };
3218
+ };
3219
+ };
3220
+ };
3221
+ listSandboxFiles: {
3222
+ parameters: {
3223
+ query?: {
3224
+ path?: string;
3225
+ };
3226
+ header?: never;
3227
+ path: {
3228
+ sandboxId: string;
3229
+ };
3230
+ cookie?: never;
3231
+ };
3232
+ requestBody?: never;
3233
+ responses: {
3234
+ /** @description The directory entries. Large directories may be truncated. */
3235
+ 200: {
3236
+ headers: {
3237
+ [name: string]: unknown;
3238
+ };
3239
+ content: {
3240
+ "application/json": {
3241
+ path: string;
3242
+ truncated: boolean;
3243
+ entries: components["schemas"]["FilesystemEntry"][];
3244
+ };
3245
+ };
3246
+ };
3247
+ /** @description Invalid path, provider, or sandbox state. */
3248
+ 400: {
3249
+ headers: {
3250
+ [name: string]: unknown;
3251
+ };
3252
+ content: {
3253
+ "application/json": {
3254
+ error: {
3255
+ message: string;
3256
+ /** @enum {string} */
3257
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3258
+ limit?: number;
3259
+ /** @enum {string} */
3260
+ window?: "minute" | "hour" | "day";
3261
+ retryAfterSeconds?: number;
3262
+ resetsAt?: string;
3263
+ active?: number;
3264
+ includedLimit?: number | null;
3265
+ planMaximum?: number | null;
3266
+ profile?: string;
3267
+ minimumPlan?: string | null;
3268
+ };
3269
+ };
3270
+ };
3271
+ };
3272
+ /** @description Permission sandbox.files.read is required. */
3273
+ 403: {
3274
+ headers: {
3275
+ [name: string]: unknown;
3276
+ };
3277
+ content: {
3278
+ "application/json": {
3279
+ error: {
3280
+ message: string;
3281
+ /** @enum {string} */
3282
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3283
+ limit?: number;
3284
+ /** @enum {string} */
3285
+ window?: "minute" | "hour" | "day";
3286
+ retryAfterSeconds?: number;
3287
+ resetsAt?: string;
3288
+ active?: number;
3289
+ includedLimit?: number | null;
3290
+ planMaximum?: number | null;
3291
+ profile?: string;
3292
+ minimumPlan?: string | null;
3293
+ };
3294
+ };
3295
+ };
3296
+ };
3297
+ /** @description Sandbox not found. */
3298
+ 404: {
3299
+ headers: {
3300
+ [name: string]: unknown;
3301
+ };
3302
+ content: {
3303
+ "application/json": {
3304
+ error: {
3305
+ message: string;
3306
+ /** @enum {string} */
3307
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3308
+ limit?: number;
3309
+ /** @enum {string} */
3310
+ window?: "minute" | "hour" | "day";
3311
+ retryAfterSeconds?: number;
3312
+ resetsAt?: string;
3313
+ active?: number;
3314
+ includedLimit?: number | null;
3315
+ planMaximum?: number | null;
3316
+ profile?: string;
3317
+ minimumPlan?: string | null;
3318
+ };
3319
+ };
3320
+ };
3321
+ };
3322
+ /** @description Filesystem operation failed. */
3323
+ 500: {
3324
+ headers: {
3325
+ [name: string]: unknown;
3326
+ };
3327
+ content: {
3328
+ "application/json": {
3329
+ error: {
3330
+ message: string;
3331
+ /** @enum {string} */
3332
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3333
+ limit?: number;
3334
+ /** @enum {string} */
3335
+ window?: "minute" | "hour" | "day";
3336
+ retryAfterSeconds?: number;
3337
+ resetsAt?: string;
3338
+ active?: number;
3339
+ includedLimit?: number | null;
3340
+ planMaximum?: number | null;
3341
+ profile?: string;
3342
+ minimumPlan?: string | null;
3343
+ };
3344
+ };
3345
+ };
3346
+ };
3347
+ };
3348
+ };
3349
+ readSandboxFile: {
3350
+ parameters: {
3351
+ query: {
3352
+ path: string;
3353
+ };
3354
+ header?: never;
3355
+ path: {
3356
+ sandboxId: string;
3357
+ };
3358
+ cookie?: never;
3359
+ };
3360
+ requestBody?: never;
3361
+ responses: {
3362
+ /** @description The file content and its transport encoding. */
3363
+ 200: {
3364
+ headers: {
3365
+ [name: string]: unknown;
3366
+ };
3367
+ content: {
3368
+ "application/json": {
3369
+ path: string;
3370
+ content: string;
3371
+ /** @enum {string} */
3372
+ encoding: "utf8" | "base64";
3373
+ size: number;
3374
+ };
3375
+ };
3376
+ };
3377
+ /** @description Invalid path, provider, or sandbox state. */
3378
+ 400: {
3379
+ headers: {
3380
+ [name: string]: unknown;
3381
+ };
3382
+ content: {
3383
+ "application/json": {
3384
+ error: {
3385
+ message: string;
3386
+ /** @enum {string} */
3387
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3388
+ limit?: number;
3389
+ /** @enum {string} */
3390
+ window?: "minute" | "hour" | "day";
3391
+ retryAfterSeconds?: number;
3392
+ resetsAt?: string;
3393
+ active?: number;
3394
+ includedLimit?: number | null;
3395
+ planMaximum?: number | null;
3396
+ profile?: string;
3397
+ minimumPlan?: string | null;
3398
+ };
3399
+ };
3400
+ };
3401
+ };
3402
+ /** @description Permission sandbox.files.read is required. */
3403
+ 403: {
3404
+ headers: {
3405
+ [name: string]: unknown;
3406
+ };
3407
+ content: {
3408
+ "application/json": {
3409
+ error: {
3410
+ message: string;
3411
+ /** @enum {string} */
3412
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3413
+ limit?: number;
3414
+ /** @enum {string} */
3415
+ window?: "minute" | "hour" | "day";
3416
+ retryAfterSeconds?: number;
3417
+ resetsAt?: string;
3418
+ active?: number;
3419
+ includedLimit?: number | null;
3420
+ planMaximum?: number | null;
3421
+ profile?: string;
3422
+ minimumPlan?: string | null;
3423
+ };
3424
+ };
3425
+ };
3426
+ };
3427
+ /** @description Sandbox not found. */
3428
+ 404: {
3429
+ headers: {
3430
+ [name: string]: unknown;
3431
+ };
3432
+ content: {
3433
+ "application/json": {
3434
+ error: {
3435
+ message: string;
3436
+ /** @enum {string} */
3437
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3438
+ limit?: number;
3439
+ /** @enum {string} */
3440
+ window?: "minute" | "hour" | "day";
3441
+ retryAfterSeconds?: number;
3442
+ resetsAt?: string;
3443
+ active?: number;
3444
+ includedLimit?: number | null;
3445
+ planMaximum?: number | null;
3446
+ profile?: string;
3447
+ minimumPlan?: string | null;
3448
+ };
3449
+ };
3450
+ };
3451
+ };
3452
+ /** @description Filesystem operation failed. */
3453
+ 500: {
3454
+ headers: {
3455
+ [name: string]: unknown;
3456
+ };
3457
+ content: {
3458
+ "application/json": {
3459
+ error: {
3460
+ message: string;
3461
+ /** @enum {string} */
3462
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3463
+ limit?: number;
3464
+ /** @enum {string} */
3465
+ window?: "minute" | "hour" | "day";
3466
+ retryAfterSeconds?: number;
3467
+ resetsAt?: string;
3468
+ active?: number;
3469
+ includedLimit?: number | null;
3470
+ planMaximum?: number | null;
3471
+ profile?: string;
3472
+ minimumPlan?: string | null;
3473
+ };
3474
+ };
3475
+ };
3476
+ };
3477
+ };
3478
+ };
3479
+ writeSandboxFile: {
3480
+ parameters: {
3481
+ query?: never;
3482
+ header?: never;
3483
+ path: {
3484
+ sandboxId: string;
3485
+ };
3486
+ cookie?: never;
3487
+ };
3488
+ requestBody?: {
3489
+ content: {
3490
+ "application/json": components["schemas"]["WriteSandboxFileBody"];
3491
+ };
3492
+ };
3493
+ responses: {
3494
+ /** @description The normalized path and number of bytes written. */
3495
+ 200: {
3496
+ headers: {
3497
+ [name: string]: unknown;
3498
+ };
3499
+ content: {
3500
+ "application/json": {
3501
+ path: string;
3502
+ size: number;
3503
+ };
3504
+ };
3505
+ };
3506
+ /** @description Invalid body, provider, or sandbox state. */
3507
+ 400: {
3508
+ headers: {
3509
+ [name: string]: unknown;
3510
+ };
3511
+ content: {
3512
+ "application/json": {
3513
+ error: {
3514
+ message: string;
3515
+ /** @enum {string} */
3516
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3517
+ limit?: number;
3518
+ /** @enum {string} */
3519
+ window?: "minute" | "hour" | "day";
3520
+ retryAfterSeconds?: number;
3521
+ resetsAt?: string;
3522
+ active?: number;
3523
+ includedLimit?: number | null;
3524
+ planMaximum?: number | null;
3525
+ profile?: string;
3526
+ minimumPlan?: string | null;
3527
+ };
3528
+ };
3529
+ };
3530
+ };
3531
+ /** @description Permission sandbox.files.write is required. */
3532
+ 403: {
3533
+ headers: {
3534
+ [name: string]: unknown;
3535
+ };
3536
+ content: {
3537
+ "application/json": {
3538
+ error: {
3539
+ message: string;
3540
+ /** @enum {string} */
3541
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3542
+ limit?: number;
3543
+ /** @enum {string} */
3544
+ window?: "minute" | "hour" | "day";
3545
+ retryAfterSeconds?: number;
3546
+ resetsAt?: string;
3547
+ active?: number;
3548
+ includedLimit?: number | null;
3549
+ planMaximum?: number | null;
3550
+ profile?: string;
3551
+ minimumPlan?: string | null;
3552
+ };
3553
+ };
3554
+ };
3555
+ };
3556
+ /** @description Sandbox not found. */
3557
+ 404: {
3558
+ headers: {
3559
+ [name: string]: unknown;
3560
+ };
3561
+ content: {
3562
+ "application/json": {
3563
+ error: {
3564
+ message: string;
3565
+ /** @enum {string} */
3566
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3567
+ limit?: number;
3568
+ /** @enum {string} */
3569
+ window?: "minute" | "hour" | "day";
3570
+ retryAfterSeconds?: number;
3571
+ resetsAt?: string;
3572
+ active?: number;
3573
+ includedLimit?: number | null;
3574
+ planMaximum?: number | null;
3575
+ profile?: string;
3576
+ minimumPlan?: string | null;
3577
+ };
3578
+ };
3579
+ };
3580
+ };
3581
+ /** @description File content exceeds 2 MiB. */
3582
+ 413: {
3583
+ headers: {
3584
+ [name: string]: unknown;
3585
+ };
3586
+ content: {
3587
+ "application/json": {
3588
+ error: {
3589
+ message: string;
3590
+ /** @enum {string} */
3591
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3592
+ limit?: number;
3593
+ /** @enum {string} */
3594
+ window?: "minute" | "hour" | "day";
3595
+ retryAfterSeconds?: number;
3596
+ resetsAt?: string;
3597
+ active?: number;
3598
+ includedLimit?: number | null;
3599
+ planMaximum?: number | null;
3600
+ profile?: string;
3601
+ minimumPlan?: string | null;
3602
+ };
3603
+ };
3604
+ };
3605
+ };
3606
+ /** @description Filesystem operation failed. */
3607
+ 500: {
3608
+ headers: {
3609
+ [name: string]: unknown;
3610
+ };
3611
+ content: {
3612
+ "application/json": {
3613
+ error: {
3614
+ message: string;
3615
+ /** @enum {string} */
3616
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3617
+ limit?: number;
3618
+ /** @enum {string} */
3619
+ window?: "minute" | "hour" | "day";
3620
+ retryAfterSeconds?: number;
3621
+ resetsAt?: string;
3622
+ active?: number;
3623
+ includedLimit?: number | null;
3624
+ planMaximum?: number | null;
3625
+ profile?: string;
3626
+ minimumPlan?: string | null;
3627
+ };
3628
+ };
3629
+ };
3630
+ };
3631
+ };
3632
+ };
3633
+ listSandboxPreviews: {
3634
+ parameters: {
3635
+ query?: never;
3636
+ header?: never;
3637
+ path: {
3638
+ sandboxId: string;
3639
+ };
3640
+ cookie?: never;
3641
+ };
3642
+ requestBody?: never;
3643
+ responses: {
3644
+ /** @description Public preview links, newest first. */
3645
+ 200: {
3646
+ headers: {
3647
+ [name: string]: unknown;
3648
+ };
3649
+ content: {
3650
+ "application/json": {
3651
+ previewLinks: components["schemas"]["PreviewLink"][];
3652
+ };
3653
+ };
3654
+ };
3655
+ /** @description The caller does not have the required preview permission. */
3656
+ 403: {
3657
+ headers: {
3658
+ [name: string]: unknown;
3659
+ };
3660
+ content: {
3661
+ "application/json": {
3662
+ error: {
3663
+ message: string;
3664
+ /** @enum {string} */
3665
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3666
+ limit?: number;
3667
+ /** @enum {string} */
3668
+ window?: "minute" | "hour" | "day";
3669
+ retryAfterSeconds?: number;
3670
+ resetsAt?: string;
3671
+ active?: number;
3672
+ includedLimit?: number | null;
3673
+ planMaximum?: number | null;
3674
+ profile?: string;
3675
+ minimumPlan?: string | null;
3676
+ };
3677
+ };
3678
+ };
3679
+ };
3680
+ /** @description Sandbox or preview link not found. */
3681
+ 404: {
3682
+ headers: {
3683
+ [name: string]: unknown;
3684
+ };
3685
+ content: {
3686
+ "application/json": {
3687
+ error: {
3688
+ message: string;
3689
+ /** @enum {string} */
3690
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3691
+ limit?: number;
3692
+ /** @enum {string} */
3693
+ window?: "minute" | "hour" | "day";
3694
+ retryAfterSeconds?: number;
3695
+ resetsAt?: string;
3696
+ active?: number;
3697
+ includedLimit?: number | null;
3698
+ planMaximum?: number | null;
3699
+ profile?: string;
3700
+ minimumPlan?: string | null;
3701
+ };
3702
+ };
3703
+ };
3704
+ };
3705
+ /** @description Preview operation failed. */
3706
+ 500: {
3707
+ headers: {
3708
+ [name: string]: unknown;
3709
+ };
3710
+ content: {
3711
+ "application/json": {
3712
+ error: {
3713
+ message: string;
3714
+ /** @enum {string} */
3715
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3716
+ limit?: number;
3717
+ /** @enum {string} */
3718
+ window?: "minute" | "hour" | "day";
3719
+ retryAfterSeconds?: number;
3720
+ resetsAt?: string;
3721
+ active?: number;
3722
+ includedLimit?: number | null;
3723
+ planMaximum?: number | null;
3724
+ profile?: string;
3725
+ minimumPlan?: string | null;
3726
+ };
3727
+ };
3728
+ };
3729
+ };
3730
+ };
3731
+ };
3732
+ createSandboxPreview: {
3733
+ parameters: {
3734
+ query?: never;
3735
+ header?: never;
3736
+ path: {
3737
+ sandboxId: string;
3738
+ };
3739
+ cookie?: never;
3740
+ };
3741
+ requestBody?: {
3742
+ content: {
3743
+ "application/json": components["schemas"]["CreatePreviewBody"];
3744
+ };
3745
+ };
3746
+ responses: {
3747
+ /** @description A team or external preview. */
3748
+ 200: {
3749
+ headers: {
3750
+ [name: string]: unknown;
3751
+ };
3752
+ content: {
3753
+ "application/json": {
3754
+ preview: components["schemas"]["Preview"];
3755
+ };
3756
+ };
3757
+ };
3758
+ /** @description A persistent public preview link. */
3759
+ 201: {
3760
+ headers: {
3761
+ [name: string]: unknown;
3762
+ };
3763
+ content: {
3764
+ "application/json": {
3765
+ preview: components["schemas"]["Preview"];
3766
+ };
3767
+ };
3768
+ };
3769
+ /** @description Invalid preview target or options. */
3770
+ 400: {
3771
+ headers: {
3772
+ [name: string]: unknown;
3773
+ };
3774
+ content: {
3775
+ "application/json": {
3776
+ error: {
3777
+ message: string;
3778
+ /** @enum {string} */
3779
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3780
+ limit?: number;
3781
+ /** @enum {string} */
3782
+ window?: "minute" | "hour" | "day";
3783
+ retryAfterSeconds?: number;
3784
+ resetsAt?: string;
3785
+ active?: number;
3786
+ includedLimit?: number | null;
3787
+ planMaximum?: number | null;
3788
+ profile?: string;
3789
+ minimumPlan?: string | null;
3790
+ };
3791
+ };
3792
+ };
3793
+ };
3794
+ /** @description The caller does not have the required preview permission. */
3795
+ 403: {
3796
+ headers: {
3797
+ [name: string]: unknown;
3798
+ };
3799
+ content: {
3800
+ "application/json": {
3801
+ error: {
3802
+ message: string;
3803
+ /** @enum {string} */
3804
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3805
+ limit?: number;
3806
+ /** @enum {string} */
3807
+ window?: "minute" | "hour" | "day";
3808
+ retryAfterSeconds?: number;
3809
+ resetsAt?: string;
3810
+ active?: number;
3811
+ includedLimit?: number | null;
3812
+ planMaximum?: number | null;
3813
+ profile?: string;
3814
+ minimumPlan?: string | null;
3815
+ };
3816
+ };
3817
+ };
3818
+ };
3819
+ /** @description Sandbox or preview link not found. */
3820
+ 404: {
3821
+ headers: {
3822
+ [name: string]: unknown;
3823
+ };
3824
+ content: {
3825
+ "application/json": {
3826
+ error: {
3827
+ message: string;
3828
+ /** @enum {string} */
3829
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3830
+ limit?: number;
3831
+ /** @enum {string} */
3832
+ window?: "minute" | "hour" | "day";
3833
+ retryAfterSeconds?: number;
3834
+ resetsAt?: string;
3835
+ active?: number;
3836
+ includedLimit?: number | null;
3837
+ planMaximum?: number | null;
3838
+ profile?: string;
3839
+ minimumPlan?: string | null;
3840
+ };
3841
+ };
3842
+ };
3843
+ };
3844
+ /** @description Preview operation failed. */
3845
+ 500: {
3846
+ headers: {
3847
+ [name: string]: unknown;
3848
+ };
3849
+ content: {
3850
+ "application/json": {
3851
+ error: {
3852
+ message: string;
3853
+ /** @enum {string} */
3854
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3855
+ limit?: number;
3856
+ /** @enum {string} */
3857
+ window?: "minute" | "hour" | "day";
3858
+ retryAfterSeconds?: number;
3859
+ resetsAt?: string;
3860
+ active?: number;
3861
+ includedLimit?: number | null;
3862
+ planMaximum?: number | null;
3863
+ profile?: string;
3864
+ minimumPlan?: string | null;
3865
+ };
3866
+ };
3867
+ };
3868
+ };
3869
+ };
3870
+ };
3871
+ revokeSandboxPreview: {
3872
+ parameters: {
3873
+ query?: never;
3874
+ header?: never;
3875
+ path: {
3876
+ sandboxId: string;
3877
+ linkId: string;
3878
+ };
3879
+ cookie?: never;
3880
+ };
3881
+ requestBody?: never;
3882
+ responses: {
3883
+ /** @description The link was revoked. */
3884
+ 200: {
3885
+ headers: {
3886
+ [name: string]: unknown;
3887
+ };
3888
+ content: {
3889
+ "application/json": {
3890
+ /** @enum {boolean} */
3891
+ ok: true;
3892
+ };
3893
+ };
3894
+ };
3895
+ /** @description The caller does not have the required preview permission. */
3896
+ 403: {
3897
+ headers: {
3898
+ [name: string]: unknown;
3899
+ };
3900
+ content: {
3901
+ "application/json": {
3902
+ error: {
3903
+ message: string;
3904
+ /** @enum {string} */
3905
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3906
+ limit?: number;
3907
+ /** @enum {string} */
3908
+ window?: "minute" | "hour" | "day";
3909
+ retryAfterSeconds?: number;
3910
+ resetsAt?: string;
3911
+ active?: number;
3912
+ includedLimit?: number | null;
3913
+ planMaximum?: number | null;
3914
+ profile?: string;
3915
+ minimumPlan?: string | null;
3916
+ };
3917
+ };
3918
+ };
3919
+ };
3920
+ /** @description Sandbox or preview link not found. */
3921
+ 404: {
3922
+ headers: {
3923
+ [name: string]: unknown;
3924
+ };
3925
+ content: {
3926
+ "application/json": {
3927
+ error: {
3928
+ message: string;
3929
+ /** @enum {string} */
3930
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3931
+ limit?: number;
3932
+ /** @enum {string} */
3933
+ window?: "minute" | "hour" | "day";
3934
+ retryAfterSeconds?: number;
3935
+ resetsAt?: string;
3936
+ active?: number;
3937
+ includedLimit?: number | null;
3938
+ planMaximum?: number | null;
3939
+ profile?: string;
3940
+ minimumPlan?: string | null;
3941
+ };
3942
+ };
3943
+ };
3944
+ };
3945
+ /** @description Preview operation failed. */
3946
+ 500: {
3947
+ headers: {
3948
+ [name: string]: unknown;
3949
+ };
3950
+ content: {
3951
+ "application/json": {
3952
+ error: {
3953
+ message: string;
3954
+ /** @enum {string} */
3955
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
3956
+ limit?: number;
3957
+ /** @enum {string} */
3958
+ window?: "minute" | "hour" | "day";
3959
+ retryAfterSeconds?: number;
3960
+ resetsAt?: string;
3961
+ active?: number;
3962
+ includedLimit?: number | null;
3963
+ planMaximum?: number | null;
3964
+ profile?: string;
3965
+ minimumPlan?: string | null;
3966
+ };
3967
+ };
3968
+ };
3969
+ };
3970
+ };
3971
+ };
3972
+ sampleSandboxMetrics: {
3973
+ parameters: {
3974
+ query?: never;
3975
+ header?: never;
3976
+ path: {
3977
+ sandboxId: string;
3978
+ };
3979
+ cookie?: never;
3980
+ };
3981
+ requestBody?: never;
3982
+ responses: {
3983
+ /** @description The resource sample and autoscaling recommendation. */
3984
+ 200: {
3985
+ headers: {
3986
+ [name: string]: unknown;
3987
+ };
3988
+ content: {
3989
+ "application/json": components["schemas"]["SandboxMetrics"];
3990
+ };
3991
+ };
3992
+ /** @description Invalid path, provider, or sandbox state. */
3993
+ 400: {
3994
+ headers: {
3995
+ [name: string]: unknown;
3996
+ };
3997
+ content: {
3998
+ "application/json": {
3999
+ error: {
4000
+ message: string;
4001
+ /** @enum {string} */
4002
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4003
+ limit?: number;
4004
+ /** @enum {string} */
4005
+ window?: "minute" | "hour" | "day";
4006
+ retryAfterSeconds?: number;
4007
+ resetsAt?: string;
4008
+ active?: number;
4009
+ includedLimit?: number | null;
4010
+ planMaximum?: number | null;
4011
+ profile?: string;
4012
+ minimumPlan?: string | null;
4013
+ };
4014
+ };
4015
+ };
4016
+ };
4017
+ /** @description Permission sandbox.resize is required. */
4018
+ 403: {
4019
+ headers: {
4020
+ [name: string]: unknown;
4021
+ };
4022
+ content: {
4023
+ "application/json": {
4024
+ error: {
4025
+ message: string;
4026
+ /** @enum {string} */
4027
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4028
+ limit?: number;
4029
+ /** @enum {string} */
4030
+ window?: "minute" | "hour" | "day";
4031
+ retryAfterSeconds?: number;
4032
+ resetsAt?: string;
4033
+ active?: number;
4034
+ includedLimit?: number | null;
4035
+ planMaximum?: number | null;
4036
+ profile?: string;
4037
+ minimumPlan?: string | null;
4038
+ };
4039
+ };
4040
+ };
4041
+ };
4042
+ /** @description Sandbox not found. */
4043
+ 404: {
4044
+ headers: {
4045
+ [name: string]: unknown;
4046
+ };
4047
+ content: {
4048
+ "application/json": {
4049
+ error: {
4050
+ message: string;
4051
+ /** @enum {string} */
4052
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4053
+ limit?: number;
4054
+ /** @enum {string} */
4055
+ window?: "minute" | "hour" | "day";
4056
+ retryAfterSeconds?: number;
4057
+ resetsAt?: string;
4058
+ active?: number;
4059
+ includedLimit?: number | null;
4060
+ planMaximum?: number | null;
4061
+ profile?: string;
4062
+ minimumPlan?: string | null;
4063
+ };
4064
+ };
4065
+ };
4066
+ };
4067
+ /** @description Filesystem operation failed. */
4068
+ 500: {
4069
+ headers: {
4070
+ [name: string]: unknown;
4071
+ };
4072
+ content: {
4073
+ "application/json": {
4074
+ error: {
4075
+ message: string;
4076
+ /** @enum {string} */
4077
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4078
+ limit?: number;
4079
+ /** @enum {string} */
4080
+ window?: "minute" | "hour" | "day";
4081
+ retryAfterSeconds?: number;
4082
+ resetsAt?: string;
4083
+ active?: number;
4084
+ includedLimit?: number | null;
4085
+ planMaximum?: number | null;
4086
+ profile?: string;
4087
+ minimumPlan?: string | null;
4088
+ };
4089
+ };
4090
+ };
4091
+ };
4092
+ };
4093
+ };
4094
+ getSandboxMetrics: {
4095
+ parameters: {
4096
+ query?: never;
4097
+ header?: never;
4098
+ path: {
4099
+ sandboxId: string;
4100
+ };
4101
+ cookie?: never;
4102
+ };
4103
+ requestBody?: never;
4104
+ responses: {
4105
+ /** @description The current resource measurements and memory pressure assessment. */
4106
+ 200: {
4107
+ headers: {
4108
+ [name: string]: unknown;
4109
+ };
4110
+ content: {
4111
+ "application/json": components["schemas"]["LiveSandboxMetrics"];
4112
+ };
4113
+ };
4114
+ /** @description Invalid path, provider, or sandbox state. */
4115
+ 400: {
4116
+ headers: {
4117
+ [name: string]: unknown;
4118
+ };
4119
+ content: {
4120
+ "application/json": {
4121
+ error: {
4122
+ message: string;
4123
+ /** @enum {string} */
4124
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4125
+ limit?: number;
4126
+ /** @enum {string} */
4127
+ window?: "minute" | "hour" | "day";
4128
+ retryAfterSeconds?: number;
4129
+ resetsAt?: string;
4130
+ active?: number;
4131
+ includedLimit?: number | null;
4132
+ planMaximum?: number | null;
4133
+ profile?: string;
4134
+ minimumPlan?: string | null;
4135
+ };
4136
+ };
4137
+ };
4138
+ };
4139
+ /** @description Permission sandbox.files.read is required. */
4140
+ 403: {
4141
+ headers: {
4142
+ [name: string]: unknown;
4143
+ };
4144
+ content: {
4145
+ "application/json": {
4146
+ error: {
4147
+ message: string;
4148
+ /** @enum {string} */
4149
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4150
+ limit?: number;
4151
+ /** @enum {string} */
4152
+ window?: "minute" | "hour" | "day";
4153
+ retryAfterSeconds?: number;
4154
+ resetsAt?: string;
4155
+ active?: number;
4156
+ includedLimit?: number | null;
4157
+ planMaximum?: number | null;
4158
+ profile?: string;
4159
+ minimumPlan?: string | null;
4160
+ };
4161
+ };
4162
+ };
4163
+ };
4164
+ /** @description Sandbox not found. */
4165
+ 404: {
4166
+ headers: {
4167
+ [name: string]: unknown;
4168
+ };
4169
+ content: {
4170
+ "application/json": {
4171
+ error: {
4172
+ message: string;
4173
+ /** @enum {string} */
4174
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4175
+ limit?: number;
4176
+ /** @enum {string} */
4177
+ window?: "minute" | "hour" | "day";
4178
+ retryAfterSeconds?: number;
4179
+ resetsAt?: string;
4180
+ active?: number;
4181
+ includedLimit?: number | null;
4182
+ planMaximum?: number | null;
4183
+ profile?: string;
4184
+ minimumPlan?: string | null;
4185
+ };
4186
+ };
4187
+ };
4188
+ };
4189
+ /** @description Metrics could not be read from the sandbox agent. */
4190
+ 502: {
4191
+ headers: {
4192
+ [name: string]: unknown;
4193
+ };
4194
+ content: {
4195
+ "application/json": {
4196
+ error: {
4197
+ message: string;
4198
+ /** @enum {string} */
4199
+ code?: "rate_limited" | "limit_reached" | "plan_required" | "snapshot_in_progress";
4200
+ limit?: number;
4201
+ /** @enum {string} */
4202
+ window?: "minute" | "hour" | "day";
4203
+ retryAfterSeconds?: number;
4204
+ resetsAt?: string;
4205
+ active?: number;
4206
+ includedLimit?: number | null;
4207
+ planMaximum?: number | null;
4208
+ profile?: string;
4209
+ minimumPlan?: string | null;
4210
+ };
4211
+ };
4212
+ };
4213
+ };
4214
+ };
4215
+ };
4216
+ }
4217
+ //# sourceMappingURL=schema.d.ts.map