@blaxel/core 0.2.92-preview.188 → 0.2.92-preview.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/client/sdk.gen.js +194 -811
  3. package/dist/cjs/common/settings.js +2 -2
  4. package/dist/cjs/drive/index.js +2 -1
  5. package/dist/cjs/jobs/jobs.js +2 -1
  6. package/dist/cjs/sandbox/sandbox.js +3 -2
  7. package/dist/cjs/types/client/sdk.gen.d.ts +40 -20
  8. package/dist/cjs/types/client/types.gen.d.ts +806 -24
  9. package/dist/cjs/volume/index.js +2 -1
  10. package/dist/cjs-browser/.tsbuildinfo +1 -1
  11. package/dist/cjs-browser/client/sdk.gen.js +194 -811
  12. package/dist/cjs-browser/common/settings.js +2 -2
  13. package/dist/cjs-browser/drive/index.js +2 -1
  14. package/dist/cjs-browser/jobs/jobs.js +2 -1
  15. package/dist/cjs-browser/sandbox/sandbox.js +3 -2
  16. package/dist/cjs-browser/types/client/sdk.gen.d.ts +40 -20
  17. package/dist/cjs-browser/types/client/types.gen.d.ts +806 -24
  18. package/dist/cjs-browser/volume/index.js +2 -1
  19. package/dist/esm/.tsbuildinfo +1 -1
  20. package/dist/esm/client/sdk.gen.js +187 -808
  21. package/dist/esm/common/settings.js +2 -2
  22. package/dist/esm/drive/index.js +2 -1
  23. package/dist/esm/jobs/jobs.js +2 -1
  24. package/dist/esm/sandbox/sandbox.js +3 -2
  25. package/dist/esm/volume/index.js +2 -1
  26. package/dist/esm-browser/.tsbuildinfo +1 -1
  27. package/dist/esm-browser/client/sdk.gen.js +187 -808
  28. package/dist/esm-browser/common/settings.js +2 -2
  29. package/dist/esm-browser/drive/index.js +2 -1
  30. package/dist/esm-browser/jobs/jobs.js +2 -1
  31. package/dist/esm-browser/sandbox/sandbox.js +3 -2
  32. package/dist/esm-browser/volume/index.js +2 -1
  33. package/package.json +1 -1
@@ -16,6 +16,26 @@ export type AgentWritable = {
16
16
  spec: AgentSpecWritable;
17
17
  status?: Status;
18
18
  };
19
+ /**
20
+ * Cursor-paginated list of agents. Returned starting with API version 2026-04-28; older API versions return a bare array of agents instead.
21
+ */
22
+ export type AgentList = {
23
+ /**
24
+ * Page of agents.
25
+ */
26
+ data?: Array<Agent>;
27
+ meta?: PaginationMeta;
28
+ };
29
+ /**
30
+ * Cursor-paginated list of agents. Returned starting with API version 2026-04-28; older API versions return a bare array of agents instead.
31
+ */
32
+ export type AgentListWritable = {
33
+ /**
34
+ * Page of agents.
35
+ */
36
+ data?: Array<AgentWritable>;
37
+ meta?: PaginationMeta;
38
+ };
19
39
  /**
20
40
  * Runtime configuration defining how the AI agent is deployed and scaled globally
21
41
  */
@@ -149,6 +169,10 @@ export type Configuration = {
149
169
  * Countries
150
170
  */
151
171
  countries?: Array<Country>;
172
+ /**
173
+ * Auto-detected closest region based on viewer geolocation (from CloudFront headers). Empty when geo headers are not available.
174
+ */
175
+ detectedRegion?: string;
152
176
  /**
153
177
  * Private locations managed with blaxel operator
154
178
  */
@@ -378,6 +402,10 @@ export type CustomDomainSpec = {
378
402
  * CNAME target for the domain
379
403
  */
380
404
  cnameRecords?: string;
405
+ /**
406
+ * Preview ID to route to when a preview lookup fails on this custom domain
407
+ */
408
+ fallbackPreviewId?: string;
381
409
  /**
382
410
  * Last verification attempt timestamp
383
411
  */
@@ -390,6 +418,10 @@ export type CustomDomainSpec = {
390
418
  * Current status of the domain (pending, verified, failed)
391
419
  */
392
420
  status?: 'pending' | 'verified' | 'failed';
421
+ /**
422
+ * List of subdomains (previews) currently using this custom domain. Only populated on GET /customdomains/{domainName}.
423
+ */
424
+ readonly subdomains?: Array<CustomDomainSubdomain>;
393
425
  /**
394
426
  * Map of TXT record names to values for domain verification
395
427
  */
@@ -409,6 +441,10 @@ export type CustomDomainSpecWritable = {
409
441
  * CNAME target for the domain
410
442
  */
411
443
  cnameRecords?: string;
444
+ /**
445
+ * Preview ID to route to when a preview lookup fails on this custom domain
446
+ */
447
+ fallbackPreviewId?: string;
412
448
  /**
413
449
  * Region that the custom domain is associated with
414
450
  */
@@ -424,6 +460,31 @@ export type CustomDomainSpecWritable = {
424
460
  [key: string]: string;
425
461
  };
426
462
  };
463
+ /**
464
+ * A subdomain (preview) using a custom domain
465
+ */
466
+ export type CustomDomainSubdomain = {
467
+ /**
468
+ * Preview name
469
+ */
470
+ previewName?: string;
471
+ /**
472
+ * Resource name
473
+ */
474
+ resourceName?: string;
475
+ /**
476
+ * Resource type (e.g., sandbox)
477
+ */
478
+ resourceType?: string;
479
+ /**
480
+ * Subdomain prefix used for routing
481
+ */
482
+ subdomain?: string;
483
+ /**
484
+ * Full URL of the preview on this custom domain
485
+ */
486
+ url?: string;
487
+ };
427
488
  /**
428
489
  * Drive providing persistent storage that can be attached to agents, functions, and sandboxes. Drives can be mounted at runtime via the sbx API.
429
490
  */
@@ -446,6 +507,26 @@ export type DriveWritable = {
446
507
  spec: DriveSpecWritable;
447
508
  state?: DriveStateWritable;
448
509
  };
510
+ /**
511
+ * Cursor-paginated list of drives. Returned starting with API version 2026-04-28; older API versions return a bare array.
512
+ */
513
+ export type DriveList = {
514
+ /**
515
+ * Page of drives.
516
+ */
517
+ data?: Array<Drive>;
518
+ meta?: PaginationMeta;
519
+ };
520
+ /**
521
+ * Cursor-paginated list of drives. Returned starting with API version 2026-04-28; older API versions return a bare array.
522
+ */
523
+ export type DriveListWritable = {
524
+ /**
525
+ * Page of drives.
526
+ */
527
+ data?: Array<DriveWritable>;
528
+ meta?: PaginationMeta;
529
+ };
449
530
  /**
450
531
  * Immutable drive configuration set at creation time
451
532
  */
@@ -563,6 +644,12 @@ export type EgressGatewaySpec = {
563
644
  */
564
645
  region: string;
565
646
  };
647
+ /**
648
+ * Sandboxes currently bound to each egress gateway. Returned by GET /egressgateways/usage so the egress-IPs UI can render attachment counts without fetching the sandboxes listing full. Keys are gateway names; values are sandbox names.
649
+ */
650
+ export type EgressGatewayUsage = {
651
+ [key: string]: Array<string>;
652
+ };
566
653
  /**
567
654
  * An individual IP address allocated from an egress gateway for dedicated outbound traffic
568
655
  */
@@ -798,6 +885,26 @@ export type FunctionWritable = {
798
885
  spec: FunctionSpecWritable;
799
886
  status?: Status;
800
887
  };
888
+ /**
889
+ * Cursor-paginated list of MCP server functions. Returned starting with API version 2026-04-28; older API versions return a bare array.
890
+ */
891
+ export type FunctionList = {
892
+ /**
893
+ * Page of functions.
894
+ */
895
+ data?: Array<_Function>;
896
+ meta?: PaginationMeta;
897
+ };
898
+ /**
899
+ * Cursor-paginated list of MCP server functions. Returned starting with API version 2026-04-28; older API versions return a bare array.
900
+ */
901
+ export type FunctionListWritable = {
902
+ /**
903
+ * Page of functions.
904
+ */
905
+ data?: Array<FunctionWritable>;
906
+ meta?: PaginationMeta;
907
+ };
801
908
  /**
802
909
  * Runtime configuration defining how the MCP server function is deployed and scaled
803
910
  */
@@ -1245,6 +1352,26 @@ export type JobExecutionWritable = {
1245
1352
  */
1246
1353
  tasks?: Array<JobExecutionTaskWritable>;
1247
1354
  };
1355
+ /**
1356
+ * Cursor-paginated list of job executions. Returned starting with API version 2026-04-28; older API versions keep the legacy offset-based contract and return a bare array.
1357
+ */
1358
+ export type JobExecutionList = {
1359
+ /**
1360
+ * Page of job executions.
1361
+ */
1362
+ data?: Array<JobExecution>;
1363
+ meta?: PaginationMeta;
1364
+ };
1365
+ /**
1366
+ * Cursor-paginated list of job executions. Returned starting with API version 2026-04-28; older API versions keep the legacy offset-based contract and return a bare array.
1367
+ */
1368
+ export type JobExecutionListWritable = {
1369
+ /**
1370
+ * Page of job executions.
1371
+ */
1372
+ data?: Array<JobExecutionWritable>;
1373
+ meta?: PaginationMeta;
1374
+ };
1248
1375
  /**
1249
1376
  * Job execution metadata
1250
1377
  */
@@ -1504,6 +1631,26 @@ export type JobExecutionTaskCondition = {
1504
1631
  */
1505
1632
  type?: string;
1506
1633
  };
1634
+ /**
1635
+ * Cursor-paginated list of an execution's tasks. Tasks are derived from event history; pagination slices the in-memory list and the cursor is a base64-JSON offset bound to (workspace, job, execution).
1636
+ */
1637
+ export type JobExecutionTaskList = {
1638
+ /**
1639
+ * Page of execution tasks.
1640
+ */
1641
+ data?: Array<JobExecutionTask>;
1642
+ meta?: PaginationMeta;
1643
+ };
1644
+ /**
1645
+ * Cursor-paginated list of an execution's tasks. Tasks are derived from event history; pagination slices the in-memory list and the cursor is a base64-JSON offset bound to (workspace, job, execution).
1646
+ */
1647
+ export type JobExecutionTaskListWritable = {
1648
+ /**
1649
+ * Page of execution tasks.
1650
+ */
1651
+ data?: Array<JobExecutionTaskWritable>;
1652
+ meta?: PaginationMeta;
1653
+ };
1507
1654
  /**
1508
1655
  * Job execution task metadata
1509
1656
  */
@@ -1559,6 +1706,26 @@ export type JobExecutionTaskSpec = {
1559
1706
  * Job execution task status
1560
1707
  */
1561
1708
  export type JobExecutionTaskStatus = 'unspecified' | 'pending' | 'reconciling' | 'failed' | 'succeeded' | 'running' | 'cancelled';
1709
+ /**
1710
+ * Cursor-paginated list of batch jobs. Returned starting with API version 2026-04-28; older API versions return a bare array.
1711
+ */
1712
+ export type JobList = {
1713
+ /**
1714
+ * Page of jobs.
1715
+ */
1716
+ data?: Array<Job>;
1717
+ meta?: PaginationMeta;
1718
+ };
1719
+ /**
1720
+ * Cursor-paginated list of batch jobs. Returned starting with API version 2026-04-28; older API versions return a bare array.
1721
+ */
1722
+ export type JobListWritable = {
1723
+ /**
1724
+ * Page of jobs.
1725
+ */
1726
+ data?: Array<JobWritable>;
1727
+ meta?: PaginationMeta;
1728
+ };
1562
1729
  /**
1563
1730
  * Runtime configuration defining how batch job tasks are executed with parallelism and retry settings
1564
1731
  */
@@ -1657,6 +1824,60 @@ export type JobVolume = {
1657
1824
  type: 'ephemeral';
1658
1825
  };
1659
1826
  export type JobVolumes = Array<JobVolume>;
1827
+ /**
1828
+ * LiteVolume is the listing-shape projection of a Volume. Drops events to keep page payloads small.
1829
+ */
1830
+ export type LiteVolume = {
1831
+ metadata?: LiteVolumeMetadata;
1832
+ spec?: LiteVolumeSpec;
1833
+ state?: VolumeState;
1834
+ /**
1835
+ * Computed status of the volume.
1836
+ */
1837
+ status?: string;
1838
+ /**
1839
+ * Termination timestamp for soft-deleted volumes.
1840
+ */
1841
+ terminatedAt?: string;
1842
+ };
1843
+ /**
1844
+ * LiteVolume is the listing-shape projection of a Volume. Drops events to keep page payloads small.
1845
+ */
1846
+ export type LiteVolumeWritable = {
1847
+ metadata?: LiteVolumeMetadata;
1848
+ spec?: LiteVolumeSpec;
1849
+ state?: VolumeStateWritable;
1850
+ /**
1851
+ * Computed status of the volume.
1852
+ */
1853
+ status?: string;
1854
+ /**
1855
+ * Termination timestamp for soft-deleted volumes.
1856
+ */
1857
+ terminatedAt?: string;
1858
+ };
1859
+ /**
1860
+ * Compact metadata for a Volume, returned in listing responses.
1861
+ */
1862
+ export type LiteVolumeMetadata = {
1863
+ createdAt?: string;
1864
+ displayName?: string;
1865
+ name?: string;
1866
+ updatedAt?: string;
1867
+ };
1868
+ /**
1869
+ * Compact spec for a Volume, returned in listing responses.
1870
+ */
1871
+ export type LiteVolumeSpec = {
1872
+ /**
1873
+ * Region the volume is provisioned in.
1874
+ */
1875
+ region?: string;
1876
+ /**
1877
+ * Volume size in gigabytes.
1878
+ */
1879
+ size?: number;
1880
+ };
1660
1881
  /**
1661
1882
  * Location availability for policies
1662
1883
  */
@@ -1824,6 +2045,10 @@ export type Metadata = TimeFields & OwnerFields & {
1824
2045
  * Human-readable name for display in the UI. Can contain spaces and special characters, max 63 characters.
1825
2046
  */
1826
2047
  displayName?: string;
2048
+ /**
2049
+ * Caller-owned identifier for external lookups. Max 64 chars, alphanumeric + dash.
2050
+ */
2051
+ externalId?: string;
1827
2052
  labels?: MetadataLabels;
1828
2053
  /**
1829
2054
  * Unique identifier for the resource within the workspace. Must be lowercase alphanumeric with hyphens, max 49 characters. Immutable after creation.
@@ -1850,6 +2075,10 @@ export type MetadataWritable = TimeFields & OwnerFields & {
1850
2075
  * Human-readable name for display in the UI. Can contain spaces and special characters, max 63 characters.
1851
2076
  */
1852
2077
  displayName?: string;
2078
+ /**
2079
+ * Caller-owned identifier for external lookups. Max 64 chars, alphanumeric + dash.
2080
+ */
2081
+ externalId?: string;
1853
2082
  labels?: MetadataLabels;
1854
2083
  /**
1855
2084
  * Unique identifier for the resource within the workspace. Must be lowercase alphanumeric with hyphens, max 49 characters. Immutable after creation.
@@ -1880,6 +2109,26 @@ export type ModelWritable = {
1880
2109
  spec: ModelSpec;
1881
2110
  status?: Status;
1882
2111
  };
2112
+ /**
2113
+ * Cursor-paginated list of model gateway endpoints. Returned starting with API version 2026-04-28; older API versions return a bare array.
2114
+ */
2115
+ export type ModelList = {
2116
+ /**
2117
+ * Page of models.
2118
+ */
2119
+ data?: Array<Model>;
2120
+ meta?: PaginationMeta;
2121
+ };
2122
+ /**
2123
+ * Cursor-paginated list of model gateway endpoints. Returned starting with API version 2026-04-28; older API versions return a bare array.
2124
+ */
2125
+ export type ModelListWritable = {
2126
+ /**
2127
+ * Page of models.
2128
+ */
2129
+ data?: Array<ModelWritable>;
2130
+ meta?: PaginationMeta;
2131
+ };
1883
2132
  /**
1884
2133
  * Configuration identifying which external LLM provider and model this gateway endpoint proxies to
1885
2134
  */
@@ -1959,6 +2208,23 @@ export type OwnerFields = {
1959
2208
  */
1960
2209
  readonly updatedBy?: string;
1961
2210
  };
2211
+ /**
2212
+ * Pagination metadata returned alongside a page of listing results. Always present on listing endpoints starting with API version 2026-04-28.
2213
+ */
2214
+ export type PaginationMeta = {
2215
+ /**
2216
+ * True when more pages are available beyond the current one.
2217
+ */
2218
+ hasMore?: boolean;
2219
+ /**
2220
+ * Opaque cursor to pass back as the `cursor` query param for the next page. Empty when there are no more pages.
2221
+ */
2222
+ nextCursor?: string;
2223
+ /**
2224
+ * Total number of items in the workspace, ignoring the current page's filters. Lets the UI render "page X of Y" without walking the cursor chain. Computed from the hash-only metadata.workspace GSI count, so search (`q`) does not narrow it.
2225
+ */
2226
+ total?: number;
2227
+ };
1962
2228
  /**
1963
2229
  * Pending cross-account image share awaiting approval from the destination workspace
1964
2230
  */
@@ -2270,6 +2536,7 @@ export type PoliciesList = Array<string>;
2270
2536
  export type Policy = {
2271
2537
  metadata: Metadata;
2272
2538
  spec: PolicySpec;
2539
+ usage?: PolicyUsageCounts;
2273
2540
  };
2274
2541
  /**
2275
2542
  * Rule that controls how a deployment is made and served (e.g. location restrictions)
@@ -2277,6 +2544,27 @@ export type Policy = {
2277
2544
  export type PolicyWritable = {
2278
2545
  metadata: MetadataWritable;
2279
2546
  spec: PolicySpec;
2547
+ usage?: PolicyUsageCounts;
2548
+ };
2549
+ /**
2550
+ * Cursor-paginated list of policies. Returned starting with API version 2026-04-28; older API versions return a bare array.
2551
+ */
2552
+ export type PolicyList = {
2553
+ /**
2554
+ * Page of policies.
2555
+ */
2556
+ data?: Array<Policy>;
2557
+ meta?: PaginationMeta;
2558
+ };
2559
+ /**
2560
+ * Cursor-paginated list of policies. Returned starting with API version 2026-04-28; older API versions return a bare array.
2561
+ */
2562
+ export type PolicyListWritable = {
2563
+ /**
2564
+ * Page of policies.
2565
+ */
2566
+ data?: Array<PolicyWritable>;
2567
+ meta?: PaginationMeta;
2280
2568
  };
2281
2569
  /**
2282
2570
  * Policy location
@@ -2349,6 +2637,51 @@ export type PolicySpec = {
2349
2637
  */
2350
2638
  type?: 'location' | 'flavor' | 'maxToken';
2351
2639
  };
2640
+ /**
2641
+ * Per-resource counts of how many resources reference a policy. Computed by the policies listing endpoint to avoid client-side fan-out across the agents/models/functions/sandboxes/jobs listings.
2642
+ */
2643
+ export type PolicyUsageCounts = {
2644
+ agents?: number;
2645
+ functions?: number;
2646
+ jobs?: number;
2647
+ models?: number;
2648
+ sandboxes?: number;
2649
+ };
2650
+ /**
2651
+ * Resources currently referencing a policy. Returned by GET /policies/{name}/usages so the policies UI can render attachments without fetching the agents/models/functions listings full.
2652
+ */
2653
+ export type PolicyUsages = {
2654
+ /**
2655
+ * Names of agents whose spec.policies contains this policy.
2656
+ */
2657
+ agents?: Array<{
2658
+ [key: string]: unknown;
2659
+ }>;
2660
+ /**
2661
+ * Names of functions whose spec.policies contains this policy.
2662
+ */
2663
+ functions?: Array<{
2664
+ [key: string]: unknown;
2665
+ }>;
2666
+ /**
2667
+ * Names of jobs whose spec.policies contains this policy.
2668
+ */
2669
+ jobs?: Array<{
2670
+ [key: string]: unknown;
2671
+ }>;
2672
+ /**
2673
+ * Names of models whose spec.policies contains this policy.
2674
+ */
2675
+ models?: Array<{
2676
+ [key: string]: unknown;
2677
+ }>;
2678
+ /**
2679
+ * Names of sandboxes whose spec.policies contains this policy.
2680
+ */
2681
+ sandboxes?: Array<{
2682
+ [key: string]: unknown;
2683
+ }>;
2684
+ };
2352
2685
  /**
2353
2686
  * A port for a resource
2354
2687
  */
@@ -3068,6 +3401,26 @@ export type SandboxLifecycle = {
3068
3401
  */
3069
3402
  terminatedRetention?: string;
3070
3403
  };
3404
+ /**
3405
+ * Cursor-paginated list of sandboxes. Returned starting with API version 2026-04-28; older API versions return a bare array.
3406
+ */
3407
+ export type SandboxList = {
3408
+ /**
3409
+ * Page of sandboxes. Items use the lite shape (no inline event history) to keep the page payload small, matching the unpaginated response.
3410
+ */
3411
+ data?: Array<Sandbox>;
3412
+ meta?: PaginationMeta;
3413
+ };
3414
+ /**
3415
+ * Cursor-paginated list of sandboxes. Returned starting with API version 2026-04-28; older API versions return a bare array.
3416
+ */
3417
+ export type SandboxListWritable = {
3418
+ /**
3419
+ * Page of sandboxes. Items use the lite shape (no inline event history) to keep the page payload small, matching the unpaginated response.
3420
+ */
3421
+ data?: Array<SandboxWritable>;
3422
+ meta?: PaginationMeta;
3423
+ };
3071
3424
  /**
3072
3425
  * Network configuration for a sandbox including subnet, firewall rulesets, domain filtering, egress IP binding, and proxy settings
3073
3426
  */
@@ -3101,7 +3454,7 @@ export type SandboxRuntime = {
3101
3454
  */
3102
3455
  expires?: string;
3103
3456
  /**
3104
- * Extra arguments for sandbox kernel selection. Supported keys: 'iptables', 'nvme'. Values: 'enabled' or 'disabled'. Determines which kernel variant the sandbox runs on. Immutable after creation.
3457
+ * Extra arguments for sandbox kernel selection. Supported keys: 'iptables', 'nvme', 'nfs'. Values: 'enabled' or 'disabled'. Determines which kernel variant the sandbox runs on. Immutable after creation.
3105
3458
  */
3106
3459
  extraArgs?: {
3107
3460
  [key: string]: string;
@@ -3120,7 +3473,7 @@ export type SandboxRuntime = {
3120
3473
  */
3121
3474
  terminationGracePeriodSeconds?: number;
3122
3475
  /**
3123
- * Time-to-live duration after which the sandbox is automatically deleted (e.g., '30m', '24h', '7d')
3476
+ * Max-age from creation: the sandbox is deleted this long after it is created, regardless of activity (not an idle timeout). Units s, m, h, d, w (e.g., '30m', '24h', '7d', '2w'). For idle-based cleanup, use a lifecycle expiration policy of type ttl-idle.
3124
3477
  */
3125
3478
  ttl?: string;
3126
3479
  };
@@ -3140,6 +3493,10 @@ export type SandboxSpec = {
3140
3493
  region?: string;
3141
3494
  runtime?: SandboxRuntime;
3142
3495
  volumes?: VolumeAttachments;
3496
+ /**
3497
+ * VPC name for the sandbox. Defaults to "default" when absent.
3498
+ */
3499
+ vpc?: string;
3143
3500
  };
3144
3501
  /**
3145
3502
  * Deployment status of a resource deployed on Blaxel
@@ -3246,7 +3603,7 @@ export type Trigger = {
3246
3603
  */
3247
3604
  enabled?: boolean;
3248
3605
  /**
3249
- * The id of the trigger
3606
+ * Identifier of the trigger. Optional — the server auto-generates a unique id when one is not provided, and disambiguates duplicates within a resource.
3250
3607
  */
3251
3608
  id?: string;
3252
3609
  /**
@@ -3264,7 +3621,7 @@ export type TriggerWritable = {
3264
3621
  */
3265
3622
  enabled?: boolean;
3266
3623
  /**
3267
- * The id of the trigger
3624
+ * Identifier of the trigger. Optional — the server auto-generates a unique id when one is not provided, and disambiguates duplicates within a resource.
3268
3625
  */
3269
3626
  id?: string;
3270
3627
  /**
@@ -3424,6 +3781,26 @@ export type VolumeAttachment = {
3424
3781
  readOnly?: boolean;
3425
3782
  };
3426
3783
  export type VolumeAttachments = Array<VolumeAttachment>;
3784
+ /**
3785
+ * Cursor-paginated list of volumes. Returned starting with API version 2026-04-28; older API versions return a bare array. Items use the lite shape (no inline event history).
3786
+ */
3787
+ export type VolumeList = {
3788
+ /**
3789
+ * Page of volumes.
3790
+ */
3791
+ data?: Array<LiteVolume>;
3792
+ meta?: PaginationMeta;
3793
+ };
3794
+ /**
3795
+ * Cursor-paginated list of volumes. Returned starting with API version 2026-04-28; older API versions return a bare array. Items use the lite shape (no inline event history).
3796
+ */
3797
+ export type VolumeListWritable = {
3798
+ /**
3799
+ * Page of volumes.
3800
+ */
3801
+ data?: Array<LiteVolumeWritable>;
3802
+ meta?: PaginationMeta;
3803
+ };
3427
3804
  /**
3428
3805
  * Immutable volume configuration set at creation time (size and region cannot be changed after creation)
3429
3806
  */
@@ -3630,6 +4007,12 @@ export type Workspace = TimeFields & OwnerFields & {
3630
4007
  * Workspace write region
3631
4008
  */
3632
4009
  region?: string;
4010
+ /**
4011
+ * Per-resource counts (agents, functions, models, sandboxes, policies, jobs, volumes, drives, volumetemplates, integrationconnections, previews, customdomains, serviceaccounts, images). Only populated when GetWorkspace is called with ?countResources=true.
4012
+ */
4013
+ readonly resourceCounts?: {
4014
+ [key: string]: number;
4015
+ };
3633
4016
  runtime?: WorkspaceRuntime;
3634
4017
  /**
3635
4018
  * Workspace status (created, account_binded, account_configured, workspace_configured, ready, error)
@@ -3688,6 +4071,52 @@ export type WorkspaceAvailability = {
3688
4071
  */
3689
4072
  reason?: 'taken' | 'forbidden_reserved' | 'forbidden_blaxel' | 'forbidden_v_prefix';
3690
4073
  };
4074
+ /**
4075
+ * HIPAA compliance state for a workspace. `accountEnabled` mirrors the account-level `hipaa_compliance` addon (set server-side from operator tooling and Stripe billing events). `unsafe` records a per-workspace opt-out toggled from workspace settings; absent when the account does not have the addon.
4076
+ */
4077
+ export type WorkspaceHipaaInfo = {
4078
+ /**
4079
+ * True when the parent account has the HIPAA compliance addon active. Set server-side from operator tooling and Stripe billing events; cannot be changed from workspace settings.
4080
+ */
4081
+ accountEnabled?: boolean;
4082
+ unsafe?: WorkspaceHipaaUnsafe;
4083
+ };
4084
+ /**
4085
+ * HIPAA compliance state for a workspace. `accountEnabled` mirrors the account-level `hipaa_compliance` addon (set server-side from operator tooling and Stripe billing events). `unsafe` records a per-workspace opt-out toggled from workspace settings; absent when the account does not have the addon.
4086
+ */
4087
+ export type WorkspaceHipaaInfoWritable = {
4088
+ /**
4089
+ * True when the parent account has the HIPAA compliance addon active. Set server-side from operator tooling and Stripe billing events; cannot be changed from workspace settings.
4090
+ */
4091
+ accountEnabled?: boolean;
4092
+ unsafe?: WorkspaceHipaaUnsafeWritable;
4093
+ };
4094
+ /**
4095
+ * Per-workspace HIPAA opt-out record. Toggled from workspace settings; the backend stamps `updatedBy` and `updatedAt`.
4096
+ */
4097
+ export type WorkspaceHipaaUnsafe = {
4098
+ /**
4099
+ * True marks this workspace as HIPAA-unsafe (NOT compliant), overriding the account-level addon. False marks the workspace as HIPAA compliant.
4100
+ */
4101
+ enabled?: boolean;
4102
+ /**
4103
+ * RFC3339 timestamp when the opt-out was last toggled. Stamped server-side.
4104
+ */
4105
+ readonly updatedAt?: string;
4106
+ /**
4107
+ * User id (sub) of the actor that last toggled this opt-out. Stamped server-side.
4108
+ */
4109
+ readonly updatedBy?: string;
4110
+ };
4111
+ /**
4112
+ * Per-workspace HIPAA opt-out record. Toggled from workspace settings; the backend stamps `updatedBy` and `updatedAt`.
4113
+ */
4114
+ export type WorkspaceHipaaUnsafeWritable = {
4115
+ /**
4116
+ * True marks this workspace as HIPAA-unsafe (NOT compliant), overriding the account-level addon. False marks the workspace as HIPAA compliant.
4117
+ */
4118
+ enabled?: boolean;
4119
+ };
3691
4120
  /**
3692
4121
  * Runtime configuration for the workspace infrastructure
3693
4122
  */
@@ -3696,6 +4125,16 @@ export type WorkspaceRuntime = {
3696
4125
  * Infrastructure generation version for the workspace (affects available features and deployment behavior)
3697
4126
  */
3698
4127
  generation?: string;
4128
+ sandbox?: WorkspaceSandboxSettings;
4129
+ };
4130
+ /**
4131
+ * Workspace-wide sandbox configuration that applies to all sandbox deployments in the workspace.
4132
+ */
4133
+ export type WorkspaceSandboxSettings = {
4134
+ /**
4135
+ * When true, sandbox deployments in this workspace set SANDBOX_DISABLE_PROCESS_LOGGING=true to disable per-process stdout/stderr logging. Requires sandbox-api v0.2.28+.
4136
+ */
4137
+ disableProcessLogging?: boolean;
3699
4138
  };
3700
4139
  /**
3701
4140
  * Workspace user
@@ -3738,10 +4177,55 @@ export type WorkspaceUser = {
3738
4177
  */
3739
4178
  sub?: string;
3740
4179
  };
4180
+ /**
4181
+ * API version (e.g., 2026-04-16). Defaults to the earliest stable version if omitted. See https://docs.blaxel.ai/api-reference/introduction#api-versioning.
4182
+ */
4183
+ export type BlaxelVersion = string;
4184
+ /**
4185
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
4186
+ */
4187
+ export type PaginationAnchor = 'end';
4188
+ /**
4189
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
4190
+ */
4191
+ export type PaginationCursor = string;
4192
+ /**
4193
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
4194
+ */
4195
+ export type PaginationLimit = number;
4196
+ /**
4197
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4198
+ */
4199
+ export type PaginationQuery = string;
4200
+ /**
4201
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4202
+ */
4203
+ export type PaginationSort = 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
3741
4204
  export type ListAgentsData = {
3742
4205
  body?: never;
3743
4206
  path?: never;
3744
- query?: never;
4207
+ query?: {
4208
+ /**
4209
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
4210
+ */
4211
+ cursor?: string;
4212
+ /**
4213
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
4214
+ */
4215
+ limit?: number;
4216
+ /**
4217
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4218
+ */
4219
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
4220
+ /**
4221
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4222
+ */
4223
+ q?: string;
4224
+ /**
4225
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
4226
+ */
4227
+ anchor?: 'end';
4228
+ };
3745
4229
  url: '/agents';
3746
4230
  };
3747
4231
  export type ListAgentsErrors = {
@@ -3763,7 +4247,7 @@ export type ListAgentsResponses = {
3763
4247
  /**
3764
4248
  * successful operation
3765
4249
  */
3766
- 200: Array<Agent>;
4250
+ 200: AgentList;
3767
4251
  };
3768
4252
  export type ListAgentsResponse = ListAgentsResponses[keyof ListAgentsResponses];
3769
4253
  export type CreateAgentData = {
@@ -4054,7 +4538,28 @@ export type VerifyCustomDomainResponse = VerifyCustomDomainResponses[keyof Verif
4054
4538
  export type ListDrivesData = {
4055
4539
  body?: never;
4056
4540
  path?: never;
4057
- query?: never;
4541
+ query?: {
4542
+ /**
4543
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
4544
+ */
4545
+ cursor?: string;
4546
+ /**
4547
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
4548
+ */
4549
+ limit?: number;
4550
+ /**
4551
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4552
+ */
4553
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
4554
+ /**
4555
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4556
+ */
4557
+ q?: string;
4558
+ /**
4559
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
4560
+ */
4561
+ anchor?: 'end';
4562
+ };
4058
4563
  url: '/drives';
4059
4564
  };
4060
4565
  export type ListDrivesErrors = {
@@ -4067,7 +4572,7 @@ export type ListDrivesResponses = {
4067
4572
  /**
4068
4573
  * successful operation
4069
4574
  */
4070
- 200: Array<Drive>;
4575
+ 200: DriveList;
4071
4576
  };
4072
4577
  export type ListDrivesResponse = ListDrivesResponses[keyof ListDrivesResponses];
4073
4578
  export type CreateDriveData = {
@@ -4230,6 +4735,19 @@ export type ListAllEgressGatewaysResponses = {
4230
4735
  200: Array<EgressGateway>;
4231
4736
  };
4232
4737
  export type ListAllEgressGatewaysResponse = ListAllEgressGatewaysResponses[keyof ListAllEgressGatewaysResponses];
4738
+ export type GetEgressGatewayUsageData = {
4739
+ body?: never;
4740
+ path?: never;
4741
+ query?: never;
4742
+ url: '/egressgateways/usage';
4743
+ };
4744
+ export type GetEgressGatewayUsageResponses = {
4745
+ /**
4746
+ * successful operation
4747
+ */
4748
+ 200: EgressGatewayUsage;
4749
+ };
4750
+ export type GetEgressGatewayUsageResponse = GetEgressGatewayUsageResponses[keyof GetEgressGatewayUsageResponses];
4233
4751
  export type ListAllEgressIpsData = {
4234
4752
  body?: never;
4235
4753
  path?: never;
@@ -4327,7 +4845,28 @@ export type TestFeatureFlagResponse = TestFeatureFlagResponses[keyof TestFeature
4327
4845
  export type ListFunctionsData = {
4328
4846
  body?: never;
4329
4847
  path?: never;
4330
- query?: never;
4848
+ query?: {
4849
+ /**
4850
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
4851
+ */
4852
+ cursor?: string;
4853
+ /**
4854
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
4855
+ */
4856
+ limit?: number;
4857
+ /**
4858
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4859
+ */
4860
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
4861
+ /**
4862
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4863
+ */
4864
+ q?: string;
4865
+ /**
4866
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
4867
+ */
4868
+ anchor?: 'end';
4869
+ };
4331
4870
  url: '/functions';
4332
4871
  };
4333
4872
  export type ListFunctionsErrors = {
@@ -4349,7 +4888,7 @@ export type ListFunctionsResponses = {
4349
4888
  /**
4350
4889
  * successful operation
4351
4890
  */
4352
- 200: Array<_Function>;
4891
+ 200: FunctionList;
4353
4892
  };
4354
4893
  export type ListFunctionsResponse = ListFunctionsResponses[keyof ListFunctionsResponses];
4355
4894
  export type CreateFunctionData = {
@@ -5072,14 +5611,35 @@ export type GetIntegrationConnectionModelResponses = {
5072
5611
  export type ListJobsData = {
5073
5612
  body?: never;
5074
5613
  path?: never;
5075
- query?: never;
5614
+ query?: {
5615
+ /**
5616
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
5617
+ */
5618
+ cursor?: string;
5619
+ /**
5620
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
5621
+ */
5622
+ limit?: number;
5623
+ /**
5624
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5625
+ */
5626
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
5627
+ /**
5628
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5629
+ */
5630
+ q?: string;
5631
+ /**
5632
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
5633
+ */
5634
+ anchor?: 'end';
5635
+ };
5076
5636
  url: '/jobs';
5077
5637
  };
5078
5638
  export type ListJobsResponses = {
5079
5639
  /**
5080
5640
  * successful operation
5081
5641
  */
5082
- 200: Array<Job>;
5642
+ 200: JobList;
5083
5643
  };
5084
5644
  export type ListJobsResponse = ListJobsResponses[keyof ListJobsResponses];
5085
5645
  export type CreateJobData = {
@@ -5168,9 +5728,21 @@ export type ListJobExecutionsData = {
5168
5728
  */
5169
5729
  limit?: number;
5170
5730
  /**
5171
- * Page offset
5731
+ * Page offset (legacy, ignored when Blaxel-Version >= 2026-04-28)
5172
5732
  */
5173
5733
  offset?: number;
5734
+ /**
5735
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
5736
+ */
5737
+ cursor?: string;
5738
+ /**
5739
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5740
+ */
5741
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
5742
+ /**
5743
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5744
+ */
5745
+ q?: string;
5174
5746
  };
5175
5747
  url: '/jobs/{jobId}/executions';
5176
5748
  };
@@ -5188,7 +5760,7 @@ export type ListJobExecutionsResponses = {
5188
5760
  /**
5189
5761
  * successful operation
5190
5762
  */
5191
- 200: Array<JobExecution>;
5763
+ 200: JobExecutionList;
5192
5764
  };
5193
5765
  export type ListJobExecutionsResponse = ListJobExecutionsResponses[keyof ListJobExecutionsResponses];
5194
5766
  export type CreateJobExecutionData = {
@@ -5291,6 +5863,59 @@ export type GetJobExecutionResponses = {
5291
5863
  200: JobExecution;
5292
5864
  };
5293
5865
  export type GetJobExecutionResponse = GetJobExecutionResponses[keyof GetJobExecutionResponses];
5866
+ export type ListJobExecutionTasksData = {
5867
+ body?: never;
5868
+ path: {
5869
+ /**
5870
+ * Name of the job
5871
+ */
5872
+ jobId: string;
5873
+ /**
5874
+ * Execution id
5875
+ */
5876
+ executionId: string;
5877
+ };
5878
+ query?: {
5879
+ /**
5880
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
5881
+ */
5882
+ cursor?: string;
5883
+ /**
5884
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
5885
+ */
5886
+ limit?: number;
5887
+ /**
5888
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5889
+ */
5890
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
5891
+ /**
5892
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5893
+ */
5894
+ q?: string;
5895
+ };
5896
+ url: '/jobs/{jobId}/executions/{executionId}/tasks';
5897
+ };
5898
+ export type ListJobExecutionTasksErrors = {
5899
+ /**
5900
+ * bad request
5901
+ */
5902
+ 400: unknown;
5903
+ /**
5904
+ * job or execution not found
5905
+ */
5906
+ 404: unknown;
5907
+ /**
5908
+ * internal server error
5909
+ */
5910
+ 500: unknown;
5911
+ };
5912
+ export type ListJobExecutionTasksResponses = {
5913
+ /**
5914
+ * successful operation
5915
+ */
5916
+ 200: JobExecutionTaskList;
5917
+ };
5918
+ export type ListJobExecutionTasksResponse = ListJobExecutionTasksResponses[keyof ListJobExecutionTasksResponses];
5294
5919
  export type ListJobRevisionsData = {
5295
5920
  body?: never;
5296
5921
  path: {
@@ -5338,7 +5963,28 @@ export type ListMcpHubDefinitionsResponse = ListMcpHubDefinitionsResponses[keyof
5338
5963
  export type ListModelsData = {
5339
5964
  body?: never;
5340
5965
  path?: never;
5341
- query?: never;
5966
+ query?: {
5967
+ /**
5968
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
5969
+ */
5970
+ cursor?: string;
5971
+ /**
5972
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
5973
+ */
5974
+ limit?: number;
5975
+ /**
5976
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5977
+ */
5978
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
5979
+ /**
5980
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
5981
+ */
5982
+ q?: string;
5983
+ /**
5984
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
5985
+ */
5986
+ anchor?: 'end';
5987
+ };
5342
5988
  url: '/models';
5343
5989
  };
5344
5990
  export type ListModelsErrors = {
@@ -5360,7 +6006,7 @@ export type ListModelsResponses = {
5360
6006
  /**
5361
6007
  * successful operation
5362
6008
  */
5363
- 200: Array<Model>;
6009
+ 200: ModelList;
5364
6010
  };
5365
6011
  export type ListModelsResponse = ListModelsResponses[keyof ListModelsResponses];
5366
6012
  export type CreateModelData = {
@@ -5622,14 +6268,35 @@ export type DeclineImageShareResponse = DeclineImageShareResponses[keyof Decline
5622
6268
  export type ListPoliciesData = {
5623
6269
  body?: never;
5624
6270
  path?: never;
5625
- query?: never;
6271
+ query?: {
6272
+ /**
6273
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
6274
+ */
6275
+ cursor?: string;
6276
+ /**
6277
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
6278
+ */
6279
+ limit?: number;
6280
+ /**
6281
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
6282
+ */
6283
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
6284
+ /**
6285
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
6286
+ */
6287
+ q?: string;
6288
+ /**
6289
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
6290
+ */
6291
+ anchor?: 'end';
6292
+ };
5626
6293
  url: '/policies';
5627
6294
  };
5628
6295
  export type ListPoliciesResponses = {
5629
6296
  /**
5630
6297
  * successful operation
5631
6298
  */
5632
- 200: Array<Policy>;
6299
+ 200: PolicyList;
5633
6300
  };
5634
6301
  export type ListPoliciesResponse = ListPoliciesResponses[keyof ListPoliciesResponses];
5635
6302
  export type CreatePolicyData = {
@@ -5699,6 +6366,24 @@ export type UpdatePolicyResponses = {
5699
6366
  200: Policy;
5700
6367
  };
5701
6368
  export type UpdatePolicyResponse = UpdatePolicyResponses[keyof UpdatePolicyResponses];
6369
+ export type GetPolicyUsagesData = {
6370
+ body?: never;
6371
+ path: {
6372
+ /**
6373
+ * Unique name identifier of the policy
6374
+ */
6375
+ policyName: string;
6376
+ };
6377
+ query?: never;
6378
+ url: '/policies/{policyName}/usages';
6379
+ };
6380
+ export type GetPolicyUsagesResponses = {
6381
+ /**
6382
+ * successful operation
6383
+ */
6384
+ 200: PolicyUsages;
6385
+ };
6386
+ export type GetPolicyUsagesResponse = GetPolicyUsagesResponses[keyof GetPolicyUsagesResponses];
5702
6387
  export type ListPublicIpsData = {
5703
6388
  body?: never;
5704
6389
  path?: never;
@@ -5733,7 +6418,36 @@ export type ListSandboxHubDefinitionsResponse = ListSandboxHubDefinitionsRespons
5733
6418
  export type ListSandboxesData = {
5734
6419
  body?: never;
5735
6420
  path?: never;
5736
- query?: never;
6421
+ query?: {
6422
+ /**
6423
+ * If true, include terminated sandboxes in the response. Defaults to false.
6424
+ */
6425
+ showTerminated?: boolean;
6426
+ /**
6427
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
6428
+ */
6429
+ cursor?: string;
6430
+ /**
6431
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
6432
+ */
6433
+ limit?: number;
6434
+ /**
6435
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
6436
+ */
6437
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
6438
+ /**
6439
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
6440
+ */
6441
+ q?: string;
6442
+ /**
6443
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
6444
+ */
6445
+ anchor?: 'end';
6446
+ /**
6447
+ * Filter sandboxes by external ID. When set, only sandboxes matching this caller-owned identifier are returned.
6448
+ */
6449
+ externalId?: string;
6450
+ };
5737
6451
  url: '/sandboxes';
5738
6452
  };
5739
6453
  export type ListSandboxesErrors = {
@@ -5755,7 +6469,7 @@ export type ListSandboxesResponses = {
5755
6469
  /**
5756
6470
  * successful operation
5757
6471
  */
5758
- 200: Array<Sandbox>;
6472
+ 200: SandboxList;
5759
6473
  };
5760
6474
  export type ListSandboxesResponse = ListSandboxesResponses[keyof ListSandboxesResponses];
5761
6475
  export type CreateSandboxData = {
@@ -5945,7 +6659,12 @@ export type CreateSandboxPreviewData = {
5945
6659
  */
5946
6660
  sandboxName: string;
5947
6661
  };
5948
- query?: never;
6662
+ query?: {
6663
+ /**
6664
+ * Force creation by deleting conflicting previews that use the same custom domain prefix URL
6665
+ */
6666
+ force?: boolean;
6667
+ };
5949
6668
  url: '/sandboxes/{sandboxName}/previews';
5950
6669
  };
5951
6670
  export type CreateSandboxPreviewResponses = {
@@ -6096,6 +6815,43 @@ export type DeleteSandboxPreviewTokenResponses = {
6096
6815
  };
6097
6816
  };
6098
6817
  export type DeleteSandboxPreviewTokenResponse = DeleteSandboxPreviewTokenResponses[keyof DeleteSandboxPreviewTokenResponses];
6818
+ export type GetSandboxByExternalIdData = {
6819
+ body?: never;
6820
+ path: {
6821
+ /**
6822
+ * Caller-owned external identifier for the sandbox
6823
+ */
6824
+ externalId: string;
6825
+ };
6826
+ query?: never;
6827
+ url: '/sandboxes/by-external-id/{externalId}';
6828
+ };
6829
+ export type GetSandboxByExternalIdErrors = {
6830
+ /**
6831
+ * Unauthorized - Invalid or missing authentication credentials
6832
+ */
6833
+ 401: _Error;
6834
+ /**
6835
+ * Forbidden - Insufficient permissions to view sandboxes
6836
+ */
6837
+ 403: _Error;
6838
+ /**
6839
+ * Not found - No active sandbox with this external ID
6840
+ */
6841
+ 404: _Error;
6842
+ /**
6843
+ * Internal server error
6844
+ */
6845
+ 500: _Error;
6846
+ };
6847
+ export type GetSandboxByExternalIdError = GetSandboxByExternalIdErrors[keyof GetSandboxByExternalIdErrors];
6848
+ export type GetSandboxByExternalIdResponses = {
6849
+ /**
6850
+ * successful operation
6851
+ */
6852
+ 200: Sandbox;
6853
+ };
6854
+ export type GetSandboxByExternalIdResponse = GetSandboxByExternalIdResponses[keyof GetSandboxByExternalIdResponses];
6099
6855
  export type GetWorkspaceServiceAccountsData = {
6100
6856
  body?: never;
6101
6857
  path?: never;
@@ -6594,7 +7350,28 @@ export type DeleteVolumeTemplateVersionResponse = DeleteVolumeTemplateVersionRes
6594
7350
  export type ListVolumesData = {
6595
7351
  body?: never;
6596
7352
  path?: never;
6597
- query?: never;
7353
+ query?: {
7354
+ /**
7355
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
7356
+ */
7357
+ cursor?: string;
7358
+ /**
7359
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
7360
+ */
7361
+ limit?: number;
7362
+ /**
7363
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
7364
+ */
7365
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
7366
+ /**
7367
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
7368
+ */
7369
+ q?: string;
7370
+ /**
7371
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
7372
+ */
7373
+ anchor?: 'end';
7374
+ };
6598
7375
  url: '/volumes';
6599
7376
  };
6600
7377
  export type ListVolumesErrors = {
@@ -6616,7 +7393,7 @@ export type ListVolumesResponses = {
6616
7393
  /**
6617
7394
  * successful operation
6618
7395
  */
6619
- 200: Array<Volume>;
7396
+ 200: VolumeList;
6620
7397
  };
6621
7398
  export type ListVolumesResponse = ListVolumesResponses[keyof ListVolumesResponses];
6622
7399
  export type CreateVolumeData = {
@@ -7040,7 +7817,12 @@ export type GetWorkspaceData = {
7040
7817
  */
7041
7818
  workspaceName: string;
7042
7819
  };
7043
- query?: never;
7820
+ query?: {
7821
+ /**
7822
+ * When true, the response includes a resourceCounts map with the number of agents, functions, models, sandboxes, policies, jobs, volumes, volumetemplates, integrationconnections, previews, customdomains, serviceaccounts and images currently in this workspace. Off by default — each count is one extra indexed query.
7823
+ */
7824
+ countResources?: boolean;
7825
+ };
7044
7826
  url: '/workspaces/{workspaceName}';
7045
7827
  };
7046
7828
  export type GetWorkspaceErrors = {