@deepraxis/sdk 0.1.1-dev.ea219e1 → 0.1.1-dev.ea9c801

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.
@@ -2,7 +2,7 @@ export declare const operations: readonly [{
2
2
  readonly resource: "agent.agents";
3
3
  readonly method: "list";
4
4
  readonly summary: "List agents";
5
- readonly description: "List the agents of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Use it to find an agent id before creating a session; to read one agent use agents.retrieve, to see its history use agents.versions.list. Archived agents are hidden unless include_archived is true. Filter kind=general or kind=personal for durable-computer agents or kind=service for per-session environments. Pass next_page from the response as page to read the next page; a null next_page means the end.";
5
+ readonly description: "List the agents of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Use it to find an agent id before creating a session; to read one agent use agents.retrieve, to see its history use agents.versions.list. Archived agents are hidden unless include_archived is true. Filter kind=general or kind=personal for durable-computer agents, kind=service for per-session environments, or kind=assume for external MCP clients. Pass next_page from the response as page to read the next page; a null next_page means the end.";
6
6
  readonly http: "GET";
7
7
  readonly path: "/agent/v1/agents";
8
8
  readonly streaming: "no";
@@ -37,7 +37,7 @@ export declare const operations: readonly [{
37
37
  }, {
38
38
  readonly name: "kind";
39
39
  readonly type: "string";
40
- readonly enum: readonly ["general", "personal", "service"];
40
+ readonly enum: readonly ["general", "personal", "service", "assume"];
41
41
  readonly required: false;
42
42
  readonly description: "Filter agents by their immutable kind, including agents created before kind was recorded.";
43
43
  }];
@@ -45,7 +45,7 @@ export declare const operations: readonly [{
45
45
  readonly resource: "agent.agents";
46
46
  readonly method: "create";
47
47
  readonly summary: "Create agent";
48
- readonly description: "Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400. Use tools: [{type: \"agent_toolset_20260401\"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: \"agent_toolset_20260401\", default_config: {enabled: false}, configs: [{name: \"codemode\", enabled: true}, {name: \"bash\", enabled: true, permission_policy: {type: \"always_ask\"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. model and every models.allowed entry must be a catalog model that can run an agent: an unknown id returns 400 \"model <id> is not in the model catalog\" and an embedding, image or speech model returns 400 \"model <id> cannot run an agent\". name is a label, not a unique key: 1 to 256 characters after trimming, no NUL or line breaks. avatar is trimmed, must not contain spaces or point at a loopback, private or internal host, and its scheme is stored in lowercase. script and workflow binding ids are stored in lowercase, the form automation matches; bindings together with environment_id null return 400 because bindings need a machine. Example: {\"name\":\"helper\",\"model\":{\"id\":\"deepseek-flash\"},\"tools\":[{\"type\":\"agent_toolset_20260401\"}]}.";
48
+ readonly description: "Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400. Use tools: [{type: \"agent_toolset_20260401\"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: \"agent_toolset_20260401\", default_config: {enabled: false}, configs: [{name: \"codemode\", enabled: true}, {name: \"bash\", enabled: true, permission_policy: {type: \"always_ask\"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. model and every models.allowed entry must be a catalog model that can run an agent: an unknown id returns 400 \"model <id> is not in the model catalog\" and an embedding, image or speech model returns 400 \"model <id> cannot run an agent\". name is a label, not a unique key: 1 to 256 characters after trimming, no NUL or line breaks. avatar is trimmed, must not contain spaces or point at a loopback, private or internal host, and its scheme is stored in lowercase. script and workflow binding ids are stored in lowercase, the form automation matches; bindings together with environment_id null return 400 because bindings need a machine. Example: {\"name\":\"helper\",\"model\":{\"id\":\"deepseek-flash\"},\"tools\":[{\"type\":\"agent_toolset_20260401\"}]}. For kind assume, provide name without model, models, subagent_model, subagents or multiagent; omit computer_id to register a new computer named after the agent without starting an instance, or provide an existing computer_id; vault_ids are accepted, bindings and environment_id are refused. Drive assume agents over MCP at /agent/v1/agents/{id}/mcp.";
49
49
  readonly http: "POST";
50
50
  readonly path: "/agent/v1/agents";
51
51
  readonly streaming: "no";
@@ -57,8 +57,8 @@ export declare const operations: readonly [{
57
57
  readonly fields: readonly [{
58
58
  readonly name: "model";
59
59
  readonly type: "object";
60
- readonly required: true;
61
- readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected.";
60
+ readonly required: false;
61
+ readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected. Forbidden and omitted on assume agents.";
62
62
  }, {
63
63
  readonly name: "name";
64
64
  readonly type: "string";
@@ -111,9 +111,9 @@ export declare const operations: readonly [{
111
111
  }, {
112
112
  readonly name: "kind";
113
113
  readonly type: "string";
114
- readonly enum: readonly ["general", "personal", "service"];
114
+ readonly enum: readonly ["general", "personal", "service", "assume"];
115
115
  readonly required: false;
116
- readonly description: "Immutable agent kind. general and personal require computer_id; service cannot bind a computer. Omit on create to infer from computer_id (general with a computer, service without). On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error.";
116
+ readonly description: "Immutable agent kind. general and personal require computer_id; service cannot bind a computer. Omit on create to infer from computer_id (general with a computer, service without). On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error. Assume agents use a durable computer driven over MCP without a conversation model; model, models, subagent_model, subagents and multiagent are forbidden and omitted.";
117
117
  }, {
118
118
  readonly name: "computer_id";
119
119
  readonly type: "string";
@@ -145,7 +145,7 @@ export declare const operations: readonly [{
145
145
  readonly name: "settings";
146
146
  readonly type: "object";
147
147
  readonly required: false;
148
- readonly description: "Praxis extension: managed settings saved with the configuration revision. Omit to preserve; null clears. Configuration storage only; these switches and hooks are not applied to runtime yet. /agent/v1 only.";
148
+ readonly description: "Agent runtime settings follow Claude Code managed settings. Praxis freezes output-style selection for each new session; inline output_styles extend file-based styles. Omit settings to keep saved settings; null clears them.";
149
149
  }, {
150
150
  readonly name: "models";
151
151
  readonly type: "object";
@@ -173,6 +173,12 @@ export declare const operations: readonly [{
173
173
  readonly enum: readonly ["minimal", "data-editor", "full"];
174
174
  readonly required: false;
175
175
  readonly description: "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor.";
176
+ }, {
177
+ readonly name: "output_styles";
178
+ readonly type: "array";
179
+ readonly itemType: "object";
180
+ readonly required: false;
181
+ readonly description: "Inline custom output styles, including for agents without a computer. Omit to keep the saved list; null or [] clears it. Same-name precedence is inline, project files, personal files, then plugins. Selection is settings.outputStyle; styles apply to main conversations and are frozen per session.";
176
182
  }];
177
183
  };
178
184
  }, {
@@ -187,7 +193,7 @@ export declare const operations: readonly [{
187
193
  readonly pathParams: readonly [{
188
194
  readonly name: "agent_id";
189
195
  readonly sdkName: "agent_id";
190
- readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name.";
196
+ readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
191
197
  }];
192
198
  readonly query: readonly [{
193
199
  readonly name: "version";
@@ -199,7 +205,7 @@ export declare const operations: readonly [{
199
205
  readonly resource: "agent.agents";
200
206
  readonly method: "update";
201
207
  readonly summary: "Update agent";
202
- readonly description: "Save configuration changes as a new immutable version. Send latest_version from a default retrieve or update response as the request version for optimistic concurrency; a stale value returns 409. apply defaults to true and makes the new version effective; apply false saves without changing active_version. The response contains the effective configuration, with version equal to active_version and latest_version naming the newest saved version. An unchanged configuration, including a note-only update, is a no-op returning 200 and the current effective version without creating or activating a version. version_note records up to 280 characters only when a configuration change creates a new version; null is equivalent to omission. Use agents.versions.apply to activate an existing saved version. Existing sessions and tokens keep their version. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. tools: [] removes every tool, while tools: null returns 400 (tools cannot be null; send [] to remove every tool). On update, omit skills to keep them, send an array to replace them, or send [] or null to clear them. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400.";
208
+ readonly description: "Save configuration changes as a new immutable version. Send latest_version from a default retrieve or update response as the request version for optimistic concurrency; a stale value returns 409. apply defaults to true and makes the new version effective; apply false saves without changing active_version. The response contains the effective configuration, with version equal to active_version and latest_version naming the newest saved version. An unchanged configuration, including a note-only update, is a no-op returning 200 and the current effective version without creating or activating a version. version_note records up to 280 characters only when a configuration change creates a new version; null is equivalent to omission. Use agents.versions.apply to activate an existing saved version. Existing sessions and tokens keep their version. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. tools: [] removes every tool, while tools: null returns 400 (tools cannot be null; send [] to remove every tool). On update, omit skills to keep them, send an array to replace them, or send [] or null to clear them. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400. Assume agents reject model, models, subagent_model, subagents and multiagent on every update; other fields follow the general agent rules, with vault_ids also accepted.";
203
209
  readonly http: "POST";
204
210
  readonly path: "/agent/v1/agents/{agent_id}";
205
211
  readonly streaming: "no";
@@ -207,7 +213,7 @@ export declare const operations: readonly [{
207
213
  readonly pathParams: readonly [{
208
214
  readonly name: "agent_id";
209
215
  readonly sdkName: "agent_id";
210
- readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name.";
216
+ readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
211
217
  }];
212
218
  readonly query: readonly [];
213
219
  readonly body: {
@@ -232,7 +238,7 @@ export declare const operations: readonly [{
232
238
  readonly name: "model";
233
239
  readonly type: "object";
234
240
  readonly required: false;
235
- readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected.";
241
+ readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected. Forbidden and omitted on assume agents.";
236
242
  }, {
237
243
  readonly name: "multiagent";
238
244
  readonly type: "object";
@@ -284,9 +290,9 @@ export declare const operations: readonly [{
284
290
  }, {
285
291
  readonly name: "kind";
286
292
  readonly type: "string";
287
- readonly enum: readonly ["general", "personal", "service"];
293
+ readonly enum: readonly ["general", "personal", "service", "assume"];
288
294
  readonly required: false;
289
- readonly description: "Immutable agent kind. general and personal require computer_id; service cannot bind a computer. Omit on create to infer from computer_id (general with a computer, service without). On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error.";
295
+ readonly description: "Immutable agent kind. general and personal require computer_id; service cannot bind a computer. Omit on create to infer from computer_id (general with a computer, service without). On update, the same kind is ignored; changing kind or crossing its computer binding returns 400 invalid_request_error. Assume agents use a durable computer driven over MCP without a conversation model; model, models, subagent_model, subagents and multiagent are forbidden and omitted.";
290
296
  }, {
291
297
  readonly name: "computer_id";
292
298
  readonly type: "string";
@@ -318,7 +324,7 @@ export declare const operations: readonly [{
318
324
  readonly name: "settings";
319
325
  readonly type: "object";
320
326
  readonly required: false;
321
- readonly description: "Praxis extension: managed settings saved with the configuration revision. Omit to preserve; null clears. Configuration storage only; these switches and hooks are not applied to runtime yet. /agent/v1 only.";
327
+ readonly description: "Agent runtime settings follow Claude Code managed settings. Praxis freezes output-style selection for each new session; inline output_styles extend file-based styles. Omit settings to keep saved settings; null clears them.";
322
328
  }, {
323
329
  readonly name: "models";
324
330
  readonly type: "object";
@@ -346,6 +352,12 @@ export declare const operations: readonly [{
346
352
  readonly enum: readonly ["minimal", "data-editor", "full"];
347
353
  readonly required: false;
348
354
  readonly description: "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor.";
355
+ }, {
356
+ readonly name: "output_styles";
357
+ readonly type: "array";
358
+ readonly itemType: "object";
359
+ readonly required: false;
360
+ readonly description: "Inline custom output styles, including for agents without a computer. Omit to keep the saved list; null or [] clears it. Same-name precedence is inline, project files, personal files, then plugins. Selection is settings.outputStyle; styles apply to main conversations and are frozen per session.";
349
361
  }];
350
362
  };
351
363
  }, {
@@ -360,7 +372,7 @@ export declare const operations: readonly [{
360
372
  readonly pathParams: readonly [{
361
373
  readonly name: "agent_id";
362
374
  readonly sdkName: "agent_id";
363
- readonly description: "Service agent id from agent creation or listing; with a customer access token, the agent the token was issued for.";
375
+ readonly description: "Service agent id from agent creation or listing; with a customer access token, the agent the token was issued for. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
364
376
  }];
365
377
  readonly query: readonly [];
366
378
  }, {
@@ -375,7 +387,7 @@ export declare const operations: readonly [{
375
387
  readonly pathParams: readonly [{
376
388
  readonly name: "agent_id";
377
389
  readonly sdkName: "agent_id";
378
- readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name.";
390
+ readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
379
391
  }];
380
392
  readonly query: readonly [];
381
393
  }, {
@@ -390,7 +402,7 @@ export declare const operations: readonly [{
390
402
  readonly pathParams: readonly [{
391
403
  readonly name: "agent_id";
392
404
  readonly sdkName: "agent_id";
393
- readonly description: "Active service agent id from agent creation or listing.";
405
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
394
406
  }];
395
407
  readonly query: readonly [{
396
408
  readonly name: "limit";
@@ -431,7 +443,7 @@ export declare const operations: readonly [{
431
443
  readonly pathParams: readonly [{
432
444
  readonly name: "agent_id";
433
445
  readonly sdkName: "agent_id";
434
- readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing.";
446
+ readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
435
447
  }];
436
448
  readonly query: readonly [];
437
449
  readonly body: {
@@ -450,7 +462,7 @@ export declare const operations: readonly [{
450
462
  readonly pathParams: readonly [{
451
463
  readonly name: "agent_id";
452
464
  readonly sdkName: "agent_id";
453
- readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing.";
465
+ readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
454
466
  }];
455
467
  readonly query: readonly [];
456
468
  }, {
@@ -465,7 +477,7 @@ export declare const operations: readonly [{
465
477
  readonly pathParams: readonly [{
466
478
  readonly name: "agent_id";
467
479
  readonly sdkName: "agent_id";
468
- readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing.";
480
+ readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
469
481
  }];
470
482
  readonly query: readonly [];
471
483
  }, {
@@ -480,7 +492,7 @@ export declare const operations: readonly [{
480
492
  readonly pathParams: readonly [{
481
493
  readonly name: "agent_id";
482
494
  readonly sdkName: "agent_id";
483
- readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing.";
495
+ readonly description: "Service agent id (agent_…) or its short identity number, from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
484
496
  }];
485
497
  readonly query: readonly [];
486
498
  readonly body: {
@@ -555,7 +567,7 @@ export declare const operations: readonly [{
555
567
  readonly pathParams: readonly [{
556
568
  readonly name: "agent_id";
557
569
  readonly sdkName: "agent_id";
558
- readonly description: "Active service agent id from agent creation or listing.";
570
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
559
571
  }, {
560
572
  readonly name: "customer_id";
561
573
  readonly sdkName: "customer_id";
@@ -579,7 +591,7 @@ export declare const operations: readonly [{
579
591
  readonly pathParams: readonly [{
580
592
  readonly name: "agent_id";
581
593
  readonly sdkName: "agent_id";
582
- readonly description: "Active service agent id from agent creation or listing.";
594
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
583
595
  }, {
584
596
  readonly name: "customer_id";
585
597
  readonly sdkName: "customer_id";
@@ -598,7 +610,7 @@ export declare const operations: readonly [{
598
610
  readonly pathParams: readonly [{
599
611
  readonly name: "agent_id";
600
612
  readonly sdkName: "agent_id";
601
- readonly description: "Active service agent id from agent creation or listing.";
613
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
602
614
  }, {
603
615
  readonly name: "customer_id";
604
616
  readonly sdkName: "customer_id";
@@ -617,7 +629,7 @@ export declare const operations: readonly [{
617
629
  readonly pathParams: readonly [{
618
630
  readonly name: "agent_id";
619
631
  readonly sdkName: "agent_id";
620
- readonly description: "Active service agent id from agent creation or listing.";
632
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
621
633
  }, {
622
634
  readonly name: "customer_id";
623
635
  readonly sdkName: "customer_id";
@@ -636,7 +648,7 @@ export declare const operations: readonly [{
636
648
  readonly pathParams: readonly [{
637
649
  readonly name: "agent_id";
638
650
  readonly sdkName: "agent_id";
639
- readonly description: "Active service agent id from agent creation or listing.";
651
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
640
652
  }, {
641
653
  readonly name: "customer_id";
642
654
  readonly sdkName: "customer_id";
@@ -655,7 +667,7 @@ export declare const operations: readonly [{
655
667
  readonly pathParams: readonly [{
656
668
  readonly name: "agent_id";
657
669
  readonly sdkName: "agent_id";
658
- readonly description: "Active service agent id from agent creation or listing.";
670
+ readonly description: "Active service agent id from agent creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
659
671
  }, {
660
672
  readonly name: "customer_id";
661
673
  readonly sdkName: "customer_id";
@@ -674,7 +686,7 @@ export declare const operations: readonly [{
674
686
  readonly pathParams: readonly [{
675
687
  readonly name: "agent_id";
676
688
  readonly sdkName: "agent_id";
677
- readonly description: "Agent id from creation or listing.";
689
+ readonly description: "Agent id from creation or listing. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
678
690
  }];
679
691
  readonly query: readonly [];
680
692
  }, {
@@ -689,7 +701,7 @@ export declare const operations: readonly [{
689
701
  readonly pathParams: readonly [{
690
702
  readonly name: "agent_id";
691
703
  readonly sdkName: "agent_id";
692
- readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name.";
704
+ readonly description: "Agent id, as returned by agents.create or agents.list (for a session filter, the agent the session was created with). Not the agent name. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
693
705
  }];
694
706
  readonly query: readonly [{
695
707
  readonly name: "limit";
@@ -714,7 +726,7 @@ export declare const operations: readonly [{
714
726
  readonly pathParams: readonly [{
715
727
  readonly name: "agent_id";
716
728
  readonly sdkName: "agent_id";
717
- readonly description: "Agent identifier from agents.create or agents.list.";
729
+ readonly description: "Agent identifier from agents.create or agents.list. Also accepts an 8-character identity number (0–9, A–Z); malformed, absent and foreign references return 404, and response ids always use agent_….";
718
730
  }, {
719
731
  readonly name: "version";
720
732
  readonly sdkName: "version";
@@ -1536,7 +1548,7 @@ export declare const operations: readonly [{
1536
1548
  readonly resource: "agent.sessions";
1537
1549
  readonly method: "create";
1538
1550
  readonly summary: "Create session";
1539
- readonly description: "Create a session: one conversation with an agent. Pass agent as an agent id or {type:\"agent\", id, version?}; an id alone, or an object without version, pins the agent's active_version (the version chosen with agents.versions.apply, not necessarily the newest saved one). Unlike Anthropic Managed Agents, omit environment_id to use the default environment saved in the agent version (light for a new agent), unless computer_id (explicit, or the agent's default) selects a Computer; pass an environment id for a sandbox recipe. For service agents, explicit null allocates no machine, so codemode, bash and other machine tools are unavailable. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Unlike Anthropic Managed Agents, the only inline agent override is system ({type:\"agent_with_overrides\", id, system}); to change the model, tools, MCP servers or skills, save a version instead. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. budget is {type:\"limit\", max_list_cost:{amount, currency:\"USD\"}} where amount is a positive decimal string of US dollars with at most 2 decimal places (\"20.00\" is USD 20.00); omitted budget defaults to \"20.00\" and null removes the limit. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.";
1551
+ readonly description: "Create a session: one conversation with an agent. Pass agent as an agent id or {type:\"agent\", id, version?}; an id alone, or an object without version, pins the agent's active_version (the version chosen with agents.versions.apply, not necessarily the newest saved one). Unlike Anthropic Managed Agents, omit environment_id to use the default environment saved in the agent version (light for a new agent), unless computer_id (explicit, or the agent's default) selects a Computer; pass an environment id for a sandbox recipe. For service agents, explicit null allocates no machine, so codemode, bash and other machine tools are unavailable. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Unlike Anthropic Managed Agents, the only inline agent override is system ({type:\"agent_with_overrides\", id, system}); to change the model, tools, MCP servers or skills, save a version instead. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. budget is {type:\"limit\", max_list_cost:{amount, currency:\"USD\"}} where amount is a positive decimal string of US dollars with at most 2 decimal places (\"20.00\" is USD 20.00); omitted budget defaults to \"20.00\" and null removes the limit. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion. Assume agents return 400 INVALID_PARAMS; drive them over MCP at /agent/v1/agents/{id}/mcp instead.";
1540
1552
  readonly http: "POST";
1541
1553
  readonly path: "/agent/v1/sessions";
1542
1554
  readonly streaming: "no";
@@ -2852,7 +2864,7 @@ export declare const operations: readonly [{
2852
2864
  readonly resource: "application.workers.grants";
2853
2865
  readonly method: "create";
2854
2866
  readonly summary: "Create grant";
2855
- readonly description: "Let this Worker's platform token access one of your databases, folders or knowledge bases.";
2867
+ readonly description: "Record access to an organization-owned database or knowledge base, all organization files (files, id *), or models (models, id *, read only). Each resource and optional alias must be unique within this Worker. Foreign and missing resources both return RESOURCE_NOT_FOUND (404); an unavailable resource service returns PROVIDER_CAPACITY (503, retryable).";
2856
2868
  readonly http: "POST";
2857
2869
  readonly path: "/application/v1/workers/{worker_id}/grants";
2858
2870
  readonly streaming: "no";
@@ -2869,13 +2881,18 @@ export declare const operations: readonly [{
2869
2881
  readonly name: "resource";
2870
2882
  readonly type: "object";
2871
2883
  readonly required: true;
2872
- readonly description: "Resource to grant.";
2884
+ readonly description: "Resource to grant. Each (type, id) may be granted once per Worker; duplicates return GRANT_CONFLICT (409).";
2885
+ }, {
2886
+ readonly name: "alias";
2887
+ readonly type: "string";
2888
+ readonly required: false;
2889
+ readonly description: "Optional name, unique within this Worker. Available for reuse after the grant is deleted.";
2873
2890
  }, {
2874
2891
  readonly name: "access";
2875
2892
  readonly type: "string";
2876
2893
  readonly enum: readonly ["read", "read_write"];
2877
2894
  readonly required: true;
2878
- readonly description: "Access level.";
2895
+ readonly description: "Access level; models accepts read only.";
2879
2896
  }];
2880
2897
  };
2881
2898
  }, {
@@ -3223,7 +3240,7 @@ export declare const operations: readonly [{
3223
3240
  readonly name: "timeout_ms";
3224
3241
  readonly type: "number";
3225
3242
  readonly required: false;
3226
- readonly description: "Positive integer milliseconds; code defaults to and is capped at 30,000. container/shell are not yet available.";
3243
+ readonly description: "Positive integer milliseconds; code defaults to and is capped at 300,000. container/shell are not yet available.";
3227
3244
  }, {
3228
3245
  readonly name: "implementation";
3229
3246
  readonly type: "object";
@@ -3264,7 +3281,7 @@ export declare const operations: readonly [{
3264
3281
  readonly resource: "automation.actions";
3265
3282
  readonly method: "update";
3266
3283
  readonly summary: "Update an action";
3267
- readonly description: "Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to 30000, and message to null. Incompatible normal updates return 422 SCHEMA_INCOMPATIBLE with issues; unchanged contents retain the existing revision.";
3284
+ readonly description: "Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to 300000, and message to null. Incompatible normal updates return 422 SCHEMA_INCOMPATIBLE with issues; unchanged contents retain the existing revision.";
3268
3285
  readonly http: "PUT";
3269
3286
  readonly path: "/automation/v1/actions/{ns}/{name}";
3270
3287
  readonly streaming: "no";
@@ -3321,7 +3338,7 @@ export declare const operations: readonly [{
3321
3338
  readonly name: "timeout_ms";
3322
3339
  readonly type: "number";
3323
3340
  readonly required: false;
3324
- readonly description: "Positive integer milliseconds; code defaults to and is capped at 30,000. container/shell are not yet available.";
3341
+ readonly description: "Positive integer milliseconds; code defaults to and is capped at 300,000. container/shell are not yet available.";
3325
3342
  }, {
3326
3343
  readonly name: "implementation";
3327
3344
  readonly type: "object";
@@ -3847,7 +3864,7 @@ export declare const operations: readonly [{
3847
3864
  readonly resource: "automation.runs";
3848
3865
  readonly method: "create";
3849
3866
  readonly summary: "Run a published target or execute draft source";
3850
- readonly description: "Execute a published script or workflow with target, or test unpublished code directly with source and language (ts for TypeScript, yaml for workflow YAML), without first saving or publishing a definition. Minimal script: `export default async ({ file_id }: { file_id: string }) => { const result = await call(\"ocr\", { document: { type: \"file\", file_id } }); return result; }`; send it as source with language=\"ts\", input={\"file_id\":\"<uploaded file ID>\"} and wait=0, using a PDF or image already uploaded to your account. To call a platform API directly in the same script, use the praxis SDK object, for example `praxis.model.ocr.create({ body: { model: \"glm-ocr\", document: { type: \"file\", file_id } } })`; Action IDs are strings passed to call(), not SDK methods such as praxis.ocr(...). praxis, call, invoke, console and codemode are module-scope bindings, not on globalThis, and need no import; invoke(\"namespace/name\", input) starts a child run. target and source are mutually exclusive; target accepts ns/name@version, @tag or @range and defaults to latest when @ is omitted. Source/input validation precedes run creation, so a separate validate call is optional. input defaults to {} and must match the input schema and fit within 1 MiB. wait is 0–60 seconds (default 0): a terminal run returns 200, otherwise 202. Use the returned id with praxis.automation.runs.retrieve and inspect status, output and error; acceptance does not mean successful completion. For long-running, background or batch work, use wait: 0 and poll the run, or split work into child runs or a workflow; wait only controls the response wait and does not extend execution limits. Actions time out after 30 s (run-sandbox after 10 min); scripts have a 5 min wall-clock limit and a 30 s CPU limit; workflows default to 24 h and allow up to 30 days. Each run can start at most 100 child runs, with at most 20 active at once; nesting depth is limited to 10. Idempotency-Key is scoped to tenant, method and path for 24 hours, excluding wait from the fingerprint; replay returns the current run with Idempotent-Replayed: true, changed contents return 422 and an in-flight request returns 409. With language=yaml, source is a workflow YAML: the run input is . in the first step, and the shape is described in create workflow. Error details are in errors[] (pointer, detail, hint). New non-deterministic run IDs contain 78 characters, compared with 46 for legacy random IDs; treat IDs as opaque strings. Historical and deterministic IDs remain valid; same-millisecond order is not guaranteed.";
3867
+ readonly description: "Execute a published script or workflow with target, or test unpublished code directly with source and language (ts for TypeScript, yaml for workflow YAML), without first saving or publishing a definition. Minimal script: `export default async ({ file_id }: { file_id: string }) => { const result = await call(\"ocr\", { document: { type: \"file\", file_id } }); return result; }`; send it as source with language=\"ts\", input={\"file_id\":\"<uploaded file ID>\"} and wait=0, using a PDF or image already uploaded to your account. To call a platform API directly in the same script, use the praxis SDK object, for example `praxis.model.ocr.create({ body: { model: \"glm-ocr\", document: { type: \"file\", file_id } } })`; Action IDs are strings passed to call(), not SDK methods such as praxis.ocr(...). praxis, call, invoke, console and codemode are module-scope bindings, not on globalThis, and need no import; invoke(\"namespace/name\", input) starts a child run. target and source are mutually exclusive; target accepts ns/name@version, @tag or @range and defaults to latest when @ is omitted. Source/input validation precedes run creation, so a separate validate call is optional. input defaults to {} and must match the input schema and fit within 1 MiB. wait is 0–60 seconds (default 0): a terminal run returns 200, otherwise 202. Use the returned id with praxis.automation.runs.retrieve and inspect status, output and error; acceptance does not mean successful completion. For long-running, background or batch work, use wait: 0 and poll the run, or split work into child runs or a workflow; wait only controls the response wait and does not extend execution limits. Actions time out after 5 min (run-sandbox after 6 h); scripts have a 30 min wall-clock limit and a 30 s CPU limit; workflows default to 24 h and allow up to 30 days. Each run can start at most 1,000 child runs, with at most 100 active at once; nesting depth is limited to 10. Idempotency-Key is scoped to tenant, method and path for 24 hours, excluding wait from the fingerprint; replay returns the current run with Idempotent-Replayed: true, changed contents return 422 and an in-flight request returns 409. With language=yaml, source is a workflow YAML: the run input is . in the first step, and the shape is described in create workflow. Error details are in errors[] (pointer, detail, hint). New non-deterministic run IDs contain 78 characters, compared with 46 for legacy random IDs; treat IDs as opaque strings. Historical and deterministic IDs remain valid; same-millisecond order is not guaranteed.";
3851
3868
  readonly http: "POST";
3852
3869
  readonly path: "/automation/v1/runs";
3853
3870
  readonly streaming: "no";
@@ -4457,6 +4474,80 @@ export declare const operations: readonly [{
4457
4474
  readonly required: false;
4458
4475
  readonly fields: readonly [];
4459
4476
  };
4477
+ }, {
4478
+ readonly resource: "automation.scripts.vaults";
4479
+ readonly method: "list";
4480
+ readonly summary: "List script vault bindings";
4481
+ readonly description: "Inspect the whole vaults attached to a saved script, including archived definitions, without reading secret values. Obtain ns and name from automation.scripts.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.";
4482
+ readonly http: "GET";
4483
+ readonly path: "/automation/v1/scripts/{ns}/{name}/vaults";
4484
+ readonly streaming: "no";
4485
+ readonly pagination: false;
4486
+ readonly pathParams: readonly [{
4487
+ readonly name: "ns";
4488
+ readonly sdkName: "ns";
4489
+ readonly description: "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions.";
4490
+ }, {
4491
+ readonly name: "name";
4492
+ readonly sdkName: "name";
4493
+ readonly description: "Resource name from automation.scripts.list or create; combine with ns to identify the saved script.";
4494
+ }];
4495
+ readonly query: readonly [];
4496
+ }, {
4497
+ readonly resource: "automation.scripts.vaults";
4498
+ readonly method: "delete";
4499
+ readonly summary: "Delete a script vault binding";
4500
+ readonly description: "Remove the vault assignment from this saved script without deleting the vault or its secrets. Obtain aliases from automation.scripts.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.";
4501
+ readonly http: "DELETE";
4502
+ readonly path: "/automation/v1/scripts/{ns}/{name}/vaults/{alias}";
4503
+ readonly streaming: "no";
4504
+ readonly pagination: false;
4505
+ readonly pathParams: readonly [{
4506
+ readonly name: "ns";
4507
+ readonly sdkName: "ns";
4508
+ readonly description: "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions.";
4509
+ }, {
4510
+ readonly name: "name";
4511
+ readonly sdkName: "name";
4512
+ readonly description: "Resource name from automation.scripts.list or create; combine with ns to identify the saved script.";
4513
+ }, {
4514
+ readonly name: "alias";
4515
+ readonly sdkName: "alias";
4516
+ readonly description: "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter.";
4517
+ }];
4518
+ readonly query: readonly [];
4519
+ }, {
4520
+ readonly resource: "automation.scripts.vaults";
4521
+ readonly method: "set";
4522
+ readonly summary: "Set a script vault binding";
4523
+ readonly description: "Attach an entire active vault in your organization to a saved script, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {\"vault\":\"Production\"}.";
4524
+ readonly http: "PUT";
4525
+ readonly path: "/automation/v1/scripts/{ns}/{name}/vaults/{alias}";
4526
+ readonly streaming: "no";
4527
+ readonly pagination: false;
4528
+ readonly pathParams: readonly [{
4529
+ readonly name: "ns";
4530
+ readonly sdkName: "ns";
4531
+ readonly description: "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions.";
4532
+ }, {
4533
+ readonly name: "name";
4534
+ readonly sdkName: "name";
4535
+ readonly description: "Resource name from automation.scripts.list or create; combine with ns to identify the saved script.";
4536
+ }, {
4537
+ readonly name: "alias";
4538
+ readonly sdkName: "alias";
4539
+ readonly description: "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter.";
4540
+ }];
4541
+ readonly query: readonly [];
4542
+ readonly body: {
4543
+ readonly required: true;
4544
+ readonly fields: readonly [{
4545
+ readonly name: "vault";
4546
+ readonly type: "string";
4547
+ readonly required: true;
4548
+ readonly description: "Active vault ID or exact display name from praxis.vault.vaults.list in your organization. Use an ID if display names are duplicated.";
4549
+ }];
4550
+ };
4460
4551
  }, {
4461
4552
  readonly resource: "automation.scripts.versions";
4462
4553
  readonly method: "list";
@@ -5094,7 +5185,7 @@ export declare const operations: readonly [{
5094
5185
  readonly resource: "automation.workflows";
5095
5186
  readonly method: "create";
5096
5187
  readonly summary: "Create a workflow";
5097
- readonly description: "Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax. Save a YAML workflow as an editable draft; this does not validate, publish or run it, so check it with validate (kind=workflow) first. Minimal draft: document with dsl (\"1.0.3\"), namespace, name and version, plus a do list of steps, for example document: {dsl: \"1.0.3\", namespace: demo, name: add, version: \"1.0.0\"} and do: [{first: {call: demo/add-one, with: {n: \"${ .n }\"}}}]. call: <ns/name> calls an Action directly (bare name for built-ins such as ocr) and with is the Action input; the input contract is at current_revision.input_schema in the get-action response. run: starts a saved script or child workflow. The run input is . in the first step, and expressions are jq written as a whole ${ ... } string. Limits: Action 30 s (run-sandbox 10 min), workflow 24 h by default and 30 days at most, payload 1 MiB. Test the draft by sending its source and language=yaml to praxis.automation.runs.create. Guide: /docs/developers/automation/guides/write-workflow. Error details are in the errors[] of the response (pointer, detail, hint). Choose your own namespace without registering it first; praxis is reserved for built-in Actions. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. run.workflow accepts ns/name@range or {namespace, name, version, input}; run.script uses the same reference shape as a platform extension. Object namespace, name and version are required; version accepts an exact version, dist-tag or range, locked at publication. Object input defaults to {} and supports expressions; string references retain task-level with. run.await defaults to true and returns the child output. With false, the child uses detach and the task immediately returns {run_id}; parent cancellation does not cascade. Inline script.code returns DEFINITION_INVALID with a detail asking you to save a script and reference it first. raise.error retains its type URI, status, title and detail in the run error.";
5188
+ readonly description: "Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax. Save a YAML workflow as an editable draft; this does not validate, publish or run it, so check it with validate (kind=workflow) first. Minimal draft: document with dsl (\"1.0.3\"), namespace, name and version, plus a do list of steps, for example document: {dsl: \"1.0.3\", namespace: demo, name: add, version: \"1.0.0\"} and do: [{first: {call: demo/add-one, with: {n: \"${ .n }\"}}}]. call: <ns/name> calls an Action directly (bare name for built-ins such as ocr) and with is the Action input; the input contract is at current_revision.input_schema in the get-action response. run: starts a saved script or child workflow. The run input is . in the first step, and expressions are jq written as a whole ${ ... } string. Limits: Action 5 min (run-sandbox 6 h), workflow 24 h by default and 30 days at most, payload 1 MiB. Test the draft by sending its source and language=yaml to praxis.automation.runs.create. To pause for a person, call praxis/approval (it opens a human task; the step output is the decision); agents answer with praxis.automation.humanTasks.respond on behalf of their user. Guide: /docs/developers/automation/guides/approvals Guide: /docs/developers/automation/guides/write-workflow. Error details are in the errors[] of the response (pointer, detail, hint). Choose your own namespace without registering it first; praxis is reserved for built-in Actions. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. run.workflow accepts ns/name@range or {namespace, name, version, input}; run.script uses the same reference shape as a platform extension. Object namespace, name and version are required; version accepts an exact version, dist-tag or range, locked at publication. Object input defaults to {} and supports expressions; string references retain task-level with. run.await defaults to true and returns the child output. With false, the child uses detach and the task immediately returns {run_id}; parent cancellation does not cascade. Inline script.code returns DEFINITION_INVALID with a detail asking you to save a script and reference it first. raise.error retains its type URI, status, title and detail in the run error.";
5098
5189
  readonly http: "POST";
5099
5190
  readonly path: "/automation/v1/workflows";
5100
5191
  readonly streaming: "no";
@@ -5307,6 +5398,80 @@ export declare const operations: readonly [{
5307
5398
  readonly required: false;
5308
5399
  readonly fields: readonly [];
5309
5400
  };
5401
+ }, {
5402
+ readonly resource: "automation.workflows.vaults";
5403
+ readonly method: "list";
5404
+ readonly summary: "List workflow vault bindings";
5405
+ readonly description: "Inspect the whole vaults attached to a saved workflow, including archived definitions, without reading secret values. Obtain ns and name from automation.workflows.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.";
5406
+ readonly http: "GET";
5407
+ readonly path: "/automation/v1/workflows/{ns}/{name}/vaults";
5408
+ readonly streaming: "no";
5409
+ readonly pagination: false;
5410
+ readonly pathParams: readonly [{
5411
+ readonly name: "ns";
5412
+ readonly sdkName: "ns";
5413
+ readonly description: "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions.";
5414
+ }, {
5415
+ readonly name: "name";
5416
+ readonly sdkName: "name";
5417
+ readonly description: "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow.";
5418
+ }];
5419
+ readonly query: readonly [];
5420
+ }, {
5421
+ readonly resource: "automation.workflows.vaults";
5422
+ readonly method: "delete";
5423
+ readonly summary: "Delete a workflow vault binding";
5424
+ readonly description: "Remove the vault assignment from this saved workflow without deleting the vault or its secrets. Obtain aliases from automation.workflows.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.";
5425
+ readonly http: "DELETE";
5426
+ readonly path: "/automation/v1/workflows/{ns}/{name}/vaults/{alias}";
5427
+ readonly streaming: "no";
5428
+ readonly pagination: false;
5429
+ readonly pathParams: readonly [{
5430
+ readonly name: "ns";
5431
+ readonly sdkName: "ns";
5432
+ readonly description: "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions.";
5433
+ }, {
5434
+ readonly name: "name";
5435
+ readonly sdkName: "name";
5436
+ readonly description: "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow.";
5437
+ }, {
5438
+ readonly name: "alias";
5439
+ readonly sdkName: "alias";
5440
+ readonly description: "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter.";
5441
+ }];
5442
+ readonly query: readonly [];
5443
+ }, {
5444
+ readonly resource: "automation.workflows.vaults";
5445
+ readonly method: "set";
5446
+ readonly summary: "Set a workflow vault binding";
5447
+ readonly description: "Attach an entire active vault in your organization to a saved workflow, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {\"vault\":\"Production\"}.";
5448
+ readonly http: "PUT";
5449
+ readonly path: "/automation/v1/workflows/{ns}/{name}/vaults/{alias}";
5450
+ readonly streaming: "no";
5451
+ readonly pagination: false;
5452
+ readonly pathParams: readonly [{
5453
+ readonly name: "ns";
5454
+ readonly sdkName: "ns";
5455
+ readonly description: "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions.";
5456
+ }, {
5457
+ readonly name: "name";
5458
+ readonly sdkName: "name";
5459
+ readonly description: "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow.";
5460
+ }, {
5461
+ readonly name: "alias";
5462
+ readonly sdkName: "alias";
5463
+ readonly description: "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter.";
5464
+ }];
5465
+ readonly query: readonly [];
5466
+ readonly body: {
5467
+ readonly required: true;
5468
+ readonly fields: readonly [{
5469
+ readonly name: "vault";
5470
+ readonly type: "string";
5471
+ readonly required: true;
5472
+ readonly description: "Active vault ID or exact display name from praxis.vault.vaults.list in your organization. Use an ID if display names are duplicated.";
5473
+ }];
5474
+ };
5310
5475
  }, {
5311
5476
  readonly resource: "automation.workflows.versions";
5312
5477
  readonly method: "list";
@@ -5903,105 +6068,94 @@ export declare const operations: readonly [{
5903
6068
  }];
5904
6069
  };
5905
6070
  }, {
5906
- readonly resource: "database.databases";
6071
+ readonly resource: "canvas.canvases";
5907
6072
  readonly method: "list";
5908
- readonly summary: "List databases";
5909
- readonly description: "Find databases owned by your tenant and obtain their ids for schema or row operations. Excludes deleting by default. status=active or status=deleting selects that state; invalid values return 400 INVALID_PARAMS.";
6073
+ readonly summary: "List canvases";
6074
+ readonly description: "Discover canvases in the API key's organization and obtain ids for retrieval or editing. Results are ordered by updated_at from newest to oldest. limit is 1–100 and defaults to 50; omit cursor for the first page, then copy next_cursor into the next request until it is null. Deleted canvases are unavailable.";
5910
6075
  readonly http: "GET";
5911
- readonly path: "/database/v1/databases";
6076
+ readonly path: "/canvas/v1/canvases";
5912
6077
  readonly streaming: "no";
5913
6078
  readonly pagination: true;
5914
6079
  readonly pathParams: readonly [];
5915
6080
  readonly query: readonly [{
5916
- readonly name: "cursor";
5917
- readonly type: "string";
5918
- readonly required: false;
5919
- readonly description: "Opaque next_cursor from the previous page.";
5920
- }, {
5921
6081
  readonly name: "limit";
5922
6082
  readonly type: "integer";
5923
6083
  readonly required: false;
5924
- readonly description: "Page size.";
6084
+ readonly description: "Maximum canvases to return per page, from 1 to 100; defaults to 50 when omitted.";
5925
6085
  }, {
5926
- readonly name: "labels";
5927
- readonly type: "object";
6086
+ readonly name: "cursor";
6087
+ readonly type: "string";
5928
6088
  readonly required: false;
5929
- readonly description: "Exact label match, encoded as labels[purpose]=docs.";
6089
+ readonly description: "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.";
5930
6090
  }, {
5931
- readonly name: "status";
6091
+ readonly name: "collection_id";
5932
6092
  readonly type: "string";
5933
- readonly enum: readonly ["active", "deleting"];
5934
6093
  readonly required: false;
5935
- readonly description: "Filter by lifecycle state. active (the default when omitted) lists usable databases; deleting lists databases that were deleted and are still inside the seven-day restore window. Any other value returns 400 INVALID_PARAMS.";
6094
+ readonly description: "Filter to a collection id from collections.list, or the literal none for uncategorized canvases. Omit to list all canvases; keep the same filter when following next_cursor.";
5936
6095
  }];
5937
6096
  }, {
5938
- readonly resource: "database.databases";
6097
+ readonly resource: "canvas.canvases";
5939
6098
  readonly method: "create";
5940
- readonly summary: "Create database";
5941
- readonly description: "Creates an empty database for the caller and returns it with status active (HTTP 201); add tables next with praxis.database.databases.tables.create. name is required and is 1–64 visible characters after trimming. labels are optional string tags (at most 64; each key starts with a lowercase letter and uses up to 63 characters of a-z 0-9 _ -; each value is up to 63 characters of a-z 0-9 _ -) that databaseListDatabases can filter on. If initialization fails the call returns 503 CAPACITY and the half-created database is left with status failed; retry by calling create again, which makes a new database. Unlike Supabase, this creates a SQLite-backed database without a PostgreSQL connection or SQL execution endpoint. Use a Praxis credential; access is scoped to its tenant, not to Supabase Auth users or RLS policies.";
6099
+ readonly summary: "Create canvas";
6100
+ readonly description: "Create a blank design canvas in the API key's organization before drawing with praxis.canvas.canvases.execute. Send an optional name of at most 200 characters; omitting name uses Untitled. Each successful call creates a new canvas and returns its id and viewer_url with HTTP 201; save the id for subsequent reads, edits and deletion.";
5942
6101
  readonly http: "POST";
5943
- readonly path: "/database/v1/databases";
6102
+ readonly path: "/canvas/v1/canvases";
5944
6103
  readonly streaming: "no";
5945
6104
  readonly pagination: false;
5946
6105
  readonly pathParams: readonly [];
5947
6106
  readonly query: readonly [];
5948
6107
  readonly body: {
5949
- readonly required: true;
6108
+ readonly required: false;
5950
6109
  readonly fields: readonly [{
5951
6110
  readonly name: "name";
5952
6111
  readonly type: "string";
5953
- readonly required: true;
5954
- readonly description: "Display name for the database: 1–64 visible characters after trimming; control characters are rejected. It is not an identifier, so later calls still use the returned id.";
5955
- }, {
5956
- readonly name: "labels";
5957
- readonly type: "object";
5958
6112
  readonly required: false;
5959
- readonly description: "Optional string tags to attach, at most 64. Each key starts with a lowercase letter and may use up to 63 characters of a-z 0-9 _ -; each value is up to 63 characters of a-z 0-9 _ -. List calls filter on exact key and value pairs.";
6113
+ readonly description: "Display name for the new canvas, at most 200 characters; omission uses Untitled.";
5960
6114
  }];
5961
6115
  };
5962
6116
  }, {
5963
- readonly resource: "database.databases";
6117
+ readonly resource: "canvas.canvases";
5964
6118
  readonly method: "delete";
5965
- readonly summary: "Delete database";
5966
- readonly description: "Soft-delete a database when it should stop accepting schema and row operations. Idempotently enters deleting with a seven-day purge_at. GET remains available; child operations return 409 until restored.";
6119
+ readonly summary: "Delete canvas";
6120
+ readonly description: "Permanently delete a canvas and its design content when it is no longer needed. Obtain canvas_id from create or list and confirm the target before calling; deletion cannot be undone. HTTP 200 confirms deletion with deleted=true. Subsequent access returns CANVAS_NOT_FOUND, as it does for a missing canvas or one outside the API key's organization.";
5967
6121
  readonly http: "DELETE";
5968
- readonly path: "/database/v1/databases/{database_id}";
6122
+ readonly path: "/canvas/v1/canvases/{canvas_id}";
5969
6123
  readonly streaming: "no";
5970
6124
  readonly pagination: false;
5971
6125
  readonly pathParams: readonly [{
5972
- readonly name: "database_id";
5973
- readonly sdkName: "database_id";
5974
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6126
+ readonly name: "canvas_id";
6127
+ readonly sdkName: "canvas_id";
6128
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
5975
6129
  }];
5976
6130
  readonly query: readonly [];
5977
6131
  }, {
5978
- readonly resource: "database.databases";
6132
+ readonly resource: "canvas.canvases";
5979
6133
  readonly method: "retrieve";
5980
- readonly summary: "Get database";
5981
- readonly description: "Returns one database by id, including a database in the deleting state (purge_at then shows when it will be permanently removed). Call it before table or row operations to confirm status is active: schema and row calls on a deleting database return 409 DATABASE_INVALID_STATE. size_bytes is refreshed from live storage at most once every five seconds. A purged or unknown id returns 404 DATABASE_NOT_FOUND.";
6134
+ readonly summary: "Retrieve canvas";
6135
+ readonly description: "Inspect the current canvas before editing, like Pencil get_app_state. The response adds top-level node summaries in canvas order and reusable component ids to the canvas metadata. Use these ids in nodes.list, images.list or an execute script; use the returned version as expected_version to detect concurrent edits. Read full node content with nodes.list rather than guessing fields from these summaries.";
5982
6136
  readonly http: "GET";
5983
- readonly path: "/database/v1/databases/{database_id}";
6137
+ readonly path: "/canvas/v1/canvases/{canvas_id}";
5984
6138
  readonly streaming: "no";
5985
6139
  readonly pagination: false;
5986
6140
  readonly pathParams: readonly [{
5987
- readonly name: "database_id";
5988
- readonly sdkName: "database_id";
5989
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6141
+ readonly name: "canvas_id";
6142
+ readonly sdkName: "canvas_id";
6143
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
5990
6144
  }];
5991
6145
  readonly query: readonly [];
5992
6146
  }, {
5993
- readonly resource: "database.databases";
6147
+ readonly resource: "canvas.canvases";
5994
6148
  readonly method: "update";
5995
- readonly summary: "Update database";
5996
- readonly description: "Renames an active database and/or replaces its labels; send only the keys you want to change. labels is replaced as a whole, not merged, so include every label you want to keep. A body without name or labels, or with values equal to the current ones, changes nothing and leaves updated_at as is. A database in the deleting state returns 409 DATABASE_INVALID_STATE; restore it first with databaseRestoreDatabase.";
6149
+ readonly summary: "Update canvas";
6150
+ readonly description: "Rename a canvas or move it to a collection without editing its design content. Use a canvas id from canvases.list and a collection id from collections.list. Send collection_id=null to make it uncategorized; omit either field to preserve its current value. A canvas belongs to at most one collection. The destination must belong to your organization. Renaming keeps the canvas version unchanged.";
5997
6151
  readonly http: "PATCH";
5998
- readonly path: "/database/v1/databases/{database_id}";
6152
+ readonly path: "/canvas/v1/canvases/{canvas_id}";
5999
6153
  readonly streaming: "no";
6000
6154
  readonly pagination: false;
6001
6155
  readonly pathParams: readonly [{
6002
- readonly name: "database_id";
6003
- readonly sdkName: "database_id";
6004
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6156
+ readonly name: "canvas_id";
6157
+ readonly sdkName: "canvas_id";
6158
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6005
6159
  }];
6006
6160
  readonly query: readonly [];
6007
6161
  readonly body: {
@@ -6010,109 +6164,2387 @@ export declare const operations: readonly [{
6010
6164
  readonly name: "name";
6011
6165
  readonly type: "string";
6012
6166
  readonly required: false;
6013
- readonly description: "New display name, 1–64 visible characters after trimming. Omit it to keep the current name.";
6167
+ readonly description: "New canvas display name; surrounding whitespace is trimmed, blank names use Untitled, and omission preserves the current name.";
6014
6168
  }, {
6015
- readonly name: "labels";
6016
- readonly type: "object";
6169
+ readonly name: "collection_id";
6170
+ readonly type: "string";
6017
6171
  readonly required: false;
6018
- readonly description: "Complete replacement label set, not a merge: labels not listed here are removed. Same limits as at creation (at most 64; keys a-z 0-9 _ - starting with a letter; values up to 63 characters of a-z 0-9 _ -). Omit it to keep the current labels.";
6172
+ readonly description: "Move to this collection id from collections.list; null removes the canvas from its collection. Omission preserves the current assignment.";
6019
6173
  }];
6020
6174
  };
6021
6175
  }, {
6022
- readonly resource: "database.databases.events";
6176
+ readonly resource: "canvas.canvases.images";
6023
6177
  readonly method: "list";
6024
- readonly summary: "List events";
6025
- readonly description: "Read lifecycle and schema events, including while the database is deleting. next_cursor is an opaque string cursor (do not do arithmetic on it): pass it as after_seq for asc or before_seq for desc. Supplying both cursors returns 400 INVALID_PARAMS. Unlike Supabase Realtime, this is paged lifecycle and schema history, not a subscription or a row-change feed; row inserts, updates and deletes do not appear here.";
6178
+ readonly summary: "Render canvas nodes";
6179
+ readonly description: "Render 1–4 nodes to inspect the visual result of a design edit. Use ids from retrieve, execute.created or execute.screenshots; scale defaults to 1 and accepts 0.25–4, and png is the only supported format. Unlike Figma, images contains inline data:image/png;base64,... URLs, not hosted image URLs; a null entry means no image is available for that id. Use nodes.list for editable node content instead of pixels.";
6026
6180
  readonly http: "GET";
6027
- readonly path: "/database/v1/databases/{database_id}/events";
6181
+ readonly path: "/canvas/v1/canvases/{canvas_id}/images";
6028
6182
  readonly streaming: "no";
6029
6183
  readonly pagination: false;
6030
6184
  readonly pathParams: readonly [{
6031
- readonly name: "database_id";
6032
- readonly sdkName: "database_id";
6033
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6185
+ readonly name: "canvas_id";
6186
+ readonly sdkName: "canvas_id";
6187
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6034
6188
  }];
6035
6189
  readonly query: readonly [{
6036
- readonly name: "after_seq";
6037
- readonly type: "integer";
6038
- readonly required: false;
6039
- readonly description: "With order=asc, return only events with seq greater than this value. Cannot be combined with before_seq.";
6040
- }, {
6041
- readonly name: "limit";
6042
- readonly type: "integer";
6190
+ readonly name: "version";
6191
+ readonly type: "string";
6043
6192
  readonly required: false;
6044
- readonly description: "Page size.";
6193
+ readonly description: "Decimal version from versions.list, or its earliest_restorable_version, for a read-only historical snapshot; omit to read current state. Unavailable versions return VERSION_NOT_FOUND.";
6045
6194
  }, {
6046
- readonly name: "order";
6195
+ readonly name: "ids";
6047
6196
  readonly type: "string";
6048
- readonly enum: readonly ["asc", "desc"];
6197
+ readonly required: true;
6198
+ readonly description: "Comma-separated list of 1–4 node ids to render, from retrieve, execute.created or execute.screenshots.";
6199
+ }, {
6200
+ readonly name: "scale";
6201
+ readonly type: "number";
6049
6202
  readonly required: false;
6050
- readonly description: "Sequence order: asc or desc (newest first). Defaults to asc, or to desc when before_seq is supplied.";
6203
+ readonly description: "Output pixel scale relative to canvas dimensions, from 0.25 to 4 inclusive; defaults to 1 when omitted.";
6051
6204
  }, {
6052
- readonly name: "before_seq";
6053
- readonly type: "integer";
6205
+ readonly name: "format";
6206
+ readonly type: "string";
6207
+ readonly enum: readonly ["png"];
6054
6208
  readonly required: false;
6055
- readonly description: "Return only events with seq less than this value, newest first; implies order=desc when order is omitted. Cannot be combined with after_seq or order=asc.";
6056
- }];
6057
- }, {
6058
- readonly resource: "database.databases.purge";
6059
- readonly method: "create";
6060
- readonly summary: "Permanently purge database";
6061
- readonly description: "Immediately and irreversibly purges a deleting database. Active databases return 409; absent or already purged databases return 404.";
6062
- readonly http: "POST";
6063
- readonly path: "/database/v1/databases/{database_id}/purge";
6064
- readonly streaming: "no";
6065
- readonly pagination: false;
6066
- readonly pathParams: readonly [{
6067
- readonly name: "database_id";
6068
- readonly sdkName: "database_id";
6069
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6209
+ readonly description: "Image encoding; png produces a PNG data URL and is the only supported value. Omit to use png.";
6070
6210
  }];
6071
- readonly query: readonly [];
6072
6211
  }, {
6073
- readonly resource: "database.databases.rest";
6074
- readonly method: "delete";
6075
- readonly summary: "Delete rows";
6076
- readonly description: "Deletes the rows matched by the filter query parameters (the same filters as databaseSelect); with no filter every row of the table matches. Deletion is immediate and cannot be undone. A row that a link field of another table still references makes the whole call fail with 409 REFERENCE_RESTRICT and nothing is deleted. The default response is 204 with no body; send Prefer: return=representation to get HTTP 200 with the deleted rows.";
6077
- readonly http: "DELETE";
6078
- readonly path: "/database/v1/databases/{database_id}/rest/{table}";
6212
+ readonly resource: "canvas.canvases.nodes";
6213
+ readonly method: "list";
6214
+ readonly summary: "Read canvas nodes";
6215
+ readonly description: "Read node documents for inspection before changing individual nodes. Supply 1–100 comma-separated node ids from retrieve or execute, or instance paths such as a/b. depth is an integer at least 0; omit it for complete subtrees. Each requested id maps to a document wrapper or null if absent. Unlike Figma, document contains a Pencil .pen 2.21 node, not a Figma node. For top-level summaries use canvases.retrieve; for pixels use images.list.";
6216
+ readonly http: "GET";
6217
+ readonly path: "/canvas/v1/canvases/{canvas_id}/nodes";
6079
6218
  readonly streaming: "no";
6080
6219
  readonly pagination: false;
6081
6220
  readonly pathParams: readonly [{
6082
- readonly name: "database_id";
6083
- readonly sdkName: "database_id";
6084
- readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
6085
- }, {
6086
- readonly name: "table";
6087
- readonly sdkName: "table";
6088
- readonly description: "table ID or name.";
6221
+ readonly name: "canvas_id";
6222
+ readonly sdkName: "canvas_id";
6223
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6089
6224
  }];
6090
6225
  readonly query: readonly [{
6091
- readonly name: "select";
6226
+ readonly name: "version";
6092
6227
  readonly type: "string";
6093
6228
  readonly required: false;
6094
- readonly description: "Comma-separated columns; supports *, aliases, JSON paths and link-based embedding. Casts, aggregates, spread and join modifiers are unsupported.";
6229
+ readonly description: "Decimal version from versions.list, or its earliest_restorable_version, for a read-only historical snapshot; omit to read current state. Unavailable versions return VERSION_NOT_FOUND.";
6095
6230
  }, {
6096
- readonly name: "{column}";
6231
+ readonly name: "ids";
6097
6232
  readonly type: "string";
6098
- readonly required: false;
6099
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
6233
+ readonly required: true;
6234
+ readonly description: "Comma-separated list of 1–100 node ids from retrieve or execute, or instance paths such as a/b; missing ids map to null.";
6100
6235
  }, {
6101
- readonly name: "and";
6102
- readonly type: "string";
6236
+ readonly name: "depth";
6237
+ readonly type: "integer";
6103
6238
  readonly required: false;
6104
- readonly description: "Parenthesized conditions, e.g. (done.eq.false,title.neq.draft).";
6105
- }, {
6106
- readonly name: "or";
6107
- readonly type: "string";
6239
+ readonly description: "Maximum child depth below each requested node, as an integer at least 0; 0 returns the node without descendants, and omission returns the complete subtree.";
6240
+ }];
6241
+ }, {
6242
+ readonly resource: "canvas.canvases.versions";
6243
+ readonly method: "list";
6244
+ readonly summary: "List canvas versions";
6245
+ readonly description: "Inspect retained edits before restoring a canvas or reading historical nodes and images. Supply a canvas_id from canvases.list or create. Results include successful execute, import and restore commits since history was enabled, newest first. limit is 1–100 and defaults to 30; pass next_cursor as cursor until it is null. All versions from the last 30 days are retained unless the 256 MiB history budget requires pruning; the newest 100 versions are always retained regardless of age or size. earliest_restorable_version is the oldest readable and restorable version, including the state immediately before the first retained commit; null means no history has been recorded. Listing does not change the canvas.";
6246
+ readonly http: "GET";
6247
+ readonly path: "/canvas/v1/canvases/{canvas_id}/versions";
6248
+ readonly streaming: "no";
6249
+ readonly pagination: false;
6250
+ readonly pathParams: readonly [{
6251
+ readonly name: "canvas_id";
6252
+ readonly sdkName: "canvas_id";
6253
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6254
+ }];
6255
+ readonly query: readonly [{
6256
+ readonly name: "limit";
6257
+ readonly type: "integer";
6108
6258
  readonly required: false;
6109
- readonly description: "Parenthesized alternatives; not.and and not.or are also supported.";
6259
+ readonly description: "Maximum commits to return, from 1 to 100 inclusive; omission uses 30.";
6110
6260
  }, {
6111
- readonly name: "not.and";
6261
+ readonly name: "cursor";
6112
6262
  readonly type: "string";
6113
6263
  readonly required: false;
6114
- readonly description: "Negated conjunction.";
6115
- }, {
6264
+ readonly description: "Copy next_cursor from the preceding page to continue toward older commits; omit for the first page.";
6265
+ }];
6266
+ }, {
6267
+ readonly resource: "canvas.canvases";
6268
+ readonly method: "execute";
6269
+ readonly summary: "Execute canvas script";
6270
+ readonly description: "Draw or edit a canvas atomically with a synchronous Pencil execute script. First create a canvas with praxis.canvas.canvases.create and use its id as canvas_id; inspect an existing canvas with retrieve before modifying it. Send exactly one of script (new source) or edit_id (a failed script to patch using edits). Unlike Figma REST, :execute writes design content; nodes use Pencil .pen schema 2.21 (frame/group/rectangle/ellipse/polygon/path/text/icon/ref/note), not Figma node fields.\n\nThe root variable is document. Synchronous functions are Insert / Copy / Update / Replace / Move / Delete / SetVariables / Get / GetVariables / FindEmptySpace / Print / TakeScreenshot; globals persist for the next call. A first frame needs only this body.script:\n\n```js\nconst f = Insert(document, { type: \"frame\", name: \"Hero\", width: 1200, layout: \"vertical\", padding: 48, fill: \"#FFFFFF\" }); Insert(f, { type: \"text\", content: \"Hello\", fontSize: 32, fill: \"#111111\" }); Print(f)\n```\n\nInsert/Copy return the new node id; read the copy with Get(id) — copied descendants get new ids, so change them through Copy's third argument `descendants` keyed by the source node ids. To copy a page and change its title in the same script:\n\n```js canvas-example=\"copy-page\"\nconst page = Insert(document, {type:\"frame\",name:\"Original\",width:320,height:160,layout:\"vertical\",padding:16});\nconst title = Insert(page, {type:\"text\",name:\"Title\",content:\"Original\",fontSize:24});\nconst copy = Copy(page, document, {name:\"Copy\",x:360,descendants:{[title]:{content:\"Updated\"}}});\nPrint(copy); Print(Get(copy).children[0].content);\n```\n\nUse viewer_url to watch the result in Console. TakeScreenshot records node ids in screenshots; call images.list with those ids to fetch PNG data URLs. See the [Canvas execute reference](https://deepraxis.com/en/docs/api/native/canvas/execute) for request fields and results, and the [Canvas node reference](https://deepraxis.com/en/docs/developers/canvas/nodes) for node content.\n\nA successful write increments version by one. Optionally set expected_version to the version from retrieve or nodes.list; on 409 REVISION_CONFLICT read again, merge your intent and retry with the current version. Every script failure rolls back all writes. On 400 SCRIPT_ERROR, SCRIPT_LIMIT or OPS_REJECTED, use error.details.edit_id plus edits to repair and rerun the stored source without resending the entire script; details may include line, column and rejection. On 400 EDIT_EXPIRED the saved script is older than ten minutes: submit a corrected new script. On 429 CANVAS_BUSY, more than four calls are queued for this canvas: wait for pending calls before retrying.\n\nExecution errors include error.details.prints containing output printed before failure, with the same string-array shape and output limit as successful prints; rolled-back writes still create no version.\n";
6271
+ readonly http: "POST";
6272
+ readonly path: "/canvas/v1/canvases/{canvas_id}:execute";
6273
+ readonly streaming: "no";
6274
+ readonly pagination: false;
6275
+ readonly pathParams: readonly [{
6276
+ readonly name: "canvas_id";
6277
+ readonly sdkName: "canvas_id";
6278
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6279
+ }];
6280
+ readonly query: readonly [];
6281
+ readonly body: {
6282
+ readonly required: true;
6283
+ readonly fields: readonly [{
6284
+ readonly name: "script";
6285
+ readonly type: "string";
6286
+ readonly required: false;
6287
+ readonly description: "New synchronous Pencil execute source using document as the root; provide this or edit_id, never both. See the operation's first-frame example.";
6288
+ }, {
6289
+ readonly name: "edit_id";
6290
+ readonly type: "string";
6291
+ readonly required: false;
6292
+ readonly description: "Saved failed-script identifier from error.details.edit_id; use with edits instead of script within ten minutes of the failure.";
6293
+ }, {
6294
+ readonly name: "edits";
6295
+ readonly type: "array";
6296
+ readonly itemType: "object";
6297
+ readonly required: false;
6298
+ readonly description: "Text replacements applied to the source identified by edit_id before rerunning; use error line, column or rejection to choose the correction.";
6299
+ }, {
6300
+ readonly name: "expected_version";
6301
+ readonly type: "string";
6302
+ readonly required: false;
6303
+ readonly description: "Revision from retrieve, nodes.list or the previous execute response; omit for an unguarded write. A mismatch returns 409 REVISION_CONFLICT with details.version.";
6304
+ }];
6305
+ };
6306
+ }, {
6307
+ readonly resource: "canvas.canvases";
6308
+ readonly method: "restore";
6309
+ readonly summary: "Restore canvas version";
6310
+ readonly description: "Recover a canvas after an unwanted edit by restoring a retained version from versions.list or its earliest_restorable_version. This replaces current nodes, variables and themes with the target state and creates one new version; history remains available, so restoring can itself be undone with another restore. Restoring the current version succeeds without creating a version. Optionally guard the write with expected_version from retrieve or nodes.list; if it is stale, inspect current state and retry with the new value. Repeating an unguarded request after another edit can create another restore version. Versions from before history was enabled or outside retention cannot be recovered. Connected viewers resync after a successful restore.";
6311
+ readonly http: "POST";
6312
+ readonly path: "/canvas/v1/canvases/{canvas_id}:restore";
6313
+ readonly streaming: "no";
6314
+ readonly pagination: false;
6315
+ readonly pathParams: readonly [{
6316
+ readonly name: "canvas_id";
6317
+ readonly sdkName: "canvas_id";
6318
+ readonly description: "Canvas id returned by create or list, in the form cvs_ followed by 16 lowercase letters or digits; a display name is not accepted.";
6319
+ }];
6320
+ readonly query: readonly [];
6321
+ readonly body: {
6322
+ readonly required: true;
6323
+ readonly fields: readonly [{
6324
+ readonly name: "version";
6325
+ readonly type: "string";
6326
+ readonly required: true;
6327
+ readonly description: "Historical target from versions.list or earliest_restorable_version; restoring the current version creates no new commit.";
6328
+ }, {
6329
+ readonly name: "expected_version";
6330
+ readonly type: "string";
6331
+ readonly required: false;
6332
+ readonly description: "Current version from retrieve or nodes.list to guard against concurrent edits; omission applies the restore to whichever version is current.";
6333
+ }];
6334
+ };
6335
+ }, {
6336
+ readonly resource: "canvas.collections";
6337
+ readonly method: "list";
6338
+ readonly summary: "List collections";
6339
+ readonly description: "Find collections and ids for filtering or moving canvases. All organization collections are returned in name order in one response; next_cursor is always null. canvas_count excludes deleted canvases. total_count counts all live canvases, rather than collections, and uncategorized_count counts live canvases without a collection. Use canvases.list with collection_id to read a collection or none to read uncategorized canvases.";
6340
+ readonly http: "GET";
6341
+ readonly path: "/canvas/v1/collections";
6342
+ readonly streaming: "no";
6343
+ readonly pagination: false;
6344
+ readonly pathParams: readonly [];
6345
+ readonly query: readonly [];
6346
+ }, {
6347
+ readonly resource: "canvas.collections";
6348
+ readonly method: "create";
6349
+ readonly summary: "Create collection";
6350
+ readonly description: "Organize canvases by creating a one-level collection in your organization. Send a name of 1–100 characters after trimming; duplicate names are allowed. Each call creates a new collection, initially containing no canvases. Use canvases.update with its id as collection_id to move existing canvases into it. Collections cannot be nested and an organization can have at most 200.";
6351
+ readonly http: "POST";
6352
+ readonly path: "/canvas/v1/collections";
6353
+ readonly streaming: "no";
6354
+ readonly pagination: false;
6355
+ readonly pathParams: readonly [];
6356
+ readonly query: readonly [];
6357
+ readonly body: {
6358
+ readonly required: true;
6359
+ readonly fields: readonly [{
6360
+ readonly name: "name";
6361
+ readonly type: "string";
6362
+ readonly required: true;
6363
+ readonly description: "Collection display name, 1–100 characters after trimming surrounding whitespace; duplicate names within the organization are allowed.";
6364
+ }];
6365
+ };
6366
+ }, {
6367
+ readonly resource: "canvas.collections";
6368
+ readonly method: "delete";
6369
+ readonly summary: "Delete collection";
6370
+ readonly description: "Remove a collection using an id from collections.list. All its canvases are preserved and become uncategorized, with collection_id set to null; read them using canvases.list with collection_id=none. The removed collection cannot be retrieved again, and repeating deletion returns COLLECTION_NOT_FOUND.";
6371
+ readonly http: "DELETE";
6372
+ readonly path: "/canvas/v1/collections/{collection_id}";
6373
+ readonly streaming: "no";
6374
+ readonly pagination: false;
6375
+ readonly pathParams: readonly [{
6376
+ readonly name: "collection_id";
6377
+ readonly sdkName: "collection_id";
6378
+ readonly description: "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier.";
6379
+ }];
6380
+ readonly query: readonly [];
6381
+ }, {
6382
+ readonly resource: "canvas.collections";
6383
+ readonly method: "retrieve";
6384
+ readonly summary: "Retrieve collection";
6385
+ readonly description: "Inspect one collection and its current live canvas count using an id from collections.list or collections.create. The collection must belong to the API key organization. To read its canvases, pass the same id as collection_id to canvases.list; this response contains collection metadata only.";
6386
+ readonly http: "GET";
6387
+ readonly path: "/canvas/v1/collections/{collection_id}";
6388
+ readonly streaming: "no";
6389
+ readonly pagination: false;
6390
+ readonly pathParams: readonly [{
6391
+ readonly name: "collection_id";
6392
+ readonly sdkName: "collection_id";
6393
+ readonly description: "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier.";
6394
+ }];
6395
+ readonly query: readonly [];
6396
+ }, {
6397
+ readonly resource: "canvas.collections";
6398
+ readonly method: "update";
6399
+ readonly summary: "Rename collection";
6400
+ readonly description: "Change the display name of a collection from collections.list without changing its id or canvas assignments. Names contain 1–100 characters after trimming and may match another collection name. This operation does not move canvases; use canvases.update with collection_id for that.";
6401
+ readonly http: "PATCH";
6402
+ readonly path: "/canvas/v1/collections/{collection_id}";
6403
+ readonly streaming: "no";
6404
+ readonly pagination: false;
6405
+ readonly pathParams: readonly [{
6406
+ readonly name: "collection_id";
6407
+ readonly sdkName: "collection_id";
6408
+ readonly description: "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier.";
6409
+ }];
6410
+ readonly query: readonly [];
6411
+ readonly body: {
6412
+ readonly required: true;
6413
+ readonly fields: readonly [{
6414
+ readonly name: "name";
6415
+ readonly type: "string";
6416
+ readonly required: true;
6417
+ readonly description: "Collection display name, 1–100 characters after trimming surrounding whitespace; duplicate names within the organization are allowed.";
6418
+ }];
6419
+ };
6420
+ }, {
6421
+ readonly resource: "crm.changes";
6422
+ readonly method: "revert";
6423
+ readonly summary: "Revert change set";
6424
+ readonly description: "Reverse property changes made by one earlier request. Unlike HubSpot, CRM exposes change-set reversal because agents need to undo a whole recorded action rather than manually reconstructing individual values. Supply the changeSetId recorded in property history. A later conflicting value prevents reversal with HTTP 409 CONFLICT; inspect current records before resolving the conflict. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6425
+ readonly http: "POST";
6426
+ readonly path: "/crm/v1/changes/{changeSetId}:revert";
6427
+ readonly streaming: "no";
6428
+ readonly pagination: false;
6429
+ readonly pathParams: readonly [{
6430
+ readonly name: "changeSetId";
6431
+ readonly sdkName: "changeSetId";
6432
+ readonly description: "Change-set identifier recorded for the original write in property history; one request forms one change set.";
6433
+ }];
6434
+ readonly query: readonly [];
6435
+ }, {
6436
+ readonly resource: "crm.layouts";
6437
+ readonly method: "retrieve";
6438
+ readonly summary: "Retrieve record layout";
6439
+ readonly description: "Read the shared record-page layout for an object type from schemas.list. Unlike HubSpot, CRM exposes this presentation as an API resource so people and agents can share the same record layout instead of relying on interface-only settings. The response orders summary tiles, sidebar properties and main-column sections.";
6440
+ readonly http: "GET";
6441
+ readonly path: "/crm/v1/layouts/{objectType}";
6442
+ readonly streaming: "no";
6443
+ readonly pagination: false;
6444
+ readonly pathParams: readonly [{
6445
+ readonly name: "objectType";
6446
+ readonly sdkName: "objectType";
6447
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6448
+ }];
6449
+ readonly query: readonly [];
6450
+ }, {
6451
+ readonly resource: "crm.layouts";
6452
+ readonly method: "update";
6453
+ readonly summary: "Update record layout";
6454
+ readonly description: "Replace the shared record-page layout for an object type from schemas.list. Unlike HubSpot, CRM exposes this presentation as an API resource so agents can configure the same record view used by people. Send the complete layout with at most three summary tiles and property names from properties.list; omitted prior sections are removed. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6455
+ readonly http: "PUT";
6456
+ readonly path: "/crm/v1/layouts/{objectType}";
6457
+ readonly streaming: "no";
6458
+ readonly pagination: false;
6459
+ readonly pathParams: readonly [{
6460
+ readonly name: "objectType";
6461
+ readonly sdkName: "objectType";
6462
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6463
+ }];
6464
+ readonly query: readonly [];
6465
+ readonly body: {
6466
+ readonly required: true;
6467
+ readonly fields: readonly [{
6468
+ readonly name: "objectType";
6469
+ readonly type: "string";
6470
+ readonly required: true;
6471
+ readonly description: "Object type whose record page uses this layout, matching the path parameter.";
6472
+ }, {
6473
+ readonly name: "summary";
6474
+ readonly type: "array";
6475
+ readonly itemType: "object";
6476
+ readonly required: true;
6477
+ readonly description: "Ordered statistic tiles below the record header, with at most three tiles.";
6478
+ }, {
6479
+ readonly name: "sidebar";
6480
+ readonly type: "array";
6481
+ readonly itemType: "string";
6482
+ readonly required: true;
6483
+ readonly description: "Ordered internal property names shown in the record property sidebar.";
6484
+ }, {
6485
+ readonly name: "sections";
6486
+ readonly type: "array";
6487
+ readonly itemType: "string";
6488
+ readonly required: true;
6489
+ readonly description: "Ordered main-column sections for activity, relationships, tables and property groups.";
6490
+ }];
6491
+ };
6492
+ }, {
6493
+ readonly resource: "crm.leads";
6494
+ readonly method: "qualify";
6495
+ readonly summary: "Qualify lead";
6496
+ readonly description: "Qualify a lead with explicit contact, company and optional deal choices in one operation. Unlike HubSpot, CRM exposes these decisions as a single action because qualification coordinates several related record edits rather than editing only the lead stage. Obtain leadId from objects.list for leads and qualifiedStageId from its pipeline; choose a won stage and satisfy its required properties. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6497
+ readonly http: "POST";
6498
+ readonly path: "/crm/v1/leads/{leadId}:qualify";
6499
+ readonly streaming: "no";
6500
+ readonly pagination: false;
6501
+ readonly pathParams: readonly [{
6502
+ readonly name: "leadId";
6503
+ readonly sdkName: "leadId";
6504
+ readonly description: "Lead record identifier from objects.list or objects.search with objectType=leads.";
6505
+ }];
6506
+ readonly query: readonly [];
6507
+ readonly body: {
6508
+ readonly required: true;
6509
+ readonly fields: readonly [{
6510
+ readonly name: "contact";
6511
+ readonly type: "object";
6512
+ readonly required: true;
6513
+ readonly description: "Keep the existing contact, or merge it into the chosen contact record.";
6514
+ }, {
6515
+ readonly name: "company";
6516
+ readonly type: "object";
6517
+ readonly required: true;
6518
+ readonly description: "Leave company unchanged, associate an existing company, or create one with explicit properties.";
6519
+ }, {
6520
+ readonly name: "deal";
6521
+ readonly type: "object";
6522
+ readonly required: false;
6523
+ readonly description: "Optional deal to create as part of qualification; omit to qualify without creating a deal.";
6524
+ }, {
6525
+ readonly name: "qualifiedStageId";
6526
+ readonly type: "string";
6527
+ readonly required: true;
6528
+ readonly description: "Lead stage id with praxis_category=won, obtained from the leads pipeline.";
6529
+ }];
6530
+ };
6531
+ }, {
6532
+ readonly resource: "crm.objects";
6533
+ readonly method: "list";
6534
+ readonly summary: "List records";
6535
+ readonly description: "Browse records of one object type and obtain ids for retrieval or edits. Discover objectType with schemas.list; select properties by internal names from properties.list. Omit after for the first page, then copy paging.next.after until no next page is returned. archived defaults to false; use objects.search for property filters.";
6536
+ readonly http: "GET";
6537
+ readonly path: "/crm/v1/objects/{objectType}";
6538
+ readonly streaming: "no";
6539
+ readonly pagination: false;
6540
+ readonly pathParams: readonly [{
6541
+ readonly name: "objectType";
6542
+ readonly sdkName: "objectType";
6543
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6544
+ }];
6545
+ readonly query: readonly [{
6546
+ readonly name: "after";
6547
+ readonly type: "string";
6548
+ readonly required: false;
6549
+ readonly description: "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.";
6550
+ }, {
6551
+ readonly name: "archived";
6552
+ readonly type: "boolean";
6553
+ readonly required: false;
6554
+ readonly description: "Whether to return only results that have been archived.";
6555
+ }, {
6556
+ readonly name: "associations";
6557
+ readonly type: "array";
6558
+ readonly itemType: "string";
6559
+ readonly required: false;
6560
+ readonly description: "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.";
6561
+ }, {
6562
+ readonly name: "limit";
6563
+ readonly type: "integer";
6564
+ readonly required: false;
6565
+ readonly description: "The maximum number of results to display per page.";
6566
+ }, {
6567
+ readonly name: "properties";
6568
+ readonly type: "array";
6569
+ readonly itemType: "string";
6570
+ readonly required: false;
6571
+ readonly description: "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.";
6572
+ }, {
6573
+ readonly name: "propertiesWithHistory";
6574
+ readonly type: "array";
6575
+ readonly itemType: "string";
6576
+ readonly required: false;
6577
+ readonly description: "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of objects that can be read by a single request.";
6578
+ }];
6579
+ }, {
6580
+ readonly resource: "crm.objects";
6581
+ readonly method: "create";
6582
+ readonly summary: "Create record";
6583
+ readonly description: "Create a customer record with property values and optional initial associations. Discover objectType with schemas.list and allowed property names with properties.list; save the returned id for subsequent calls. Each call creates a record. Example for contacts: {\"properties\":{\"email\":\"person@example.com\"}}. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6584
+ readonly http: "POST";
6585
+ readonly path: "/crm/v1/objects/{objectType}";
6586
+ readonly streaming: "no";
6587
+ readonly pagination: false;
6588
+ readonly pathParams: readonly [{
6589
+ readonly name: "objectType";
6590
+ readonly sdkName: "objectType";
6591
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6592
+ }];
6593
+ readonly query: readonly [];
6594
+ readonly body: {
6595
+ readonly required: true;
6596
+ readonly fields: readonly [{
6597
+ readonly name: "associations";
6598
+ readonly type: "array";
6599
+ readonly itemType: "object";
6600
+ readonly required: true;
6601
+ readonly description: "Initial relationships to existing records; choose destination ids and association type ids before creating the record.";
6602
+ }, {
6603
+ readonly name: "properties";
6604
+ readonly type: "object";
6605
+ readonly required: true;
6606
+ readonly description: "Key-value pairs for setting properties for the new object.";
6607
+ }];
6608
+ };
6609
+ }, {
6610
+ readonly resource: "crm.objects.batch";
6611
+ readonly method: "archive";
6612
+ readonly summary: "Batch archive records";
6613
+ readonly description: "Archive known records of one object type using inputs[].id from objects.list or objects.search. Archived records leave active lists but retain their history; confirm all ids before calling. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204.";
6614
+ readonly http: "POST";
6615
+ readonly path: "/crm/v1/objects/{objectType}/batch/archive";
6616
+ readonly streaming: "no";
6617
+ readonly pagination: false;
6618
+ readonly pathParams: readonly [{
6619
+ readonly name: "objectType";
6620
+ readonly sdkName: "objectType";
6621
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6622
+ }];
6623
+ readonly query: readonly [];
6624
+ readonly body: {
6625
+ readonly required: true;
6626
+ readonly fields: readonly [{
6627
+ readonly name: "inputs";
6628
+ readonly type: "array";
6629
+ readonly itemType: "object";
6630
+ readonly required: true;
6631
+ readonly description: "Records to process in this batch, each using the identifiers and properties described by its item schema.";
6632
+ }];
6633
+ };
6634
+ }, {
6635
+ readonly resource: "crm.objects.batch";
6636
+ readonly method: "create";
6637
+ readonly summary: "Batch create records";
6638
+ readonly description: "Create several records of one object type using inputs with properties and optional associations. Obtain property names from properties.list; each successful input creates a record, so inspect per-item errors before resubmitting failed inputs. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6639
+ readonly http: "POST";
6640
+ readonly path: "/crm/v1/objects/{objectType}/batch/create";
6641
+ readonly streaming: "no";
6642
+ readonly pagination: false;
6643
+ readonly pathParams: readonly [{
6644
+ readonly name: "objectType";
6645
+ readonly sdkName: "objectType";
6646
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6647
+ }];
6648
+ readonly query: readonly [];
6649
+ readonly body: {
6650
+ readonly required: true;
6651
+ readonly fields: readonly [{
6652
+ readonly name: "inputs";
6653
+ readonly type: "array";
6654
+ readonly itemType: "object";
6655
+ readonly required: true;
6656
+ readonly description: "Records to process in this batch, each using the identifiers and properties described by its item schema.";
6657
+ }];
6658
+ };
6659
+ }, {
6660
+ readonly resource: "crm.objects.batch";
6661
+ readonly method: "read";
6662
+ readonly summary: "Batch read records";
6663
+ readonly description: "Read a set of known record ids in one call; use objects.search to discover ids first. Supply inputs with ids plus requested properties; set idProperty only when the inputs use unique-property values rather than record ids.";
6664
+ readonly http: "POST";
6665
+ readonly path: "/crm/v1/objects/{objectType}/batch/read";
6666
+ readonly streaming: "no";
6667
+ readonly pagination: false;
6668
+ readonly pathParams: readonly [{
6669
+ readonly name: "objectType";
6670
+ readonly sdkName: "objectType";
6671
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6672
+ }];
6673
+ readonly query: readonly [{
6674
+ readonly name: "archived";
6675
+ readonly type: "boolean";
6676
+ readonly required: false;
6677
+ readonly description: "Whether to return only results that have been archived.";
6678
+ }];
6679
+ readonly body: {
6680
+ readonly required: true;
6681
+ readonly fields: readonly [{
6682
+ readonly name: "idProperty";
6683
+ readonly type: "string";
6684
+ readonly required: false;
6685
+ readonly description: "When using a custom unique value property to retrieve records, the name of the property. Do not include this parameter if retrieving by record ID.";
6686
+ }, {
6687
+ readonly name: "inputs";
6688
+ readonly type: "array";
6689
+ readonly itemType: "object";
6690
+ readonly required: true;
6691
+ readonly description: "Records to process in this batch, each using the identifiers and properties described by its item schema.";
6692
+ }, {
6693
+ readonly name: "properties";
6694
+ readonly type: "array";
6695
+ readonly itemType: "string";
6696
+ readonly required: true;
6697
+ readonly description: "Internal property names to include in each returned record; obtain them from properties.list.";
6698
+ }, {
6699
+ readonly name: "propertiesWithHistory";
6700
+ readonly type: "array";
6701
+ readonly itemType: "string";
6702
+ readonly required: true;
6703
+ readonly description: "Internal property names whose previous values should be returned with each record; use an empty array when no history is needed.";
6704
+ }];
6705
+ };
6706
+ }, {
6707
+ readonly resource: "crm.objects.batch";
6708
+ readonly method: "update";
6709
+ readonly summary: "Batch update records";
6710
+ readonly description: "Apply distinct property patches to existing records identified by inputs[].id. Obtain ids from objects.list or objects.search and property names from properties.list. Omitted properties retain their values; inspect results and errors for each input. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6711
+ readonly http: "POST";
6712
+ readonly path: "/crm/v1/objects/{objectType}/batch/update";
6713
+ readonly streaming: "no";
6714
+ readonly pagination: false;
6715
+ readonly pathParams: readonly [{
6716
+ readonly name: "objectType";
6717
+ readonly sdkName: "objectType";
6718
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6719
+ }];
6720
+ readonly query: readonly [];
6721
+ readonly body: {
6722
+ readonly required: true;
6723
+ readonly fields: readonly [{
6724
+ readonly name: "inputs";
6725
+ readonly type: "array";
6726
+ readonly itemType: "object";
6727
+ readonly required: true;
6728
+ readonly description: "Records to process in this batch, each using the identifiers and properties described by its item schema.";
6729
+ }];
6730
+ };
6731
+ }, {
6732
+ readonly resource: "crm.objects.batch";
6733
+ readonly method: "upsert";
6734
+ readonly summary: "Batch upsert records";
6735
+ readonly description: "Create records that do not yet exist or update matches using a unique property. Provide idProperty and its value in each input, plus properties; choose a property with hasUniqueValue from properties.list. Inspect each result to determine whether it was newly created. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6736
+ readonly http: "POST";
6737
+ readonly path: "/crm/v1/objects/{objectType}/batch/upsert";
6738
+ readonly streaming: "no";
6739
+ readonly pagination: false;
6740
+ readonly pathParams: readonly [{
6741
+ readonly name: "objectType";
6742
+ readonly sdkName: "objectType";
6743
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6744
+ }];
6745
+ readonly query: readonly [];
6746
+ readonly body: {
6747
+ readonly required: true;
6748
+ readonly fields: readonly [{
6749
+ readonly name: "inputs";
6750
+ readonly type: "array";
6751
+ readonly itemType: "object";
6752
+ readonly required: true;
6753
+ readonly description: "Records to process in this batch, each using the identifiers and properties described by its item schema.";
6754
+ }];
6755
+ };
6756
+ }, {
6757
+ readonly resource: "crm.objects";
6758
+ readonly method: "search";
6759
+ readonly summary: "Search records";
6760
+ readonly description: "Find records using text query, property filters and sort order rather than scanning a list. Obtain objectType from schemas.list and filter propertyName values from properties.list. Supply filterGroups, sorts, properties, limit and after; use empty arrays for no filters, sorts or property selection, and an empty after for the first page. Copy paging.next.after with the same query to continue. This operation reads records without changing them.";
6761
+ readonly http: "POST";
6762
+ readonly path: "/crm/v1/objects/{objectType}/search";
6763
+ readonly streaming: "no";
6764
+ readonly pagination: false;
6765
+ readonly pathParams: readonly [{
6766
+ readonly name: "objectType";
6767
+ readonly sdkName: "objectType";
6768
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6769
+ }];
6770
+ readonly query: readonly [];
6771
+ readonly body: {
6772
+ readonly required: true;
6773
+ readonly fields: readonly [{
6774
+ readonly name: "after";
6775
+ readonly type: "string";
6776
+ readonly required: true;
6777
+ readonly description: "A paging cursor token for retrieving subsequent pages.";
6778
+ }, {
6779
+ readonly name: "filterGroups";
6780
+ readonly type: "array";
6781
+ readonly itemType: "object";
6782
+ readonly required: true;
6783
+ readonly description: "Up to 6 groups of filters defining additional query criteria.";
6784
+ }, {
6785
+ readonly name: "limit";
6786
+ readonly type: "integer";
6787
+ readonly required: true;
6788
+ readonly description: "The maximum results to return, up to 200 objects.";
6789
+ }, {
6790
+ readonly name: "properties";
6791
+ readonly type: "array";
6792
+ readonly itemType: "string";
6793
+ readonly required: true;
6794
+ readonly description: "Internal property names to include in each returned record; obtain them from properties.list.";
6795
+ }, {
6796
+ readonly name: "query";
6797
+ readonly type: "string";
6798
+ readonly required: false;
6799
+ readonly description: "The search query string, up to 3000 characters.";
6800
+ }, {
6801
+ readonly name: "sorts";
6802
+ readonly type: "array";
6803
+ readonly itemType: "string";
6804
+ readonly required: true;
6805
+ readonly description: "Property names controlling ordering; prefix a property name with a minus sign for descending order.";
6806
+ }];
6807
+ };
6808
+ }, {
6809
+ readonly resource: "crm.objects";
6810
+ readonly method: "archive";
6811
+ readonly summary: "Archive record";
6812
+ readonly description: "Archive a record selected from objects.list or objects.search when it should leave active results. This removes it from normal lists without deleting its history; archived=true can be used to read archived records. Confirm objectType and objectId before calling. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204.";
6813
+ readonly http: "DELETE";
6814
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}";
6815
+ readonly streaming: "no";
6816
+ readonly pagination: false;
6817
+ readonly pathParams: readonly [{
6818
+ readonly name: "objectType";
6819
+ readonly sdkName: "objectType";
6820
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6821
+ }, {
6822
+ readonly name: "objectId";
6823
+ readonly sdkName: "objectId";
6824
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6825
+ }];
6826
+ readonly query: readonly [];
6827
+ }, {
6828
+ readonly resource: "crm.objects";
6829
+ readonly method: "retrieve";
6830
+ readonly summary: "Retrieve record";
6831
+ readonly description: "Read one record by id from objects.list, objects.search or objects.create. Select property names with properties and associated object types with associations; use idProperty only when objectId is a value of that unique property. Use archived=true to inspect an archived record.";
6832
+ readonly http: "GET";
6833
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}";
6834
+ readonly streaming: "no";
6835
+ readonly pagination: false;
6836
+ readonly pathParams: readonly [{
6837
+ readonly name: "objectType";
6838
+ readonly sdkName: "objectType";
6839
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6840
+ }, {
6841
+ readonly name: "objectId";
6842
+ readonly sdkName: "objectId";
6843
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6844
+ }];
6845
+ readonly query: readonly [{
6846
+ readonly name: "archived";
6847
+ readonly type: "boolean";
6848
+ readonly required: false;
6849
+ readonly description: "Whether to return only results that have been archived.";
6850
+ }, {
6851
+ readonly name: "associations";
6852
+ readonly type: "array";
6853
+ readonly itemType: "string";
6854
+ readonly required: false;
6855
+ readonly description: "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.";
6856
+ }, {
6857
+ readonly name: "idProperty";
6858
+ readonly type: "string";
6859
+ readonly required: false;
6860
+ readonly description: "The name of a property whose values are unique for this object";
6861
+ }, {
6862
+ readonly name: "properties";
6863
+ readonly type: "array";
6864
+ readonly itemType: "string";
6865
+ readonly required: false;
6866
+ readonly description: "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.";
6867
+ }, {
6868
+ readonly name: "propertiesWithHistory";
6869
+ readonly type: "array";
6870
+ readonly itemType: "string";
6871
+ readonly required: false;
6872
+ readonly description: "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.";
6873
+ }];
6874
+ }, {
6875
+ readonly resource: "crm.objects";
6876
+ readonly method: "update";
6877
+ readonly summary: "Update record";
6878
+ readonly description: "Change only the supplied properties of a record selected from objects.list or objects.search. Omitted properties retain their values. Use property names from properties.list and valid stage ids from pipelines.retrieve. Stage-entry requirements must be satisfied by the resulting record; inspect 400 errors before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6879
+ readonly http: "PATCH";
6880
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}";
6881
+ readonly streaming: "no";
6882
+ readonly pagination: false;
6883
+ readonly pathParams: readonly [{
6884
+ readonly name: "objectType";
6885
+ readonly sdkName: "objectType";
6886
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6887
+ }, {
6888
+ readonly name: "objectId";
6889
+ readonly sdkName: "objectId";
6890
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6891
+ }];
6892
+ readonly query: readonly [{
6893
+ readonly name: "idProperty";
6894
+ readonly type: "string";
6895
+ readonly required: false;
6896
+ readonly description: "The name of a property whose values are unique for this object";
6897
+ }];
6898
+ readonly body: {
6899
+ readonly required: true;
6900
+ readonly fields: readonly [{
6901
+ readonly name: "properties";
6902
+ readonly type: "object";
6903
+ readonly required: true;
6904
+ readonly description: "Key value pairs representing the properties of the object.";
6905
+ }];
6906
+ };
6907
+ }, {
6908
+ readonly resource: "crm.associations";
6909
+ readonly method: "createDefault";
6910
+ readonly summary: "Create default association";
6911
+ readonly description: "Link two existing records with the default unlabelled association. Obtain each record id from objects.list or objects.search for its type. No request body is required; use associations.create to choose explicit association labels. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6912
+ readonly http: "PUT";
6913
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}/associations/default/{toObjectType}/{toObjectId}";
6914
+ readonly streaming: "no";
6915
+ readonly pagination: false;
6916
+ readonly pathParams: readonly [{
6917
+ readonly name: "objectType";
6918
+ readonly sdkName: "objectType";
6919
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6920
+ }, {
6921
+ readonly name: "objectId";
6922
+ readonly sdkName: "objectId";
6923
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6924
+ }, {
6925
+ readonly name: "toObjectType";
6926
+ readonly sdkName: "toObjectType";
6927
+ readonly description: "Destination object type from schemas.list; use the type of the record being linked.";
6928
+ }, {
6929
+ readonly name: "toObjectId";
6930
+ readonly sdkName: "toObjectId";
6931
+ readonly description: "Destination record identifier from objects.list or objects.search for toObjectType.";
6932
+ }];
6933
+ readonly query: readonly [];
6934
+ }, {
6935
+ readonly resource: "crm.associations";
6936
+ readonly method: "list";
6937
+ readonly summary: "List record associations";
6938
+ readonly description: "Read records linked to a source record, including association labels and type ids. Obtain source and destination object types from schemas.list and objectId from objects.list or objects.search. Follow paging.next.after to continue reading associated records.";
6939
+ readonly http: "GET";
6940
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}";
6941
+ readonly streaming: "no";
6942
+ readonly pagination: false;
6943
+ readonly pathParams: readonly [{
6944
+ readonly name: "objectType";
6945
+ readonly sdkName: "objectType";
6946
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6947
+ }, {
6948
+ readonly name: "objectId";
6949
+ readonly sdkName: "objectId";
6950
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6951
+ }, {
6952
+ readonly name: "toObjectType";
6953
+ readonly sdkName: "toObjectType";
6954
+ readonly description: "Destination object type from schemas.list; use the type of the record being linked.";
6955
+ }];
6956
+ readonly query: readonly [{
6957
+ readonly name: "after";
6958
+ readonly type: "string";
6959
+ readonly required: false;
6960
+ readonly description: "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.";
6961
+ }, {
6962
+ readonly name: "limit";
6963
+ readonly type: "integer";
6964
+ readonly required: false;
6965
+ readonly description: "The maximum number of results to display per page.";
6966
+ }];
6967
+ }, {
6968
+ readonly resource: "crm.associations";
6969
+ readonly method: "remove";
6970
+ readonly summary: "Remove association";
6971
+ readonly description: "Remove the association between two existing records without archiving either record. Obtain the linked destination id from associations.list and confirm the source and destination object types before calling. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204.";
6972
+ readonly http: "DELETE";
6973
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}";
6974
+ readonly streaming: "no";
6975
+ readonly pagination: false;
6976
+ readonly pathParams: readonly [{
6977
+ readonly name: "objectType";
6978
+ readonly sdkName: "objectType";
6979
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
6980
+ }, {
6981
+ readonly name: "objectId";
6982
+ readonly sdkName: "objectId";
6983
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
6984
+ }, {
6985
+ readonly name: "toObjectType";
6986
+ readonly sdkName: "toObjectType";
6987
+ readonly description: "Destination object type from schemas.list; use the type of the record being linked.";
6988
+ }, {
6989
+ readonly name: "toObjectId";
6990
+ readonly sdkName: "toObjectId";
6991
+ readonly description: "Destination record identifier from objects.list or objects.search for toObjectType.";
6992
+ }];
6993
+ readonly query: readonly [];
6994
+ }, {
6995
+ readonly resource: "crm.associations";
6996
+ readonly method: "create";
6997
+ readonly summary: "Create labelled association";
6998
+ readonly description: "Associate two existing records using the requested association category and type id. Obtain record ids from objects.list or objects.search; reuse known association type ids from associations.list. Send the association-spec array as the body; use associations.createDefault when no label is needed. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
6999
+ readonly http: "PUT";
7000
+ readonly path: "/crm/v1/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}";
7001
+ readonly streaming: "no";
7002
+ readonly pagination: false;
7003
+ readonly pathParams: readonly [{
7004
+ readonly name: "objectType";
7005
+ readonly sdkName: "objectType";
7006
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7007
+ }, {
7008
+ readonly name: "objectId";
7009
+ readonly sdkName: "objectId";
7010
+ readonly description: "Record id from objects.list, objects.search or objects.create for this objectType.";
7011
+ }, {
7012
+ readonly name: "toObjectType";
7013
+ readonly sdkName: "toObjectType";
7014
+ readonly description: "Destination object type from schemas.list; use the type of the record being linked.";
7015
+ }, {
7016
+ readonly name: "toObjectId";
7017
+ readonly sdkName: "toObjectId";
7018
+ readonly description: "Destination record identifier from objects.list or objects.search for toObjectType.";
7019
+ }];
7020
+ readonly query: readonly [];
7021
+ readonly body: {
7022
+ readonly required: true;
7023
+ readonly fields: readonly [];
7024
+ };
7025
+ }, {
7026
+ readonly resource: "crm.pipelines";
7027
+ readonly method: "list";
7028
+ readonly summary: "List pipelines";
7029
+ readonly description: "Discover pipelines and stage ids for records of one object type from schemas.list. Reuse pipeline and stage ids in record property updates or lead qualification. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7030
+ readonly http: "GET";
7031
+ readonly path: "/crm/v1/pipelines/{objectType}";
7032
+ readonly streaming: "no";
7033
+ readonly pagination: false;
7034
+ readonly pathParams: readonly [{
7035
+ readonly name: "objectType";
7036
+ readonly sdkName: "objectType";
7037
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7038
+ }];
7039
+ readonly query: readonly [];
7040
+ }, {
7041
+ readonly resource: "crm.pipelines";
7042
+ readonly method: "create";
7043
+ readonly summary: "Create pipeline";
7044
+ readonly description: "Create a pipeline with its ordered stages for an object type from schemas.list. Provide a display label, displayOrder and initial stages, then use the returned ids when assigning records. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7045
+ readonly http: "POST";
7046
+ readonly path: "/crm/v1/pipelines/{objectType}";
7047
+ readonly streaming: "no";
7048
+ readonly pagination: false;
7049
+ readonly pathParams: readonly [{
7050
+ readonly name: "objectType";
7051
+ readonly sdkName: "objectType";
7052
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7053
+ }];
7054
+ readonly query: readonly [];
7055
+ readonly body: {
7056
+ readonly required: true;
7057
+ readonly fields: readonly [{
7058
+ readonly name: "displayOrder";
7059
+ readonly type: "integer";
7060
+ readonly required: true;
7061
+ readonly description: "An integer indicating the order in which the pipeline appears relative to other pipelines.";
7062
+ }, {
7063
+ readonly name: "label";
7064
+ readonly type: "string";
7065
+ readonly required: true;
7066
+ readonly description: "A string representing the name or title of the pipeline.";
7067
+ }, {
7068
+ readonly name: "pipelineId";
7069
+ readonly type: "string";
7070
+ readonly required: false;
7071
+ readonly description: "A string that uniquely identifies the pipeline. This property is optional when creating a new pipeline.";
7072
+ }, {
7073
+ readonly name: "stages";
7074
+ readonly type: "array";
7075
+ readonly itemType: "object";
7076
+ readonly required: true;
7077
+ readonly description: "An array of PipelineStageInput objects, each representing a stage within the pipeline.";
7078
+ }];
7079
+ };
7080
+ }, {
7081
+ readonly resource: "crm.pipelines";
7082
+ readonly method: "archive";
7083
+ readonly summary: "Archive pipeline";
7084
+ readonly description: "Archive a pipeline selected from pipelines.list when records no longer depend on it. Check current records and stage usage first; resolve references reported by validation before retrying. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7085
+ readonly http: "DELETE";
7086
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}";
7087
+ readonly streaming: "no";
7088
+ readonly pagination: false;
7089
+ readonly pathParams: readonly [{
7090
+ readonly name: "objectType";
7091
+ readonly sdkName: "objectType";
7092
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7093
+ }, {
7094
+ readonly name: "pipelineId";
7095
+ readonly sdkName: "pipelineId";
7096
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7097
+ }];
7098
+ readonly query: readonly [{
7099
+ readonly name: "validateDealStageUsagesBeforeDelete";
7100
+ readonly type: "boolean";
7101
+ readonly required: false;
7102
+ readonly description: "A boolean indicating whether to validate deal stage usages before deleting the pipeline. Defaults to true.";
7103
+ }, {
7104
+ readonly name: "validateReferencesBeforeDelete";
7105
+ readonly type: "boolean";
7106
+ readonly required: false;
7107
+ readonly description: "A boolean indicating whether to validate references before deleting the pipeline. Defaults to true.";
7108
+ }];
7109
+ }, {
7110
+ readonly resource: "crm.pipelines";
7111
+ readonly method: "retrieve";
7112
+ readonly summary: "Retrieve pipeline";
7113
+ readonly description: "Inspect the stage ids and metadata of a pipeline before moving a record or editing its workflow. Obtain pipelineId from pipelines.list and use the returned stages array to select a destination. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7114
+ readonly http: "GET";
7115
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}";
7116
+ readonly streaming: "no";
7117
+ readonly pagination: false;
7118
+ readonly pathParams: readonly [{
7119
+ readonly name: "objectType";
7120
+ readonly sdkName: "objectType";
7121
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7122
+ }, {
7123
+ readonly name: "pipelineId";
7124
+ readonly sdkName: "pipelineId";
7125
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7126
+ }];
7127
+ readonly query: readonly [];
7128
+ }, {
7129
+ readonly resource: "crm.pipelines";
7130
+ readonly method: "update";
7131
+ readonly summary: "Update pipeline";
7132
+ readonly description: "Change editable pipeline settings selected by pipelineId from pipelines.list. Omit settings that should remain unchanged and inspect current stages with pipelines.retrieve before modifying the workflow. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7133
+ readonly http: "PATCH";
7134
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}";
7135
+ readonly streaming: "no";
7136
+ readonly pagination: false;
7137
+ readonly pathParams: readonly [{
7138
+ readonly name: "objectType";
7139
+ readonly sdkName: "objectType";
7140
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7141
+ }, {
7142
+ readonly name: "pipelineId";
7143
+ readonly sdkName: "pipelineId";
7144
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7145
+ }];
7146
+ readonly query: readonly [{
7147
+ readonly name: "validateDealStageUsagesBeforeDelete";
7148
+ readonly type: "boolean";
7149
+ readonly required: false;
7150
+ readonly description: "A boolean indicating whether to validate deal stage usages before deleting. Defaults to true.";
7151
+ }, {
7152
+ readonly name: "validateReferencesBeforeDelete";
7153
+ readonly type: "boolean";
7154
+ readonly required: false;
7155
+ readonly description: "A boolean indicating whether to validate references before deleting. Defaults to true.";
7156
+ }];
7157
+ readonly body: {
7158
+ readonly required: true;
7159
+ readonly fields: readonly [{
7160
+ readonly name: "archived";
7161
+ readonly type: "boolean";
7162
+ readonly required: false;
7163
+ readonly description: "A boolean value that indicates whether the pipeline is archived.";
7164
+ }, {
7165
+ readonly name: "displayOrder";
7166
+ readonly type: "integer";
7167
+ readonly required: false;
7168
+ readonly description: "An integer indicating the position of the pipeline in a list, which determines its display order.";
7169
+ }, {
7170
+ readonly name: "label";
7171
+ readonly type: "string";
7172
+ readonly required: false;
7173
+ readonly description: "The name of the pipeline, represented as a string.";
7174
+ }];
7175
+ };
7176
+ }, {
7177
+ readonly resource: "crm.pipelines.stages";
7178
+ readonly method: "create";
7179
+ readonly summary: "Create pipeline stage";
7180
+ readonly description: "Add an ordered stage to a pipeline from pipelines.list. Provide its display label, displayOrder and metadata; save the returned stage id for record updates. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7181
+ readonly http: "POST";
7182
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}/stages";
7183
+ readonly streaming: "no";
7184
+ readonly pagination: false;
7185
+ readonly pathParams: readonly [{
7186
+ readonly name: "objectType";
7187
+ readonly sdkName: "objectType";
7188
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7189
+ }, {
7190
+ readonly name: "pipelineId";
7191
+ readonly sdkName: "pipelineId";
7192
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7193
+ }];
7194
+ readonly query: readonly [];
7195
+ readonly body: {
7196
+ readonly required: true;
7197
+ readonly fields: readonly [{
7198
+ readonly name: "displayOrder";
7199
+ readonly type: "integer";
7200
+ readonly required: true;
7201
+ readonly description: "An integer indicating the position of this stage within the pipeline. Lower numbers indicate earlier stages.";
7202
+ }, {
7203
+ readonly name: "label";
7204
+ readonly type: "string";
7205
+ readonly required: true;
7206
+ readonly description: "The name of the pipeline stage. It is a string that provides a human-readable identifier for the stage.";
7207
+ }, {
7208
+ readonly name: "metadata";
7209
+ readonly type: "object";
7210
+ readonly required: true;
7211
+ readonly description: "String-valued stage settings, including transition and entry requirements. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying.";
7212
+ }, {
7213
+ readonly name: "stageId";
7214
+ readonly type: "string";
7215
+ readonly required: false;
7216
+ readonly description: "A string that uniquely identifies the stage within the pipeline.";
7217
+ }];
7218
+ };
7219
+ }, {
7220
+ readonly resource: "crm.pipelines.stages";
7221
+ readonly method: "archive";
7222
+ readonly summary: "Archive pipeline stage";
7223
+ readonly description: "Archive a stage selected from pipelines.retrieve after checking record usage. A stage that still has records cannot be archived without resolving their assignment; move those records to an allowed stage first. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7224
+ readonly http: "DELETE";
7225
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}/stages/{stageId}";
7226
+ readonly streaming: "no";
7227
+ readonly pagination: false;
7228
+ readonly pathParams: readonly [{
7229
+ readonly name: "objectType";
7230
+ readonly sdkName: "objectType";
7231
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7232
+ }, {
7233
+ readonly name: "pipelineId";
7234
+ readonly sdkName: "pipelineId";
7235
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7236
+ }, {
7237
+ readonly name: "stageId";
7238
+ readonly sdkName: "stageId";
7239
+ readonly description: "Stage identifier from the stages array returned by pipelines.retrieve for this pipeline.";
7240
+ }];
7241
+ readonly query: readonly [{
7242
+ readonly name: "validateReferencesBeforeDelete";
7243
+ readonly type: "boolean";
7244
+ readonly required: false;
7245
+ readonly description: "A boolean flag indicating whether to validate references before deleting the stage. Defaults to true.";
7246
+ }];
7247
+ }, {
7248
+ readonly resource: "crm.pipelines.stages";
7249
+ readonly method: "update";
7250
+ readonly summary: "Update pipeline stage";
7251
+ readonly description: "Change the label, order or metadata of a stage selected from pipelines.retrieve. Existing records must satisfy entry rules when subsequently moved; omitted settings retain their values. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Example metadata: {\"praxis_category\":\"open\",\"praxis_terminal\":\"false\",\"praxis_allowed_next\":\"[\\\"proposal\\\",\\\"lost\\\"]\",\"praxis_required\":\"[\\\"budget\\\",\\\"decision_maker\\\"]\"}.";
7252
+ readonly http: "PATCH";
7253
+ readonly path: "/crm/v1/pipelines/{objectType}/{pipelineId}/stages/{stageId}";
7254
+ readonly streaming: "no";
7255
+ readonly pagination: false;
7256
+ readonly pathParams: readonly [{
7257
+ readonly name: "objectType";
7258
+ readonly sdkName: "objectType";
7259
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7260
+ }, {
7261
+ readonly name: "pipelineId";
7262
+ readonly sdkName: "pipelineId";
7263
+ readonly description: "Pipeline identifier from pipelines.list for this objectType.";
7264
+ }, {
7265
+ readonly name: "stageId";
7266
+ readonly sdkName: "stageId";
7267
+ readonly description: "Stage identifier from the stages array returned by pipelines.retrieve for this pipeline.";
7268
+ }];
7269
+ readonly query: readonly [];
7270
+ readonly body: {
7271
+ readonly required: true;
7272
+ readonly fields: readonly [{
7273
+ readonly name: "archived";
7274
+ readonly type: "boolean";
7275
+ readonly required: false;
7276
+ readonly description: "A boolean indicating whether the pipeline stage is archived.";
7277
+ }, {
7278
+ readonly name: "displayOrder";
7279
+ readonly type: "integer";
7280
+ readonly required: false;
7281
+ readonly description: "An integer specifying the order in which the stage appears relative to other stages.";
7282
+ }, {
7283
+ readonly name: "label";
7284
+ readonly type: "string";
7285
+ readonly required: false;
7286
+ readonly description: "A string representing the name or title of the pipeline stage.";
7287
+ }, {
7288
+ readonly name: "metadata";
7289
+ readonly type: "object";
7290
+ readonly required: true;
7291
+ readonly description: "String-valued stage settings, including transition and entry requirements. Stage rules are string values in stage.metadata: praxis_category is open (active), won (successful) or lost (unsuccessful); praxis_terminal is \"true\" (no further transition) or \"false\" (transitions allowed); praxis_allowed_next is a JSON-encoded array string of permitted next stage ids, with the string \"null\" meaning unrestricted; praxis_required is a JSON-encoded array string of property names (\"[]\" means none) that must be non-empty on entry (boolean properties must be \"true\"). Rule violations return HTTP 400 VALIDATION_ERROR; errors[0].context.properties lists missing required property names. Correct those values or choose an allowed stage before retrying.";
7292
+ }];
7293
+ };
7294
+ }, {
7295
+ readonly resource: "crm.properties";
7296
+ readonly method: "list";
7297
+ readonly summary: "List properties";
7298
+ readonly description: "Inspect the property definitions available for an object type before writing or filtering records. Obtain objectType from schemas.list; reuse each immutable name in record properties and filters. archived defaults to false.";
7299
+ readonly http: "GET";
7300
+ readonly path: "/crm/v1/properties/{objectType}";
7301
+ readonly streaming: "no";
7302
+ readonly pagination: false;
7303
+ readonly pathParams: readonly [{
7304
+ readonly name: "objectType";
7305
+ readonly sdkName: "objectType";
7306
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7307
+ }];
7308
+ readonly query: readonly [{
7309
+ readonly name: "archived";
7310
+ readonly type: "boolean";
7311
+ readonly required: false;
7312
+ readonly description: "Whether to return only results that have been archived.";
7313
+ }, {
7314
+ readonly name: "dataSensitivity";
7315
+ readonly type: "string";
7316
+ readonly enum: readonly ["highly_sensitive", "non_sensitive", "sensitive"];
7317
+ readonly required: false;
7318
+ readonly description: "Filter properties based on data sensitivity level. Valid values are 'non_sensitive', 'sensitive', and 'highly_sensitive'. Defaults to 'non_sensitive'.";
7319
+ }, {
7320
+ readonly name: "locale";
7321
+ readonly type: "string";
7322
+ readonly required: false;
7323
+ readonly description: "Specify the locale to retrieve properties in a particular language or regional format.";
7324
+ }, {
7325
+ readonly name: "properties";
7326
+ readonly type: "string";
7327
+ readonly required: false;
7328
+ readonly description: "A comma-separated list of property names to include in the response.";
7329
+ }];
7330
+ }, {
7331
+ readonly resource: "crm.properties";
7332
+ readonly method: "create";
7333
+ readonly summary: "Create property";
7334
+ readonly description: "Define a property before setting its values on records. Choose objectType from schemas.list and groupName from properties.groups.list; provide an immutable internal name, display label, type and fieldType. Enumeration properties require their valid options. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
7335
+ readonly http: "POST";
7336
+ readonly path: "/crm/v1/properties/{objectType}";
7337
+ readonly streaming: "no";
7338
+ readonly pagination: false;
7339
+ readonly pathParams: readonly [{
7340
+ readonly name: "objectType";
7341
+ readonly sdkName: "objectType";
7342
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7343
+ }];
7344
+ readonly query: readonly [];
7345
+ readonly body: {
7346
+ readonly required: true;
7347
+ readonly fields: readonly [{
7348
+ readonly name: "calculationFormula";
7349
+ readonly type: "string";
7350
+ readonly required: false;
7351
+ readonly description: "Represents a formula that is used to compute a calculated property.";
7352
+ }, {
7353
+ readonly name: "currencyPropertyName";
7354
+ readonly type: "string";
7355
+ readonly required: false;
7356
+ readonly description: "A string representing the name of the currency property.";
7357
+ }, {
7358
+ readonly name: "dataSensitivity";
7359
+ readonly type: "string";
7360
+ readonly enum: readonly ["highly_sensitive", "non_sensitive", "sensitive"];
7361
+ readonly required: false;
7362
+ readonly description: "Indicates the sensitivity level of the property, with options: highly_sensitive, non_sensitive, or sensitive.";
7363
+ }, {
7364
+ readonly name: "description";
7365
+ readonly type: "string";
7366
+ readonly required: false;
7367
+ readonly description: "A description of the property that will be shown as help text in CRM.";
7368
+ }, {
7369
+ readonly name: "displayOrder";
7370
+ readonly type: "integer";
7371
+ readonly required: false;
7372
+ readonly description: "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property to be displayed after any positive values.";
7373
+ }, {
7374
+ readonly name: "externalOptions";
7375
+ readonly type: "boolean";
7376
+ readonly required: false;
7377
+ readonly description: "Applicable only for 'enumeration' type properties. Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false.";
7378
+ }, {
7379
+ readonly name: "fieldType";
7380
+ readonly type: "string";
7381
+ readonly enum: readonly ["booleancheckbox", "calculation_equation", "checkbox", "date", "file", "html", "number", "phonenumber", "radio", "select", "text", "textarea"];
7382
+ readonly required: true;
7383
+ readonly description: "Controls how the property appears in CRM.";
7384
+ }, {
7385
+ readonly name: "formField";
7386
+ readonly type: "boolean";
7387
+ readonly required: false;
7388
+ readonly description: "Whether or not the property can be used in a CRM form.";
7389
+ }, {
7390
+ readonly name: "groupName";
7391
+ readonly type: "string";
7392
+ readonly required: true;
7393
+ readonly description: "The name of the property group the property belongs to.";
7394
+ }, {
7395
+ readonly name: "hasUniqueValue";
7396
+ readonly type: "boolean";
7397
+ readonly required: false;
7398
+ readonly description: "Whether or not the property's value must be unique. Once set, this can't be changed.";
7399
+ }, {
7400
+ readonly name: "hidden";
7401
+ readonly type: "boolean";
7402
+ readonly required: false;
7403
+ readonly description: "If true, the property won't be visible and can't be used in CRM.";
7404
+ }, {
7405
+ readonly name: "label";
7406
+ readonly type: "string";
7407
+ readonly required: true;
7408
+ readonly description: "A human-readable property label that will be shown in CRM.";
7409
+ }, {
7410
+ readonly name: "name";
7411
+ readonly type: "string";
7412
+ readonly required: true;
7413
+ readonly description: "The internal property name, which must be used when referencing the property via the API.";
7414
+ }, {
7415
+ readonly name: "numberDisplayHint";
7416
+ readonly type: "string";
7417
+ readonly enum: readonly ["currency", "duration", "formatted", "percentage", "probability", "unformatted"];
7418
+ readonly required: false;
7419
+ readonly description: "A string providing a hint on how to display numbers. Valid values include 'unformatted', 'formatted', 'currency', 'percentage', 'duration', 'probability'.";
7420
+ }, {
7421
+ readonly name: "options";
7422
+ readonly type: "array";
7423
+ readonly itemType: "object";
7424
+ readonly required: false;
7425
+ readonly description: "A list of valid options for the property. This field is required for enumerated properties.";
7426
+ }, {
7427
+ readonly name: "referencedObjectType";
7428
+ readonly type: "string";
7429
+ readonly required: false;
7430
+ readonly description: "Should be set to 'OWNER' when 'externalOptions' is true, which causes the property to dynamically pull option values from the current CRM users.";
7431
+ }, {
7432
+ readonly name: "showCurrencySymbol";
7433
+ readonly type: "boolean";
7434
+ readonly required: false;
7435
+ readonly description: "A boolean indicating whether to show the currency symbol for currency fields.";
7436
+ }, {
7437
+ readonly name: "textDisplayHint";
7438
+ readonly type: "string";
7439
+ readonly enum: readonly ["domain_name", "email", "ip_address", "multi_line", "phone_number", "physical_address", "postal_code", "unformatted_single_line"];
7440
+ readonly required: false;
7441
+ readonly description: "A string providing a hint on how to display text. Valid values include 'unformatted_single_line', 'multi_line', 'email', 'phone_number', 'domain_name', 'ip_address', 'physical_address', 'postal_code'.";
7442
+ }, {
7443
+ readonly name: "type";
7444
+ readonly type: "string";
7445
+ readonly enum: readonly ["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"];
7446
+ readonly required: true;
7447
+ readonly description: "The data type of the property.";
7448
+ }];
7449
+ };
7450
+ }, {
7451
+ readonly resource: "crm.properties.groups";
7452
+ readonly method: "list";
7453
+ readonly summary: "List property groups";
7454
+ readonly description: "Discover property groups for an object type before creating or organizing property definitions. Obtain objectType from schemas.list and reuse a group name as groupName in properties.create or properties.update.";
7455
+ readonly http: "GET";
7456
+ readonly path: "/crm/v1/properties/{objectType}/groups";
7457
+ readonly streaming: "no";
7458
+ readonly pagination: false;
7459
+ readonly pathParams: readonly [{
7460
+ readonly name: "objectType";
7461
+ readonly sdkName: "objectType";
7462
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7463
+ }];
7464
+ readonly query: readonly [{
7465
+ readonly name: "locale";
7466
+ readonly type: "string";
7467
+ readonly required: false;
7468
+ readonly description: "The language locale to use for property group labels. This can help in displaying labels in the preferred language.";
7469
+ }];
7470
+ }, {
7471
+ readonly resource: "crm.properties.groups";
7472
+ readonly method: "create";
7473
+ readonly summary: "Create property group";
7474
+ readonly description: "Create a named group for related property definitions of one object type. Obtain objectType from schemas.list; choose a unique internal name and display label, then reuse the returned name as groupName when creating properties. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
7475
+ readonly http: "POST";
7476
+ readonly path: "/crm/v1/properties/{objectType}/groups";
7477
+ readonly streaming: "no";
7478
+ readonly pagination: false;
7479
+ readonly pathParams: readonly [{
7480
+ readonly name: "objectType";
7481
+ readonly sdkName: "objectType";
7482
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7483
+ }];
7484
+ readonly query: readonly [];
7485
+ readonly body: {
7486
+ readonly required: true;
7487
+ readonly fields: readonly [{
7488
+ readonly name: "displayOrder";
7489
+ readonly type: "integer";
7490
+ readonly required: false;
7491
+ readonly description: "Property groups are displayed in order starting with the lowest positive integer value. Values of -1 will cause the property group to be displayed after any positive values.";
7492
+ }, {
7493
+ readonly name: "label";
7494
+ readonly type: "string";
7495
+ readonly required: true;
7496
+ readonly description: "A human-readable label that will be shown in CRM.";
7497
+ }, {
7498
+ readonly name: "name";
7499
+ readonly type: "string";
7500
+ readonly required: true;
7501
+ readonly description: "The internal property group name, which must be used when referencing the property group via the API.";
7502
+ }];
7503
+ };
7504
+ }, {
7505
+ readonly resource: "crm.properties";
7506
+ readonly method: "archive";
7507
+ readonly summary: "Archive property";
7508
+ readonly description: "Archive a property definition selected by internal name from properties.list. Confirm that record entry and search flows no longer depend on it; archived definitions are excluded from normal property lists. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations. Unlike HubSpot, this own-face archive returns HTTP 200 with a JSON refs body instead of HTTP 204.";
7509
+ readonly http: "DELETE";
7510
+ readonly path: "/crm/v1/properties/{objectType}/{propertyName}";
7511
+ readonly streaming: "no";
7512
+ readonly pagination: false;
7513
+ readonly pathParams: readonly [{
7514
+ readonly name: "objectType";
7515
+ readonly sdkName: "objectType";
7516
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7517
+ }, {
7518
+ readonly name: "propertyName";
7519
+ readonly sdkName: "propertyName";
7520
+ readonly description: "Immutable internal property name from properties.list; do not pass the display label.";
7521
+ }];
7522
+ readonly query: readonly [];
7523
+ }, {
7524
+ readonly resource: "crm.properties";
7525
+ readonly method: "retrieve";
7526
+ readonly summary: "Retrieve property";
7527
+ readonly description: "Inspect the type, options and modification restrictions of a property before changing its definition or record values. Obtain propertyName from properties.list; it is the immutable internal name rather than the label.";
7528
+ readonly http: "GET";
7529
+ readonly path: "/crm/v1/properties/{objectType}/{propertyName}";
7530
+ readonly streaming: "no";
7531
+ readonly pagination: false;
7532
+ readonly pathParams: readonly [{
7533
+ readonly name: "objectType";
7534
+ readonly sdkName: "objectType";
7535
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7536
+ }, {
7537
+ readonly name: "propertyName";
7538
+ readonly sdkName: "propertyName";
7539
+ readonly description: "Immutable internal property name from properties.list; do not pass the display label.";
7540
+ }];
7541
+ readonly query: readonly [{
7542
+ readonly name: "archived";
7543
+ readonly type: "boolean";
7544
+ readonly required: false;
7545
+ readonly description: "Whether to return only results that have been archived.";
7546
+ }, {
7547
+ readonly name: "dataSensitivity";
7548
+ readonly type: "string";
7549
+ readonly enum: readonly ["highly_sensitive", "non_sensitive", "sensitive"];
7550
+ readonly required: false;
7551
+ readonly description: "The level of data sensitivity to filter properties by. Valid values are 'non_sensitive', 'sensitive', and 'highly_sensitive'. Defaults to 'non_sensitive'.";
7552
+ }, {
7553
+ readonly name: "locale";
7554
+ readonly type: "string";
7555
+ readonly required: false;
7556
+ readonly description: "The locale to use for property labels and descriptions.";
7557
+ }, {
7558
+ readonly name: "properties";
7559
+ readonly type: "string";
7560
+ readonly required: false;
7561
+ readonly description: "A comma-separated list of property names to include in the response.";
7562
+ }];
7563
+ }, {
7564
+ readonly resource: "crm.properties";
7565
+ readonly method: "update";
7566
+ readonly summary: "Update property";
7567
+ readonly description: "Change editable settings of a property selected from properties.list, such as its label, group or options. Preserve the immutable internal name; inspect modificationMetadata before editing system-managed definitions. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
7568
+ readonly http: "PATCH";
7569
+ readonly path: "/crm/v1/properties/{objectType}/{propertyName}";
7570
+ readonly streaming: "no";
7571
+ readonly pagination: false;
7572
+ readonly pathParams: readonly [{
7573
+ readonly name: "objectType";
7574
+ readonly sdkName: "objectType";
7575
+ readonly description: "Object type name from schemas.list, such as contacts, companies, deals or a custom p_<name>.";
7576
+ }, {
7577
+ readonly name: "propertyName";
7578
+ readonly sdkName: "propertyName";
7579
+ readonly description: "Immutable internal property name from properties.list; do not pass the display label.";
7580
+ }];
7581
+ readonly query: readonly [];
7582
+ readonly body: {
7583
+ readonly required: true;
7584
+ readonly fields: readonly [{
7585
+ readonly name: "calculationFormula";
7586
+ readonly type: "string";
7587
+ readonly required: false;
7588
+ readonly description: "Represents a formula that is used to compute a calculated property.";
7589
+ }, {
7590
+ readonly name: "currencyPropertyName";
7591
+ readonly type: "string";
7592
+ readonly required: false;
7593
+ readonly description: "A string specifying the name of the property that holds the currency information, applicable when showCurrencySymbol is true.";
7594
+ }, {
7595
+ readonly name: "description";
7596
+ readonly type: "string";
7597
+ readonly required: false;
7598
+ readonly description: "A description of the property that will be shown as help text in CRM.";
7599
+ }, {
7600
+ readonly name: "displayOrder";
7601
+ readonly type: "integer";
7602
+ readonly required: false;
7603
+ readonly description: "Properties are displayed in order starting with the lowest positive integer value. Values of -1 will cause the Property to be displayed after any positive values.";
7604
+ }, {
7605
+ readonly name: "fieldType";
7606
+ readonly type: "string";
7607
+ readonly enum: readonly ["booleancheckbox", "calculation_equation", "checkbox", "date", "file", "html", "number", "phonenumber", "radio", "select", "text", "textarea"];
7608
+ readonly required: false;
7609
+ readonly description: "Controls how the property appears in CRM.";
7610
+ }, {
7611
+ readonly name: "formField";
7612
+ readonly type: "boolean";
7613
+ readonly required: false;
7614
+ readonly description: "Whether or not the property can be used in a CRM form.";
7615
+ }, {
7616
+ readonly name: "groupName";
7617
+ readonly type: "string";
7618
+ readonly required: false;
7619
+ readonly description: "The name of the property group the property belongs to.";
7620
+ }, {
7621
+ readonly name: "hidden";
7622
+ readonly type: "boolean";
7623
+ readonly required: false;
7624
+ readonly description: "If true, the property won't be visible and can't be used in CRM.";
7625
+ }, {
7626
+ readonly name: "label";
7627
+ readonly type: "string";
7628
+ readonly required: false;
7629
+ readonly description: "A human-readable property label that will be shown in CRM.";
7630
+ }, {
7631
+ readonly name: "numberDisplayHint";
7632
+ readonly type: "string";
7633
+ readonly enum: readonly ["currency", "duration", "formatted", "percentage", "probability", "unformatted"];
7634
+ readonly required: false;
7635
+ readonly description: "A string providing a hint for displaying number values. Valid values include 'unformatted', 'formatted', 'currency', 'percentage', 'duration', and 'probability'.";
7636
+ }, {
7637
+ readonly name: "options";
7638
+ readonly type: "array";
7639
+ readonly itemType: "object";
7640
+ readonly required: false;
7641
+ readonly description: "A list of valid options for the property.";
7642
+ }, {
7643
+ readonly name: "showCurrencySymbol";
7644
+ readonly type: "boolean";
7645
+ readonly required: false;
7646
+ readonly description: "A boolean indicating whether to display a currency symbol for number fields formatted as currency.";
7647
+ }, {
7648
+ readonly name: "textDisplayHint";
7649
+ readonly type: "string";
7650
+ readonly enum: readonly ["domain_name", "email", "ip_address", "multi_line", "phone_number", "physical_address", "postal_code", "unformatted_single_line"];
7651
+ readonly required: false;
7652
+ readonly description: "A string providing a hint for displaying text values. Valid values include 'unformatted_single_line', 'multi_line', 'email', 'phone_number', 'domain_name', 'ip_address', 'physical_address', and 'postal_code'.";
7653
+ }, {
7654
+ readonly name: "type";
7655
+ readonly type: "string";
7656
+ readonly enum: readonly ["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"];
7657
+ readonly required: false;
7658
+ readonly description: "The data type of the property.";
7659
+ }];
7660
+ };
7661
+ }, {
7662
+ readonly resource: "crm.schemas";
7663
+ readonly method: "list";
7664
+ readonly summary: "List object schemas";
7665
+ readonly description: "Discover available object schemas, display labels, property definitions and association definitions. Reuse the object type identifier or name in record, property and pipeline operations. archived defaults to false; the include parameters control the definition and audit details returned.";
7666
+ readonly http: "GET";
7667
+ readonly path: "/crm/v1/schemas";
7668
+ readonly streaming: "no";
7669
+ readonly pagination: false;
7670
+ readonly pathParams: readonly [];
7671
+ readonly query: readonly [{
7672
+ readonly name: "archived";
7673
+ readonly type: "boolean";
7674
+ readonly required: false;
7675
+ readonly description: "Whether to return only results that have been archived.";
7676
+ }, {
7677
+ readonly name: "includeAssociationDefinitions";
7678
+ readonly type: "boolean";
7679
+ readonly required: false;
7680
+ readonly description: "Whether to include association definitions in the response. Defaults to true.";
7681
+ }, {
7682
+ readonly name: "includeAuditMetadata";
7683
+ readonly type: "boolean";
7684
+ readonly required: false;
7685
+ readonly description: "Whether to include audit metadata in the response. Defaults to true.";
7686
+ }, {
7687
+ readonly name: "includePropertyDefinitions";
7688
+ readonly type: "boolean";
7689
+ readonly required: false;
7690
+ readonly description: "Whether to include property definitions in the response. Defaults to true.";
7691
+ }];
7692
+ }, {
7693
+ readonly resource: "crm.schemas";
7694
+ readonly method: "create";
7695
+ readonly summary: "Create object schema";
7696
+ readonly description: "Define a custom CRM object type before creating its records. Provide its immutable name, singular and plural labels, primaryDisplayProperty, properties and associated object types. Save the returned object type identifier for subsequent record and property operations. Writes return refs (ResourceRef[]) for entity cards and optional property changes in conversations.";
7697
+ readonly http: "POST";
7698
+ readonly path: "/crm/v1/schemas";
7699
+ readonly streaming: "no";
7700
+ readonly pagination: false;
7701
+ readonly pathParams: readonly [];
7702
+ readonly query: readonly [];
7703
+ readonly body: {
7704
+ readonly required: true;
7705
+ readonly fields: readonly [{
7706
+ readonly name: "allowsSensitiveProperties";
7707
+ readonly type: "boolean";
7708
+ readonly required: true;
7709
+ readonly description: "Determines if the object type can include properties that are marked as sensitive.";
7710
+ }, {
7711
+ readonly name: "associatedObjects";
7712
+ readonly type: "array";
7713
+ readonly itemType: "string";
7714
+ readonly required: true;
7715
+ readonly description: "Associations defined for this object type.";
7716
+ }, {
7717
+ readonly name: "description";
7718
+ readonly type: "string";
7719
+ readonly required: false;
7720
+ readonly description: "A brief explanation of the object type.";
7721
+ }, {
7722
+ readonly name: "labels";
7723
+ readonly type: "object";
7724
+ readonly required: true;
7725
+ }, {
7726
+ readonly name: "name";
7727
+ readonly type: "string";
7728
+ readonly required: true;
7729
+ readonly description: "A unique name for this object. For internal use only.";
7730
+ }, {
7731
+ readonly name: "primaryDisplayProperty";
7732
+ readonly type: "string";
7733
+ readonly required: false;
7734
+ readonly description: "The name of the primary property for this object. This will be displayed as primary on the CRM record page for this object type.";
7735
+ }, {
7736
+ readonly name: "properties";
7737
+ readonly type: "array";
7738
+ readonly itemType: "object";
7739
+ readonly required: true;
7740
+ readonly description: "Properties defined for this object type.";
7741
+ }, {
7742
+ readonly name: "requiredProperties";
7743
+ readonly type: "array";
7744
+ readonly itemType: "string";
7745
+ readonly required: true;
7746
+ readonly description: "The names of properties that should be **required** when creating an object of this type.";
7747
+ }, {
7748
+ readonly name: "searchableProperties";
7749
+ readonly type: "array";
7750
+ readonly itemType: "string";
7751
+ readonly required: true;
7752
+ readonly description: "Names of properties that will be indexed for this object type in by CRM's product search.";
7753
+ }, {
7754
+ readonly name: "secondaryDisplayProperties";
7755
+ readonly type: "array";
7756
+ readonly itemType: "string";
7757
+ readonly required: true;
7758
+ readonly description: "The names of secondary properties for this object. These will be displayed as secondary on the CRM record page for this object type.";
7759
+ }, {
7760
+ readonly name: "shouldCreateSameObjectAssociation";
7761
+ readonly type: "boolean";
7762
+ readonly required: true;
7763
+ readonly description: "A boolean indicating whether associations should be created between objects of the same type.";
7764
+ }];
7765
+ };
7766
+ }, {
7767
+ readonly resource: "cut.exports";
7768
+ readonly method: "retrieve";
7769
+ readonly summary: "Retrieve video export";
7770
+ readonly description: "Poll an export id returned by projects.exports.create or list to observe render progress. queued, fetching, rendering, stitching and saving are in progress; done provides asset in the target library, failed provides error, and canceled means the job stopped. Only done confirms a usable output asset.";
7771
+ readonly http: "GET";
7772
+ readonly path: "/cut/v1/exports/{export_id}";
7773
+ readonly streaming: "no";
7774
+ readonly pagination: false;
7775
+ readonly pathParams: readonly [{
7776
+ readonly name: "export_id";
7777
+ readonly sdkName: "export_id";
7778
+ readonly description: "Export identifier returned by its create or list operation; use the id, not a display name.";
7779
+ }];
7780
+ readonly query: readonly [];
7781
+ }, {
7782
+ readonly resource: "cut.exports";
7783
+ readonly method: "cancel";
7784
+ readonly summary: "Cancel video export";
7785
+ readonly description: "Request cancellation of an export obtained from projects.exports.create or list when its output is no longer needed. Read the returned job status and retrieve it to confirm the terminal outcome; do not interpret a cancellation request as successful rendering.";
7786
+ readonly http: "POST";
7787
+ readonly path: "/cut/v1/exports/{export_id}:cancel";
7788
+ readonly streaming: "no";
7789
+ readonly pagination: false;
7790
+ readonly pathParams: readonly [{
7791
+ readonly name: "export_id";
7792
+ readonly sdkName: "export_id";
7793
+ readonly description: "Export identifier returned by its create or list operation; use the id, not a display name.";
7794
+ }];
7795
+ readonly query: readonly [];
7796
+ }, {
7797
+ readonly resource: "cut.projects";
7798
+ readonly method: "list";
7799
+ readonly summary: "List projects";
7800
+ readonly description: "Discover projects owned by the API key organization and obtain project_id values. Results default to active projects ordered by updateTime descending; use filter state = \"deleted\" to find retained deleted projects for undelete. Continue with next_page_token as page_token until the token is absent.";
7801
+ readonly http: "GET";
7802
+ readonly path: "/cut/v1/projects";
7803
+ readonly streaming: "no";
7804
+ readonly pagination: false;
7805
+ readonly pathParams: readonly [];
7806
+ readonly query: readonly [{
7807
+ readonly name: "page_size";
7808
+ readonly type: "integer";
7809
+ readonly required: false;
7810
+ readonly description: "Maximum resources in one page, from 1 to 100; defaults to 50.";
7811
+ }, {
7812
+ readonly name: "page_token";
7813
+ readonly type: "string";
7814
+ readonly required: false;
7815
+ readonly description: "Opaque next_page_token from the preceding page; omit on the first request.";
7816
+ }, {
7817
+ readonly name: "filter";
7818
+ readonly type: "string";
7819
+ readonly required: false;
7820
+ readonly description: "Optional resource filter; projects supports state = \"active\" or state = \"deleted\".";
7821
+ }, {
7822
+ readonly name: "order_by";
7823
+ readonly type: "string";
7824
+ readonly required: false;
7825
+ readonly description: "Optional ordering expression; projects supports updateTime desc.";
7826
+ }];
7827
+ }, {
7828
+ readonly resource: "cut.projects";
7829
+ readonly method: "create";
7830
+ readonly summary: "Create project";
7831
+ readonly description: "Create a blank editing project in the API key organization before writing a script. First obtain accessible library ids from praxis.media; bindings must include exactly one read_write library with default_upload true. Each call creates a new project and returns HTTP 201; save its id for execute, state and timeline calls. All editing positions use seconds.";
7832
+ readonly http: "POST";
7833
+ readonly path: "/cut/v1/projects";
7834
+ readonly streaming: "no";
7835
+ readonly pagination: false;
7836
+ readonly pathParams: readonly [];
7837
+ readonly query: readonly [];
7838
+ readonly body: {
7839
+ readonly required: true;
7840
+ readonly fields: readonly [{
7841
+ readonly name: "name";
7842
+ readonly type: "string";
7843
+ readonly required: true;
7844
+ readonly description: "Human-readable project name; required and must contain non-whitespace text.";
7845
+ }, {
7846
+ readonly name: "labels";
7847
+ readonly type: "object";
7848
+ readonly required: false;
7849
+ readonly description: "User-defined string labels for organizing projects; label keys retain their original spelling.";
7850
+ }, {
7851
+ readonly name: "settings";
7852
+ readonly type: "object";
7853
+ readonly required: true;
7854
+ readonly description: "Dimensions and frame rate for a new editing project.";
7855
+ }, {
7856
+ readonly name: "bindings";
7857
+ readonly type: "array";
7858
+ readonly itemType: "object";
7859
+ readonly required: true;
7860
+ readonly description: "Accessible library bindings; exactly one read_write entry must have default_upload true.";
7861
+ }];
7862
+ };
7863
+ }, {
7864
+ readonly resource: "cut.projects";
7865
+ readonly method: "delete";
7866
+ readonly summary: "Delete project";
7867
+ readonly description: "Soft-delete a project selected from projects.list. The project is retained for seven days until purge_time and can be restored with undelete before that deadline. Deleted projects cannot be edited; list with filter state = \"deleted\" to locate retained projects.";
7868
+ readonly http: "DELETE";
7869
+ readonly path: "/cut/v1/projects/{project_id}";
7870
+ readonly streaming: "no";
7871
+ readonly pagination: false;
7872
+ readonly pathParams: readonly [{
7873
+ readonly name: "project_id";
7874
+ readonly sdkName: "project_id";
7875
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7876
+ }];
7877
+ readonly query: readonly [];
7878
+ }, {
7879
+ readonly resource: "cut.projects";
7880
+ readonly method: "retrieve";
7881
+ readonly summary: "Retrieve project";
7882
+ readonly description: "Inspect project metadata, settings and library bindings before editing. Copy id from projects.create or list; expand=timeline,exports,versions includes selected related resources. The expanded timeline uses seconds and the returned revision can guard a later execute call with expected_revision.";
7883
+ readonly http: "GET";
7884
+ readonly path: "/cut/v1/projects/{project_id}";
7885
+ readonly streaming: "no";
7886
+ readonly pagination: false;
7887
+ readonly pathParams: readonly [{
7888
+ readonly name: "project_id";
7889
+ readonly sdkName: "project_id";
7890
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7891
+ }];
7892
+ readonly query: readonly [{
7893
+ readonly name: "expand";
7894
+ readonly type: "string";
7895
+ readonly required: false;
7896
+ readonly description: "Comma-separated expansions: timeline includes clips, exports includes render jobs, versions includes saved snapshots.";
7897
+ }];
7898
+ }, {
7899
+ readonly resource: "cut.projects";
7900
+ readonly method: "update";
7901
+ readonly summary: "Update project metadata";
7902
+ readonly description: "Change the project display name or replace its labels by naming those fields in update_mask. Use execute for clip or track edits. Each successful update commits a new revision; labels are replaced as a whole when selected, so read and merge existing labels before overwriting them.";
7903
+ readonly http: "PATCH";
7904
+ readonly path: "/cut/v1/projects/{project_id}";
7905
+ readonly streaming: "no";
7906
+ readonly pagination: false;
7907
+ readonly pathParams: readonly [{
7908
+ readonly name: "project_id";
7909
+ readonly sdkName: "project_id";
7910
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7911
+ }];
7912
+ readonly query: readonly [];
7913
+ readonly body: {
7914
+ readonly required: true;
7915
+ readonly fields: readonly [{
7916
+ readonly name: "name";
7917
+ readonly type: "string";
7918
+ readonly required: false;
7919
+ readonly description: "Replacement display name when update_mask includes name.";
7920
+ }, {
7921
+ readonly name: "labels";
7922
+ readonly type: "object";
7923
+ readonly required: false;
7924
+ readonly description: "User-defined string labels for organizing projects; label keys retain their original spelling.";
7925
+ }, {
7926
+ readonly name: "update_mask";
7927
+ readonly type: "array";
7928
+ readonly itemType: "string";
7929
+ readonly enum: readonly ["name", "labels"];
7930
+ readonly required: true;
7931
+ readonly description: "Metadata fields to replace; name changes the display name and labels replaces all labels.";
7932
+ }];
7933
+ };
7934
+ }, {
7935
+ readonly resource: "cut.projects.analysis";
7936
+ readonly method: "create";
7937
+ readonly summary: "Analyze project media";
7938
+ readonly description: "Request silence, filler-word or scene analysis for selected bound assets before editing. Omit media to select project sources; ranges returned in segments use source seconds. A pending result is not completion: use retry_after_sec before checking again, and inspect failed or unsupported asset results before deciding which edits are possible.";
7939
+ readonly http: "POST";
7940
+ readonly path: "/cut/v1/projects/{project_id}/analysis";
7941
+ readonly streaming: "no";
7942
+ readonly pagination: false;
7943
+ readonly pathParams: readonly [{
7944
+ readonly name: "project_id";
7945
+ readonly sdkName: "project_id";
7946
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7947
+ }];
7948
+ readonly query: readonly [];
7949
+ readonly body: {
7950
+ readonly required: true;
7951
+ readonly fields: readonly [{
7952
+ readonly name: "media";
7953
+ readonly type: "array";
7954
+ readonly itemType: "object";
7955
+ readonly required: false;
7956
+ readonly description: "Bound-library assets to analyze; omission selects project media.";
7957
+ }, {
7958
+ readonly name: "kinds";
7959
+ readonly type: "array";
7960
+ readonly itemType: "string";
7961
+ readonly enum: readonly ["silence", "filler", "scenes"];
7962
+ readonly required: true;
7963
+ readonly description: "Analysis types to request for the selected source assets.";
7964
+ }];
7965
+ };
7966
+ }, {
7967
+ readonly resource: "cut.projects.bindings";
7968
+ readonly method: "list";
7969
+ readonly summary: "List library bindings";
7970
+ readonly description: "Discover the named media libraries available to this project before selecting source assets or an import/export destination. read bindings supply source assets; read_write bindings also accept uploads. Exactly one writable binding supplies the default upload destination.";
7971
+ readonly http: "GET";
7972
+ readonly path: "/cut/v1/projects/{project_id}/bindings";
7973
+ readonly streaming: "no";
7974
+ readonly pagination: false;
7975
+ readonly pathParams: readonly [{
7976
+ readonly name: "project_id";
7977
+ readonly sdkName: "project_id";
7978
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7979
+ }];
7980
+ readonly query: readonly [];
7981
+ }, {
7982
+ readonly resource: "cut.projects.bindings";
7983
+ readonly method: "create";
7984
+ readonly summary: "Bind media library";
7985
+ readonly description: "Attach an accessible media library to an existing project under a unique name. Obtain library_id from praxis.media and choose read for source-only access or read_write for imports and exports. The project must retain exactly one read_write binding with default_upload true after the change.";
7986
+ readonly http: "POST";
7987
+ readonly path: "/cut/v1/projects/{project_id}/bindings";
7988
+ readonly streaming: "no";
7989
+ readonly pagination: false;
7990
+ readonly pathParams: readonly [{
7991
+ readonly name: "project_id";
7992
+ readonly sdkName: "project_id";
7993
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
7994
+ }];
7995
+ readonly query: readonly [];
7996
+ readonly body: {
7997
+ readonly required: true;
7998
+ readonly fields: readonly [{
7999
+ readonly name: "binding";
8000
+ readonly type: "object";
8001
+ readonly required: true;
8002
+ readonly description: "A named project link to a media library. Exactly one read_write binding must be default_upload.";
8003
+ }];
8004
+ };
8005
+ }, {
8006
+ readonly resource: "cut.projects.bindings";
8007
+ readonly method: "delete";
8008
+ readonly summary: "Remove library binding";
8009
+ readonly description: "Detach a library alias obtained from bindings.list after removing all timeline clips that reference its library. BINDING_IN_USE returns 409 while references remain; inspect timeline and edit those clips first. Removal must preserve the one writable default upload binding.";
8010
+ readonly http: "DELETE";
8011
+ readonly path: "/cut/v1/projects/{project_id}/bindings/{name}";
8012
+ readonly streaming: "no";
8013
+ readonly pagination: false;
8014
+ readonly pathParams: readonly [{
8015
+ readonly name: "project_id";
8016
+ readonly sdkName: "project_id";
8017
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8018
+ }, {
8019
+ readonly name: "name";
8020
+ readonly sdkName: "name";
8021
+ readonly description: "Project-local binding alias from bindings.list; detach only after removing all clips that reference its library.";
8022
+ }];
8023
+ readonly query: readonly [];
8024
+ }, {
8025
+ readonly resource: "cut.projects.exports";
8026
+ readonly method: "list";
8027
+ readonly summary: "List project exports";
8028
+ readonly description: "Find export jobs associated with this project before polling or canceling a render. Copy an export id into praxis.cut.exports.retrieve or cancel. Continue with next_page_token as page_token when present; queued or in-progress jobs have not produced a final media asset.";
8029
+ readonly http: "GET";
8030
+ readonly path: "/cut/v1/projects/{project_id}/exports";
8031
+ readonly streaming: "no";
8032
+ readonly pagination: false;
8033
+ readonly pathParams: readonly [{
8034
+ readonly name: "project_id";
8035
+ readonly sdkName: "project_id";
8036
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8037
+ }];
8038
+ readonly query: readonly [{
8039
+ readonly name: "page_size";
8040
+ readonly type: "integer";
8041
+ readonly required: false;
8042
+ readonly description: "Maximum resources in one page, from 1 to 100; defaults to 50.";
8043
+ }, {
8044
+ readonly name: "page_token";
8045
+ readonly type: "string";
8046
+ readonly required: false;
8047
+ readonly description: "Opaque next_page_token from the preceding page; omit on the first request.";
8048
+ }, {
8049
+ readonly name: "filter";
8050
+ readonly type: "string";
8051
+ readonly required: false;
8052
+ readonly description: "Optional resource filter; projects supports state = \"active\" or state = \"deleted\".";
8053
+ }, {
8054
+ readonly name: "order_by";
8055
+ readonly type: "string";
8056
+ readonly required: false;
8057
+ readonly description: "Optional ordering expression; projects supports updateTime desc.";
8058
+ }];
8059
+ }, {
8060
+ readonly resource: "cut.projects.exports";
8061
+ readonly method: "create";
8062
+ readonly summary: "Create video export";
8063
+ readonly description: "Start an asynchronous video export from the project into a writable bound media library. Choose binding from bindings.list or omit it for default_upload, and optionally select revision and output settings. HTTP 202 only accepts the job; poll praxis.cut.exports.retrieve using the returned id until status is done, failed or canceled. On done, asset identifies the video written back to praxis.media. Each call starts a job, so retrieve a known job before retrying a submission.";
8064
+ readonly http: "POST";
8065
+ readonly path: "/cut/v1/projects/{project_id}/exports";
8066
+ readonly streaming: "no";
8067
+ readonly pagination: false;
8068
+ readonly pathParams: readonly [{
8069
+ readonly name: "project_id";
8070
+ readonly sdkName: "project_id";
8071
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8072
+ }];
8073
+ readonly query: readonly [];
8074
+ readonly body: {
8075
+ readonly required: true;
8076
+ readonly fields: readonly [{
8077
+ readonly name: "output";
8078
+ readonly type: "object";
8079
+ readonly required: false;
8080
+ readonly description: "Rendering options for an exported video.";
8081
+ }, {
8082
+ readonly name: "binding";
8083
+ readonly type: "string";
8084
+ readonly required: false;
8085
+ readonly description: "Writable binding name used as the export destination; omission uses default_upload.";
8086
+ }, {
8087
+ readonly name: "revision";
8088
+ readonly type: "integer";
8089
+ readonly required: false;
8090
+ readonly description: "Committed project revision from retrieve, state, timeline or execute; increases after each successful write.";
8091
+ }];
8092
+ };
8093
+ }, {
8094
+ readonly resource: "cut.projects.frames";
8095
+ readonly method: "list";
8096
+ readonly summary: "Render preview frames";
8097
+ readonly description: "Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Request at most eight times. Each returned url is an inline PNG data URL (data:image/png;base64,...), not a hosted HTTP image link. Decode its base64 payload to save the image. Codemode returns at most four images per call, so request at most four times when reviewing there.";
8098
+ readonly http: "GET";
8099
+ readonly path: "/cut/v1/projects/{project_id}/frames";
8100
+ readonly streaming: "no";
8101
+ readonly pagination: false;
8102
+ readonly pathParams: readonly [{
8103
+ readonly name: "project_id";
8104
+ readonly sdkName: "project_id";
8105
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8106
+ }];
8107
+ readonly query: readonly [{
8108
+ readonly name: "at";
8109
+ readonly type: "string";
8110
+ readonly required: true;
8111
+ readonly description: "Required comma-separated non-negative project times in seconds, for example 12,15.5.";
8112
+ }, {
8113
+ readonly name: "scale";
8114
+ readonly type: "number";
8115
+ readonly required: false;
8116
+ readonly description: "Positive image size multiplier; 0.5 renders at half the project dimensions.";
8117
+ }, {
8118
+ readonly name: "revision";
8119
+ readonly type: "integer";
8120
+ readonly required: false;
8121
+ readonly description: "Optional committed project revision from state or execute; omission selects the current revision.";
8122
+ }];
8123
+ }, {
8124
+ readonly resource: "cut.projects.media";
8125
+ readonly method: "import";
8126
+ readonly summary: "Import project media";
8127
+ readonly description: "Import a URL, data URI or existing file into a writable project media library. Select binding from bindings.list or omit it to use default_upload. Save library_id and asset_id from the result and use them as libraryId and assetId inside execute script media references; overwrites follow the source asset latest version.";
8128
+ readonly http: "POST";
8129
+ readonly path: "/cut/v1/projects/{project_id}/media:import";
8130
+ readonly streaming: "no";
8131
+ readonly pagination: false;
8132
+ readonly pathParams: readonly [{
8133
+ readonly name: "project_id";
8134
+ readonly sdkName: "project_id";
8135
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8136
+ }];
8137
+ readonly query: readonly [];
8138
+ readonly body: {
8139
+ readonly required: true;
8140
+ readonly fields: readonly [{
8141
+ readonly name: "binding";
8142
+ readonly type: "string";
8143
+ readonly required: false;
8144
+ readonly description: "Writable binding name from project bindings; omission uses default_upload.";
8145
+ }, {
8146
+ readonly name: "source";
8147
+ readonly type: "object";
8148
+ readonly required: true;
8149
+ readonly description: "Exactly one input source for the imported asset.";
8150
+ }, {
8151
+ readonly name: "display_name";
8152
+ readonly type: "string";
8153
+ readonly required: false;
8154
+ readonly description: "Optional human-readable display name for the new media asset.";
8155
+ }];
8156
+ };
8157
+ }, {
8158
+ readonly resource: "cut.projects";
8159
+ readonly method: "retrieveState";
8160
+ readonly summary: "Read editing state";
8161
+ readonly description: "Read lightweight project context before composing an execute script. Returns current revision, rendering settings, track counts, library bindings and offline media count without individual clips. For complete clip documents or a selected time range, read timeline instead.";
8162
+ readonly http: "GET";
8163
+ readonly path: "/cut/v1/projects/{project_id}/state";
8164
+ readonly streaming: "no";
8165
+ readonly pagination: false;
8166
+ readonly pathParams: readonly [{
8167
+ readonly name: "project_id";
8168
+ readonly sdkName: "project_id";
8169
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8170
+ }];
8171
+ readonly query: readonly [];
8172
+ }, {
8173
+ readonly resource: "cut.projects";
8174
+ readonly method: "retrieveTimeline";
8175
+ readonly summary: "Read project timeline";
8176
+ readonly description: "Inspect clips and markers in a selected project range before editing. view=full returns structured tracks with all timeline positions in seconds; view=compact returns compact text for script context. from and to are seconds and tracks limits the selection to comma-separated track ids from state. Concurrent changes while preparing a full timeline return 409; retrieve the latest state and try the read again.";
8177
+ readonly http: "GET";
8178
+ readonly path: "/cut/v1/projects/{project_id}/timeline";
8179
+ readonly streaming: "no";
8180
+ readonly pagination: false;
8181
+ readonly pathParams: readonly [{
8182
+ readonly name: "project_id";
8183
+ readonly sdkName: "project_id";
8184
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8185
+ }];
8186
+ readonly query: readonly [{
8187
+ readonly name: "view";
8188
+ readonly type: "string";
8189
+ readonly enum: readonly ["full", "compact"];
8190
+ readonly required: false;
8191
+ readonly description: "full returns structured clips; compact returns compact textual editing context.";
8192
+ }, {
8193
+ readonly name: "from";
8194
+ readonly type: "number";
8195
+ readonly required: false;
8196
+ readonly description: "Optional start of the selected project range in seconds; omit for the beginning.";
8197
+ }, {
8198
+ readonly name: "to";
8199
+ readonly type: "number";
8200
+ readonly required: false;
8201
+ readonly description: "Optional end of the selected project range in seconds; omit for the end.";
8202
+ }, {
8203
+ readonly name: "tracks";
8204
+ readonly type: "string";
8205
+ readonly required: false;
8206
+ readonly description: "Comma-separated track ids from state to include; omit to include every track.";
8207
+ }];
8208
+ }, {
8209
+ readonly resource: "cut.projects.versions";
8210
+ readonly method: "list";
8211
+ readonly summary: "List saved versions";
8212
+ readonly description: "Find saved timeline snapshots for this project and obtain version_id values for restore. A saved version records its original revision; restoring it creates a new current revision rather than rewinding the revision counter. Continue with next_page_token as page_token until absent.";
8213
+ readonly http: "GET";
8214
+ readonly path: "/cut/v1/projects/{project_id}/versions";
8215
+ readonly streaming: "no";
8216
+ readonly pagination: false;
8217
+ readonly pathParams: readonly [{
8218
+ readonly name: "project_id";
8219
+ readonly sdkName: "project_id";
8220
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8221
+ }];
8222
+ readonly query: readonly [{
8223
+ readonly name: "page_size";
8224
+ readonly type: "integer";
8225
+ readonly required: false;
8226
+ readonly description: "Maximum resources in one page, from 1 to 100; defaults to 50.";
8227
+ }, {
8228
+ readonly name: "page_token";
8229
+ readonly type: "string";
8230
+ readonly required: false;
8231
+ readonly description: "Opaque next_page_token from the preceding page; omit on the first request.";
8232
+ }, {
8233
+ readonly name: "filter";
8234
+ readonly type: "string";
8235
+ readonly required: false;
8236
+ readonly description: "Optional resource filter; projects supports state = \"active\" or state = \"deleted\".";
8237
+ }, {
8238
+ readonly name: "order_by";
8239
+ readonly type: "string";
8240
+ readonly required: false;
8241
+ readonly description: "Optional ordering expression; projects supports updateTime desc.";
8242
+ }];
8243
+ }, {
8244
+ readonly resource: "cut.projects.versions";
8245
+ readonly method: "create";
8246
+ readonly summary: "Save project version";
8247
+ readonly description: "Save the current project timeline as a named recovery point before a substantial edit. Supply an optional label or send an empty object; keep the returned version id for versions.restore. Saving a version does not publish a rendered asset; use projects.exports.create for video output.";
8248
+ readonly http: "POST";
8249
+ readonly path: "/cut/v1/projects/{project_id}/versions";
8250
+ readonly streaming: "no";
8251
+ readonly pagination: false;
8252
+ readonly pathParams: readonly [{
8253
+ readonly name: "project_id";
8254
+ readonly sdkName: "project_id";
8255
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8256
+ }];
8257
+ readonly query: readonly [];
8258
+ readonly body: {
8259
+ readonly required: true;
8260
+ readonly fields: readonly [{
8261
+ readonly name: "label";
8262
+ readonly type: "string";
8263
+ readonly required: false;
8264
+ readonly description: "Human-readable snapshot label, such as Before captions.";
8265
+ }];
8266
+ };
8267
+ }, {
8268
+ readonly resource: "cut.projects";
8269
+ readonly method: "execute";
8270
+ readonly summary: "Execute editing script";
8271
+ readonly description: "Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project: `const t = AddTrack(\"video\"); Insert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3}); Print(t);`\n\n### Script function reference\n\nFunctions are synchronous globals; do not import them. `project` is the current project ID. TrackId and ClipId are strings returned by AddTrack and Insert or read from GetTimeline. Reads see earlier writes in the same script.\n\n```ts\nGetTimeline(o?: { from?: number; to?: number; tracks?: TrackId[] }): TimelineView;\nGetItem(id: ClipId): ItemView;\nFindItems<T>(visit: (item: ItemView, ctx: { track: TrackView; index: number }) => T | undefined): T[];\nGetMedia(ref: MediaRef): MediaInfo;\nGetTranscript(ref: MediaRef, o?: { from?: number; to?: number }): Word[];\nGetAnalysis(ref: MediaRef, kind: AnalysisKind): Segment[];\nInsert(track: TrackId, item: ItemInit, o?: { ripple?: boolean }): ClipId;\nUpdate(id: ClipId, patch: ItemPatchView): void;\nDelete(id: ClipId, o?: { ripple?: boolean }): void;\nSplit(id: ClipId, at: number): ClipId;\nTrim(id: ClipId, edge: \"in\" | \"out\", delta: number, o?: { ripple?: boolean }): void;\nMove(id: ClipId, start: number, track?: TrackId): void;\nRippleDeleteRange(from: number, to: number, tracks?: TrackId[]): void;\nAddTrack(kind: \"video\" | \"audio\" | \"caption\", init?: { name?: string }, index?: number): TrackId;\nUpdateTrack(id: TrackId, patch: TrackPatch): void;\nDeleteTrack(id: TrackId): void;\nSetSettings(patch: Partial<ProjectSettingsView>): void;\nAddCaptionsFromTranscript(track: TrackId, source: ClipId, o?: { style?: Partial<CaptionStyle>; maxChars?: number }): ClipId[];\nSetMarker(at: number, label: string): string;\nPrint(...values: unknown[]): void;\nPreview(at: number[]): void;\n```\n\n| Functions | Behavior and arguments |\n| --- | --- |\n| GetTimeline, GetItem | Read compact item views: id, track, type, start, end, length, optional media, sourceIn/sourceOut, text and offline reason. GetTimeline returns duration and tracks (id, kind, name, index, locked, items); from/to and tracks narrow the read. |\n| FindItems | Visit items with their track and index; return undefined to omit an item, any other value to collect it. |\n| GetMedia | Read metadata for `{libraryId, assetId}` in a bound library: kind, dimensions, fps, hasAudio and durationUs when available. durationUs is microseconds. |\n| GetTranscript, GetAnalysis | Read available transcript words or silence/filler/scenes segments. Transcript filter from/to is seconds; returned word and segment from/to values are source microseconds (divide by 1,000,000 for editing). Words contain text and optional speaker/filler; segments may include label/confidence. Request analysis first if unavailable. |\n| Insert, Update, Delete | Insert returns the new clip ID; Update changes supplied fields; Delete removes the clip. Optional ripple on Insert/Delete closes or opens space on the track. |\n| Split, Trim, Move | Split at a timeline position and return the new right-hand clip ID. Trim changes the in or out edge by delta seconds. Move sets the timeline start and optionally a new track. |\n| RippleDeleteRange | Delete a timeline interval and close its gap on the specified tracks, or all unlocked tracks when omitted. |\n| AddTrack, UpdateTrack, DeleteTrack | Add video/audio/caption tracks; index selects layer order (0 is top). TrackPatch supports name, locked, hidden, muted, gainDb and style as appropriate to track kind. |\n| SetSettings | Supply any of width/height (pixels), fps (frames per second), background (color). |\n| AddCaptionsFromTranscript | Create captions from an audio/video clip's kept words. Optional maxChars is 1–1000, default 16; style updates the caption track. Returns caption IDs. |\n| SetMarker | Add a label at a timeline time and return its ID. |\n| Print, Preview | Print appends text to prints. Preview requests up to eight times total per execute and puts images in the result's frames. Each url is an inline PNG data URL, not an HTTP image link. Decode the base64 payload to save an image. Codemode returns at most four images per call; request at most four times there. |\n\n#### Insert fields (ItemInit)\n\nEvery item requires `type` and `start`. Times used for editing are seconds and snap to the project frame rate: start, length, sourceIn, fadeIn/fadeOut, transition length, keyframe at, reveal delay/stagger/duration. Keyframe and reveal times are relative to the clip start. Video/audio may omit length to use the remaining source duration; other types require length.\n\n| type | Required fields beyond type/start | Optional fields |\n| --- | --- | --- |\n| video | media | length, sourceIn, volumeDb, transform, fit, animate, transitionIn, transitionOut |\n| image | media, length | transform, fit, animate, transitionIn, transitionOut |\n| text | text, length | style, transform, reveal, animate, transitionIn, transitionOut |\n| color | color, length | transform, fill, animate, transitionIn, transitionOut |\n| shape | shape, length, width, height, fill | radius, stroke, transform, animate, transitionIn, transitionOut |\n| audio | media | length, sourceIn, volumeDb, fadeIn, fadeOut, transitionIn, transitionOut |\n| caption | text, length | — |\n\nVideo tracks accept video/image/text/color/shape; audio and caption tracks accept their corresponding type. Media is `{libraryId: string, assetId: string}` from a bound library. sourceIn defaults to 0, volumeDb to 0 dB, audio fades to 0 seconds. fit defaults to contain: contain fits the whole image, cover fills and crops, fill stretches, none keeps native dimensions.\n\n| Field | Value |\n| --- | --- |\n| transform | Partial `{x, y, scale, rotation, opacity, crop, blur}`. x/y are normalized canvas center coordinates (default 0.5); scale 1 is fitted size; rotation is degrees (default 0); opacity is 0–1 (default 1). crop is `{top,right,bottom,left}`. blur is 0–100 pixels at 1080-pixel frame height. |\n| style | Partial `{fontFamily, fontSize, fontWeight, color, stroke, background, align, maxWidth}`. fontFamily: Geist or Noto Sans SC (default); fontSize defaults to 48; fontWeight: 400 (default), 500 or 700; color defaults to #FFFFFF; align: left, center (default), right; maxWidth is a fraction of canvas width (default 0.9). stroke is `{color,width}`. Caption style additionally supports position (top/middle/bottom), margin (0–0.4 of canvas height), highlightColor and maxLines: 2. |\n| animate | An object keyed by x, y, scale, rotation, opacity or blur. Each value is an array of `{at: number, value: number, ease?: Ease}` sorted by at with distinct frame-snapped times. Values hold before the first and after the last keyframe, overriding the static transform. |\n| Ease | linear, in, out, inOut, `{bezier: [x1,y1,x2,y2]}` or `{spring: {stiffness, damping, mass?}}`. Easing shapes the segment arriving at that keyframe; springs may overshoot. |\n| reveal | `{by, delay?: number, stagger: number, duration: number, from: {y?, opacity?, scale?, blur?}, ease?: Ease}`. by selects char, word or line. Unit k starts at delay + k * stagger and takes duration seconds to reach its resting state; from.y is a fraction of font size. |\n| fill | A color string (#RRGGBB or #RRGGBBAA), `{linear: {angle, stops: [{at,color}, ...]}}` or `{radial: {stops: [{at,color}, ...]}}`. Stop positions are 0–1; angle is degrees, 0 left to right. On color clips, fill replaces color when supplied. |\n| shape, width, height, radius, stroke | shape is rect or ellipse. width/height are fractions of canvas width/height before scaling. radius rounds rect corners in pixels at 1080-pixel frame height. stroke is `{color: string, width: number}`. |\n| transitionIn, transitionOut | `{kind, length: number}` at the clip's beginning/end. length is seconds. fade changes opacity; dissolve blends; push_left/push_right move horizontally; wipe_left reveals horizontally. |\n\n#### Update fields (ItemPatchView)\n\nAll fields are optional; use only fields relevant to the item's type. Supported fields: start, length, sourceIn, volumeDb, transform, fit, text, style, color, fadeIn, fadeOut, animate, reveal, fill, stroke, shape, width, height, radius, transitionIn, transitionOut. Values and units match Insert. Set animate, reveal, fill, stroke, transitionIn or transitionOut to null to remove that effect; omitting a field preserves it. For example: `Update(id, {volumeDb: -12})` or `Update(id, {transitionIn: null})`.\n\n#### Script names versus HTTP response names\n\nUse camelCase inside scripts, including nested objects. HTTP request/response JSON outside script source uses snake_case. Map media.library_id → media.libraryId, media.asset_id → media.assetId, source_in → sourceIn, volume_db → volumeDb, fade_in/fade_out → fadeIn/fadeOut, transition_in/transition_out → transitionIn/transitionOut, font_family/font_size/font_weight/max_width → fontFamily/fontSize/fontWeight/maxWidth, gain_db → gainDb, highlight_color/max_lines → highlightColor/maxLines. Fields such as animate, reveal, fill, stroke, at and length retain their spelling. GetTimeline/GetItem already return camelCase compact views; the expanded retrieveTimeline HTTP response is not an Insert object.\n\nUnrecognized script fields fail with OPS_REJECTED and rejection code UNKNOWN_FIELD; snake_case mistakes suggest the corresponding camelCase name. The error message lists each rejection's #opIndex, code and reason. Correct the named fields and retry the saved edit; do not assume an ignored field applied an effect.\n";
8272
+ readonly http: "POST";
8273
+ readonly path: "/cut/v1/projects/{project_id}:execute";
8274
+ readonly streaming: "no";
8275
+ readonly pagination: false;
8276
+ readonly pathParams: readonly [{
8277
+ readonly name: "project_id";
8278
+ readonly sdkName: "project_id";
8279
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8280
+ }];
8281
+ readonly query: readonly [];
8282
+ readonly body: {
8283
+ readonly required: true;
8284
+ readonly fields: readonly [{
8285
+ readonly name: "script";
8286
+ readonly type: "string";
8287
+ readonly required: false;
8288
+ readonly description: "Synchronous editing source using Cut execute functions; submit this or edit_id, never both. Script source is opaque: function names and object fields inside JavaScript use their documented camelCase spelling.";
8289
+ }, {
8290
+ readonly name: "edit_id";
8291
+ readonly type: "string";
8292
+ readonly required: false;
8293
+ readonly description: "Saved failed script identifier from error.details.edit_id; valid for ten minutes.";
8294
+ }, {
8295
+ readonly name: "edits";
8296
+ readonly type: "array";
8297
+ readonly itemType: "object";
8298
+ readonly required: false;
8299
+ readonly description: "Literal replacements applied to the saved source before rerunning.";
8300
+ }, {
8301
+ readonly name: "expected_revision";
8302
+ readonly type: "integer";
8303
+ readonly required: false;
8304
+ readonly description: "Committed project revision from retrieve, state, timeline or execute; increases after each successful write.";
8305
+ }];
8306
+ };
8307
+ }, {
8308
+ readonly resource: "cut.projects";
8309
+ readonly method: "undelete";
8310
+ readonly summary: "Restore deleted project";
8311
+ readonly description: "Return a retained deleted project to active state before its purge_time. Obtain project_id from projects.list filtered to deleted projects. This restores the project, not an older timeline revision; use versions.restore when reverting editing content.";
8312
+ readonly http: "POST";
8313
+ readonly path: "/cut/v1/projects/{project_id}:undelete";
8314
+ readonly streaming: "no";
8315
+ readonly pagination: false;
8316
+ readonly pathParams: readonly [{
8317
+ readonly name: "project_id";
8318
+ readonly sdkName: "project_id";
8319
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8320
+ }];
8321
+ readonly query: readonly [];
8322
+ }, {
8323
+ readonly resource: "cut.versions";
8324
+ readonly method: "restore";
8325
+ readonly summary: "Restore saved version";
8326
+ readonly description: "Replace current editing content with a saved project snapshot selected from projects.versions.list. The restore commits a new transaction and revision while preserving the saved version for future use. Inspect the returned summary and timeline before further editing; a response revision conflict can follow a committed restore, so retrieve current state before retrying.";
8327
+ readonly http: "POST";
8328
+ readonly path: "/cut/v1/versions/{version_id}:restore";
8329
+ readonly streaming: "no";
8330
+ readonly pagination: false;
8331
+ readonly pathParams: readonly [{
8332
+ readonly name: "version_id";
8333
+ readonly sdkName: "version_id";
8334
+ readonly description: "Version identifier returned by its create or list operation; use the id, not a display name.";
8335
+ }];
8336
+ readonly query: readonly [];
8337
+ }, {
8338
+ readonly resource: "database.databases";
8339
+ readonly method: "list";
8340
+ readonly summary: "List databases";
8341
+ readonly description: "Find databases owned by your tenant and obtain their ids for schema or row operations. Excludes deleting by default. status=active or status=deleting selects that state; invalid values return 400 INVALID_PARAMS.";
8342
+ readonly http: "GET";
8343
+ readonly path: "/database/v1/databases";
8344
+ readonly streaming: "no";
8345
+ readonly pagination: true;
8346
+ readonly pathParams: readonly [];
8347
+ readonly query: readonly [{
8348
+ readonly name: "cursor";
8349
+ readonly type: "string";
8350
+ readonly required: false;
8351
+ readonly description: "Opaque next_cursor from the previous page.";
8352
+ }, {
8353
+ readonly name: "limit";
8354
+ readonly type: "integer";
8355
+ readonly required: false;
8356
+ readonly description: "Page size.";
8357
+ }, {
8358
+ readonly name: "labels";
8359
+ readonly type: "object";
8360
+ readonly required: false;
8361
+ readonly description: "Exact label match, encoded as labels[purpose]=docs.";
8362
+ }, {
8363
+ readonly name: "status";
8364
+ readonly type: "string";
8365
+ readonly enum: readonly ["active", "deleting"];
8366
+ readonly required: false;
8367
+ readonly description: "Filter by lifecycle state. active (the default when omitted) lists usable databases; deleting lists databases that were deleted and are still inside the seven-day restore window. Any other value returns 400 INVALID_PARAMS.";
8368
+ }];
8369
+ }, {
8370
+ readonly resource: "database.databases";
8371
+ readonly method: "create";
8372
+ readonly summary: "Create database";
8373
+ readonly description: "Creates an empty database for the caller and returns it with status active (HTTP 201); add tables next with praxis.database.databases.tables.create. name is required and is 1–64 visible characters after trimming. labels are optional string tags (at most 64; each key starts with a lowercase letter and uses up to 63 characters of a-z 0-9 _ -; each value is up to 63 characters of a-z 0-9 _ -) that databaseListDatabases can filter on. If initialization fails the call returns 503 CAPACITY and the half-created database is left with status failed; retry by calling create again, which makes a new database. Unlike Supabase, this creates a SQLite-backed database without a PostgreSQL connection or SQL execution endpoint. Use a Praxis credential; access is scoped to its tenant, not to Supabase Auth users or RLS policies.";
8374
+ readonly http: "POST";
8375
+ readonly path: "/database/v1/databases";
8376
+ readonly streaming: "no";
8377
+ readonly pagination: false;
8378
+ readonly pathParams: readonly [];
8379
+ readonly query: readonly [];
8380
+ readonly body: {
8381
+ readonly required: true;
8382
+ readonly fields: readonly [{
8383
+ readonly name: "name";
8384
+ readonly type: "string";
8385
+ readonly required: true;
8386
+ readonly description: "Display name for the database: 1–64 visible characters after trimming; control characters are rejected. It is not an identifier, so later calls still use the returned id.";
8387
+ }, {
8388
+ readonly name: "labels";
8389
+ readonly type: "object";
8390
+ readonly required: false;
8391
+ readonly description: "Optional string tags to attach, at most 64. Each key starts with a lowercase letter and may use up to 63 characters of a-z 0-9 _ -; each value is up to 63 characters of a-z 0-9 _ -. List calls filter on exact key and value pairs.";
8392
+ }];
8393
+ };
8394
+ }, {
8395
+ readonly resource: "database.databases";
8396
+ readonly method: "delete";
8397
+ readonly summary: "Delete database";
8398
+ readonly description: "Soft-delete a database when it should stop accepting schema and row operations. Idempotently enters deleting with a seven-day purge_at. GET remains available; child operations return 409 until restored.";
8399
+ readonly http: "DELETE";
8400
+ readonly path: "/database/v1/databases/{database_id}";
8401
+ readonly streaming: "no";
8402
+ readonly pagination: false;
8403
+ readonly pathParams: readonly [{
8404
+ readonly name: "database_id";
8405
+ readonly sdkName: "database_id";
8406
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8407
+ }];
8408
+ readonly query: readonly [];
8409
+ }, {
8410
+ readonly resource: "database.databases";
8411
+ readonly method: "retrieve";
8412
+ readonly summary: "Get database";
8413
+ readonly description: "Returns one database by id, including a database in the deleting state (purge_at then shows when it will be permanently removed). Call it before table or row operations to confirm status is active: schema and row calls on a deleting database return 409 DATABASE_INVALID_STATE. size_bytes is refreshed from live storage at most once every five seconds. A purged or unknown id returns 404 DATABASE_NOT_FOUND.";
8414
+ readonly http: "GET";
8415
+ readonly path: "/database/v1/databases/{database_id}";
8416
+ readonly streaming: "no";
8417
+ readonly pagination: false;
8418
+ readonly pathParams: readonly [{
8419
+ readonly name: "database_id";
8420
+ readonly sdkName: "database_id";
8421
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8422
+ }];
8423
+ readonly query: readonly [];
8424
+ }, {
8425
+ readonly resource: "database.databases";
8426
+ readonly method: "update";
8427
+ readonly summary: "Update database";
8428
+ readonly description: "Renames an active database and/or replaces its labels; send only the keys you want to change. labels is replaced as a whole, not merged, so include every label you want to keep. A body without name or labels, or with values equal to the current ones, changes nothing and leaves updated_at as is. A database in the deleting state returns 409 DATABASE_INVALID_STATE; restore it first with databaseRestoreDatabase.";
8429
+ readonly http: "PATCH";
8430
+ readonly path: "/database/v1/databases/{database_id}";
8431
+ readonly streaming: "no";
8432
+ readonly pagination: false;
8433
+ readonly pathParams: readonly [{
8434
+ readonly name: "database_id";
8435
+ readonly sdkName: "database_id";
8436
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8437
+ }];
8438
+ readonly query: readonly [];
8439
+ readonly body: {
8440
+ readonly required: true;
8441
+ readonly fields: readonly [{
8442
+ readonly name: "name";
8443
+ readonly type: "string";
8444
+ readonly required: false;
8445
+ readonly description: "New display name, 1–64 visible characters after trimming. Omit it to keep the current name.";
8446
+ }, {
8447
+ readonly name: "labels";
8448
+ readonly type: "object";
8449
+ readonly required: false;
8450
+ readonly description: "Complete replacement label set, not a merge: labels not listed here are removed. Same limits as at creation (at most 64; keys a-z 0-9 _ - starting with a letter; values up to 63 characters of a-z 0-9 _ -). Omit it to keep the current labels.";
8451
+ }];
8452
+ };
8453
+ }, {
8454
+ readonly resource: "database.databases.events";
8455
+ readonly method: "list";
8456
+ readonly summary: "List events";
8457
+ readonly description: "Read lifecycle and schema events, including while the database is deleting. next_cursor is an opaque string cursor (do not do arithmetic on it): pass it as after_seq for asc or before_seq for desc. Supplying both cursors returns 400 INVALID_PARAMS. Unlike Supabase Realtime, this is paged lifecycle and schema history, not a subscription or a row-change feed; row inserts, updates and deletes do not appear here.";
8458
+ readonly http: "GET";
8459
+ readonly path: "/database/v1/databases/{database_id}/events";
8460
+ readonly streaming: "no";
8461
+ readonly pagination: false;
8462
+ readonly pathParams: readonly [{
8463
+ readonly name: "database_id";
8464
+ readonly sdkName: "database_id";
8465
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8466
+ }];
8467
+ readonly query: readonly [{
8468
+ readonly name: "after_seq";
8469
+ readonly type: "integer";
8470
+ readonly required: false;
8471
+ readonly description: "With order=asc, return only events with seq greater than this value. Cannot be combined with before_seq.";
8472
+ }, {
8473
+ readonly name: "limit";
8474
+ readonly type: "integer";
8475
+ readonly required: false;
8476
+ readonly description: "Page size.";
8477
+ }, {
8478
+ readonly name: "order";
8479
+ readonly type: "string";
8480
+ readonly enum: readonly ["asc", "desc"];
8481
+ readonly required: false;
8482
+ readonly description: "Sequence order: asc or desc (newest first). Defaults to asc, or to desc when before_seq is supplied.";
8483
+ }, {
8484
+ readonly name: "before_seq";
8485
+ readonly type: "integer";
8486
+ readonly required: false;
8487
+ readonly description: "Return only events with seq less than this value, newest first; implies order=desc when order is omitted. Cannot be combined with after_seq or order=asc.";
8488
+ }];
8489
+ }, {
8490
+ readonly resource: "database.databases.purge";
8491
+ readonly method: "create";
8492
+ readonly summary: "Permanently purge database";
8493
+ readonly description: "Immediately and irreversibly purges a deleting database. Active databases return 409; absent or already purged databases return 404.";
8494
+ readonly http: "POST";
8495
+ readonly path: "/database/v1/databases/{database_id}/purge";
8496
+ readonly streaming: "no";
8497
+ readonly pagination: false;
8498
+ readonly pathParams: readonly [{
8499
+ readonly name: "database_id";
8500
+ readonly sdkName: "database_id";
8501
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8502
+ }];
8503
+ readonly query: readonly [];
8504
+ }, {
8505
+ readonly resource: "database.databases.rest";
8506
+ readonly method: "delete";
8507
+ readonly summary: "Delete rows";
8508
+ readonly description: "Deletes the rows matched by the filter query parameters (the same filters as databaseSelect); with no filter every row of the table matches. Deletion is immediate and cannot be undone. A row that a link field of another table still references makes the whole call fail with 409 REFERENCE_RESTRICT and nothing is deleted. The default response is 204 with no body; send Prefer: return=representation to get HTTP 200 with the deleted rows.";
8509
+ readonly http: "DELETE";
8510
+ readonly path: "/database/v1/databases/{database_id}/rest/{table}";
8511
+ readonly streaming: "no";
8512
+ readonly pagination: false;
8513
+ readonly pathParams: readonly [{
8514
+ readonly name: "database_id";
8515
+ readonly sdkName: "database_id";
8516
+ readonly description: "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted.";
8517
+ }, {
8518
+ readonly name: "table";
8519
+ readonly sdkName: "table";
8520
+ readonly description: "table ID or name.";
8521
+ }];
8522
+ readonly query: readonly [{
8523
+ readonly name: "select";
8524
+ readonly type: "string";
8525
+ readonly required: false;
8526
+ readonly description: "Comma-separated columns; supports *, aliases, JSON paths and link-based embedding. Casts, aggregates, spread and join modifiers are unsupported.";
8527
+ }, {
8528
+ readonly name: "{column}";
8529
+ readonly type: "string";
8530
+ readonly required: false;
8531
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
8532
+ }, {
8533
+ readonly name: "and";
8534
+ readonly type: "string";
8535
+ readonly required: false;
8536
+ readonly description: "Parenthesized conditions, e.g. (done.eq.false,title.neq.draft).";
8537
+ }, {
8538
+ readonly name: "or";
8539
+ readonly type: "string";
8540
+ readonly required: false;
8541
+ readonly description: "Parenthesized alternatives; not.and and not.or are also supported.";
8542
+ }, {
8543
+ readonly name: "not.and";
8544
+ readonly type: "string";
8545
+ readonly required: false;
8546
+ readonly description: "Negated conjunction.";
8547
+ }, {
6116
8548
  readonly name: "not.or";
6117
8549
  readonly type: "string";
6118
8550
  readonly required: false;
@@ -6732,7 +9164,7 @@ export declare const operations: readonly [{
6732
9164
  readonly resource: "file.files";
6733
9165
  readonly method: "create";
6734
9166
  readonly summary: "Upload file";
6735
- readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 100000000 bytes, and only user_data and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. Use Uploads for larger files. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–7776000). Without expiry, the file persists until deleted.";
9167
+ readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 100000000 bytes, and only user_data, assistants and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. Use Uploads for larger files. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–7776000). Without expiry, the file persists until deleted.";
6736
9168
  readonly http: "POST";
6737
9169
  readonly path: "/file/v1/files";
6738
9170
  readonly streaming: "no";
@@ -6750,9 +9182,9 @@ export declare const operations: readonly [{
6750
9182
  }, {
6751
9183
  readonly name: "purpose";
6752
9184
  readonly type: "string";
6753
- readonly enum: readonly ["user_data", "vision"];
9185
+ readonly enum: readonly ["user_data", "assistants", "vision"];
6754
9186
  readonly required: true;
6755
- readonly description: "Purpose label stored with the file: user_data or vision. The vision purpose accepts only PNG, JPEG, GIF and WebP images. Conversation image references require user_data.";
9187
+ readonly description: "Purpose label stored with the file: user_data, assistants or vision. The label is stored and returned unchanged; assistants follows the same rules as user_data. The vision purpose accepts only PNG, JPEG, GIF and WebP images. Conversation image references require user_data.";
6756
9188
  }, {
6757
9189
  readonly name: "expires_after";
6758
9190
  readonly type: "object";
@@ -6805,11 +9237,59 @@ export declare const operations: readonly [{
6805
9237
  readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
6806
9238
  }];
6807
9239
  readonly query: readonly [];
9240
+ }, {
9241
+ readonly resource: "file.files.contentLinks";
9242
+ readonly method: "revoke";
9243
+ readonly summary: "Revoke a file content link";
9244
+ readonly description: "Stop a previously issued content link from reading a file. Obtain the link with files.contentUrl.create. Use file_id from file creation or listing and the token path component from a content URL (/c/<token>), not the complete URL. The caller must own the file and have write access; a read-only binding is refused. Revocation propagates through the capability deny list within 15 minutes; the file and other links remain available. Only current IAM capability tokens can be revoked; legacy content links expire at the migration deadline. Example body: {\"token\":\"<token from /c/>\"}.";
9245
+ readonly http: "POST";
9246
+ readonly path: "/file/v1/files/{file_id}/content_links:revoke";
9247
+ readonly streaming: "no";
9248
+ readonly pagination: false;
9249
+ readonly pathParams: readonly [{
9250
+ readonly name: "file_id";
9251
+ readonly sdkName: "file_id";
9252
+ readonly description: "Tenant-owned file identifier returned by file creation or listing; the token must name this same file.";
9253
+ }];
9254
+ readonly query: readonly [];
9255
+ readonly body: {
9256
+ readonly required: true;
9257
+ readonly fields: readonly [{
9258
+ readonly name: "token";
9259
+ readonly type: "string";
9260
+ readonly required: true;
9261
+ readonly description: "Signed token taken from the /c/ path component of a previously issued file content URL, without the host or /c/ prefix.";
9262
+ }];
9263
+ };
9264
+ }, {
9265
+ readonly resource: "file.files.contentUrl";
9266
+ readonly method: "create";
9267
+ readonly summary: "Create a download URL";
9268
+ readonly description: "Download a file's bytes to a local disk from a coding agent without sending them through the model. Use file_id from file creation or listing, then run curl -fsSL -o <filename> '<url>' locally with the returned URL; GET needs no Authorization header. The link is reusable until expiry and supports a single byte Range (for example Range: bytes=0-9 returns 206). Revoke it with files.contentLinks.revoke, passing the token after /c/ in the URL. Expired, revoked, invalid or cross-organization URLs return 404. Lifetime defaults to 900 seconds and is at most 604800 seconds. Issuance requires the same credential and file-read access as files.retrieveContent; a processing file returns 409 FILE_NOT_READY, so poll files.retrieve until active before retrying. A missing, expired or other-organization file returns 404. Each issuance creates a new link. OpenAI Files has no signed download URL; this follows S3 presigned GET semantics. Example body: {\"ttl_seconds\":3600}.";
9269
+ readonly http: "POST";
9270
+ readonly path: "/file/v1/files/{file_id}/content_url";
9271
+ readonly streaming: "no";
9272
+ readonly pagination: false;
9273
+ readonly pathParams: readonly [{
9274
+ readonly name: "file_id";
9275
+ readonly sdkName: "file_id";
9276
+ readonly description: "Tenant-owned live file identifier from file creation or listing; the file must be active to issue a download URL.";
9277
+ }];
9278
+ readonly query: readonly [];
9279
+ readonly body: {
9280
+ readonly required: false;
9281
+ readonly fields: readonly [{
9282
+ readonly name: "ttl_seconds";
9283
+ readonly type: "integer";
9284
+ readonly required: false;
9285
+ readonly description: "Download link lifetime in seconds, from 1 through 604800; omitted means 900. This does not change the file's own expiry.";
9286
+ }];
9287
+ };
6808
9288
  }, {
6809
9289
  readonly resource: "file.uploads";
6810
9290
  readonly method: "create";
6811
9291
  readonly summary: "Create an upload";
6812
- readonly description: "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 2 GiB (2147483648 bytes) and only user_data and vision purposes. Add parts of at most 64000000 bytes and complete within one hour. Optional part_size enables fixed-size, retryable parts. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.";
9292
+ readonly description: "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 2 GiB (2147483648 bytes) and only user_data, assistants and vision purposes. Add parts of at most 64000000 bytes and complete within one hour. Optional part_size enables fixed-size, retryable parts. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.";
6813
9293
  readonly http: "POST";
6814
9294
  readonly path: "/file/v1/uploads";
6815
9295
  readonly streaming: "no";
@@ -6836,9 +9316,9 @@ export declare const operations: readonly [{
6836
9316
  }, {
6837
9317
  readonly name: "purpose";
6838
9318
  readonly type: "string";
6839
- readonly enum: readonly ["user_data", "vision"];
9319
+ readonly enum: readonly ["user_data", "assistants", "vision"];
6840
9320
  readonly required: true;
6841
- readonly description: "Use user_data for conversation attachments, or vision for PNG, JPEG, GIF and WebP images.";
9321
+ readonly description: "Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.";
6842
9322
  }, {
6843
9323
  readonly name: "expires_after";
6844
9324
  readonly type: "object";
@@ -6851,6 +9331,52 @@ export declare const operations: readonly [{
6851
9331
  readonly description: "Optional fixed part size in bytes, 5242880–64000000. Requires part_number on every part; retries of identical bytes at the same number return the same part. Omit to use arbitrary-sized parts.";
6852
9332
  }];
6853
9333
  };
9334
+ }, {
9335
+ readonly resource: "file.uploads";
9336
+ readonly method: "createSigned";
9337
+ readonly summary: "Create a one-time upload URL";
9338
+ readonly description: "Upload a local file of up to 2 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes), PUT each chunk to its numbered parts[].url in any order, then POST complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 3600 for multipart, at most 604800; all multipart URLs share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {\"filename\":\"photo.png\",\"bytes\":2048,\"content_type\":\"image/png\"}.";
9339
+ readonly http: "POST";
9340
+ readonly path: "/file/v1/uploads/signed";
9341
+ readonly streaming: "no";
9342
+ readonly pagination: false;
9343
+ readonly pathParams: readonly [];
9344
+ readonly query: readonly [];
9345
+ readonly body: {
9346
+ readonly required: true;
9347
+ readonly fields: readonly [{
9348
+ readonly name: "filename";
9349
+ readonly type: "string";
9350
+ readonly required: true;
9351
+ readonly description: "Stored basename, 1–255 UTF-8 bytes without control characters or path separators.";
9352
+ }, {
9353
+ readonly name: "bytes";
9354
+ readonly type: "integer";
9355
+ readonly required: true;
9356
+ readonly description: "Exact local file size in bytes, from 1 through 2147483648 (2 GiB). Up to 104857600 bytes returns one PUT URL; larger files return numbered part URLs and a completion URL. Every PUT requires its exact signed Content-Length.";
9357
+ }, {
9358
+ readonly name: "content_type";
9359
+ readonly type: "string";
9360
+ readonly required: true;
9361
+ readonly description: "Declared MIME type, such as image/png. In single-PUT mode, send exactly this Content-Type or omit it. Stored file metadata is detected from the bytes in both modes.";
9362
+ }, {
9363
+ readonly name: "purpose";
9364
+ readonly type: "string";
9365
+ readonly enum: readonly ["user_data", "assistants", "vision"];
9366
+ readonly required: false;
9367
+ readonly description: "user_data and assistants store ordinary files and conversation images with their original purpose label; vision accepts PNG, JPEG, GIF or WebP images only. Omitted means user_data.";
9368
+ }, {
9369
+ readonly name: "expires_in";
9370
+ readonly type: "integer";
9371
+ readonly required: false;
9372
+ readonly description: "Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or 3600 for multipart. All part URLs and the completion URL share one expiry. This does not set the resulting file's lifetime.";
9373
+ }, {
9374
+ readonly name: "part_size";
9375
+ readonly type: "integer";
9376
+ readonly required: false;
9377
+ readonly description: "Fixed multipart chunk size in bytes, from 5242880 through 64000000; defaults to 64000000. Used only above 104857600 total bytes. The final part contains the remaining bytes; single-PUT mode keeps its existing response.";
9378
+ }];
9379
+ };
6854
9380
  }, {
6855
9381
  readonly resource: "file.uploads";
6856
9382
  readonly method: "cancel";
@@ -6968,7 +9494,7 @@ export declare const operations: readonly [{
6968
9494
  readonly resource: "knowledge.vectorStores";
6969
9495
  readonly method: "create";
6970
9496
  readonly summary: "Create knowledge base";
6971
- readonly description: "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. Unlike OpenAI vector stores, each file is limited to 100000000 bytes and each account to 100 active/nondeleted stores. Minimal body: {\"name\":\"Refund policies\"}.";
9497
+ readonly description: "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; each account holds up to 100 active/nondeleted stores. Minimal body: {\"name\":\"Refund policies\"}.";
6972
9498
  readonly http: "POST";
6973
9499
  readonly path: "/knowledge/v1/vector_stores";
6974
9500
  readonly streaming: "no";
@@ -7012,7 +9538,7 @@ export declare const operations: readonly [{
7012
9538
  readonly name: "models";
7013
9539
  readonly type: "object";
7014
9540
  readonly required: false;
7015
- readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9541
+ readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
7016
9542
  }];
7017
9543
  };
7018
9544
  }, {
@@ -7095,7 +9621,7 @@ export declare const operations: readonly [{
7095
9621
  readonly name: "models";
7096
9622
  readonly type: "object";
7097
9623
  readonly required: false;
7098
- readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9624
+ readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
7099
9625
  }];
7100
9626
  };
7101
9627
  }, {
@@ -7272,7 +9798,7 @@ export declare const operations: readonly [{
7272
9798
  readonly resource: "knowledge.vectorStores.files";
7273
9799
  readonly method: "create";
7274
9800
  readonly summary: "Add file";
7275
- readonly description: "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. Unlike OpenAI vector stores, the file limit is 100000000 bytes; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.";
9801
+ readonly description: "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.";
7276
9802
  readonly http: "POST";
7277
9803
  readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files";
7278
9804
  readonly streaming: "no";
@@ -7664,6 +10190,12 @@ export declare const operations: readonly [{
7664
10190
  readonly body: {
7665
10191
  readonly required: true;
7666
10192
  readonly fields: readonly [{
10193
+ readonly name: "hotwords";
10194
+ readonly type: "array";
10195
+ readonly itemType: "string";
10196
+ readonly required: false;
10197
+ readonly description: "Correction vocabulary, at most 200 nonblank terms of at most 32 Unicode characters each. Omitted on an unconfigured library: correction derives up to 200 distinct names from the library name and every folder level, excluding generic names such as 原始素材 and 混剪成品. An explicit empty array disables this vocabulary. Updating affects subsequent understanding and explicit reprocessing, not existing results.";
10198
+ }, {
7667
10199
  readonly name: "models";
7668
10200
  readonly type: "object";
7669
10201
  readonly required: false;
@@ -7810,6 +10342,12 @@ export declare const operations: readonly [{
7810
10342
  readonly enum: readonly ["image", "video", "raw", "auto"];
7811
10343
  readonly required: false;
7812
10344
  readonly description: "Upload category: image for images, video for video or audio, raw for unprocessed files, or auto to detect the category. Defaults to auto.";
10345
+ }, {
10346
+ readonly name: "type";
10347
+ readonly type: "string";
10348
+ readonly enum: readonly ["upload", "authenticated"];
10349
+ readonly required: false;
10350
+ readonly description: "Asset delivery mode: upload is public; authenticated requires a signed URL or delivery token for originals and derivatives. private is unsupported.";
7813
10351
  }];
7814
10352
  };
7815
10353
  }, {
@@ -7833,7 +10371,7 @@ export declare const operations: readonly [{
7833
10371
  readonly name: "file_id";
7834
10372
  readonly type: "string";
7835
10373
  readonly required: true;
7836
- readonly description: "File ID to copy into this library; passed as the upload source instead of file bytes. This creates an independent public copy readable without authentication. Deleting the source File does not delete this asset; do not import confidential content.";
10374
+ readonly description: "File ID to copy into this library instead of file bytes. This independent copy defaults to public delivery; set type=authenticated for private delivery. Deleting the source File does not delete this asset.";
7837
10375
  }, {
7838
10376
  readonly name: "public_id";
7839
10377
  readonly type: "string";
@@ -7899,7 +10437,13 @@ export declare const operations: readonly [{
7899
10437
  readonly type: "string";
7900
10438
  readonly enum: readonly ["image", "video", "raw", "auto"];
7901
10439
  readonly required: false;
7902
- readonly description: "Upload category: image for images, video for video or audio, raw for unprocessed files, or auto to detect the category. Defaults to auto.";
10440
+ readonly description: "Upload category: image for images, video for video or audio, raw for unprocessed files, or auto to detect the category. Defaults to auto.";
10441
+ }, {
10442
+ readonly name: "type";
10443
+ readonly type: "string";
10444
+ readonly enum: readonly ["upload", "authenticated"];
10445
+ readonly required: false;
10446
+ readonly description: "Asset delivery mode: upload is public; authenticated requires a signed URL or delivery token for originals and derivatives. private is unsupported.";
7903
10447
  }];
7904
10448
  };
7905
10449
  }, {
@@ -8121,6 +10665,35 @@ export declare const operations: readonly [{
8121
10665
  readonly description: "Batch identifier returned by createBatch or batchAssets; resolved within this library.";
8122
10666
  }];
8123
10667
  readonly query: readonly [];
10668
+ }, {
10669
+ readonly resource: "media.libraries.deliveryTokens";
10670
+ readonly method: "create";
10671
+ readonly summary: "Create delivery token";
10672
+ readonly description: "Issue a time-limited bearer token for originals and transformed authenticated assets in an active library. Use library_id from library creation or listing; read access is sufficient. Append token as the __cld_token__ query parameter on a matching delivery URL. The default ACL covers this library and the default lifetime is 900 seconds; narrow acl and expires_in before sharing. Anyone holding the token can read matching paths until expires_at.";
10673
+ readonly http: "POST";
10674
+ readonly path: "/media/v1/libraries/{library_id}/delivery_tokens";
10675
+ readonly streaming: "no";
10676
+ readonly pagination: false;
10677
+ readonly pathParams: readonly [{
10678
+ readonly name: "library_id";
10679
+ readonly sdkName: "library_id";
10680
+ readonly description: "Library ID returned by creation.";
10681
+ }];
10682
+ readonly query: readonly [];
10683
+ readonly body: {
10684
+ readonly required: true;
10685
+ readonly fields: readonly [{
10686
+ readonly name: "acl";
10687
+ readonly type: "string";
10688
+ readonly required: false;
10689
+ readonly description: "Delivery path glob restricted to the library path prefix (a slash, library_id, then a slash). Defaults to that prefix followed by *; * matches any path text. Tildes and control characters are rejected.";
10690
+ }, {
10691
+ readonly name: "expires_in";
10692
+ readonly type: "integer";
10693
+ readonly required: false;
10694
+ readonly description: "Token lifetime in seconds, from 1 to 604800 inclusive; defaults to 900.";
10695
+ }];
10696
+ };
8124
10697
  }, {
8125
10698
  readonly resource: "media.libraries.events";
8126
10699
  readonly method: "list";
@@ -8287,7 +10860,7 @@ export declare const operations: readonly [{
8287
10860
  readonly name: "expression";
8288
10861
  readonly type: "string";
8289
10862
  readonly required: false;
8290
- readonly description: "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets. For business metadata use context.sku=KETTLE-RED AND context.revision=2; request with_field: [\"context\"] to include context.";
10863
+ readonly description: "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets. For business metadata use context.sku=KETTLE-RED AND context.revision=2; request with_field: [\"context\"] to include context. Quality filters: flags:watermark matches any current shot with a watermark; flags.watermark:false requires an assessed video with no positive watermark judgment. The same syntax supports slideshow, hand_frame, text_sticker and low_quality. folder_mismatch:true selects lexical folder/location hints. Geometry filters support width, height, resolution:1920x1080, numeric aspect_ratio (width/height), and orientation:landscape, portrait or square. Missing geometry or unassessed legacy flags do not match positive filters.";
8291
10864
  }, {
8292
10865
  readonly name: "sort_by";
8293
10866
  readonly type: "array";
@@ -9526,7 +12099,7 @@ export declare const operations: readonly [{
9526
12099
  readonly name: "supported_api";
9527
12100
  readonly type: "array";
9528
12101
  readonly itemType: "string";
9529
- readonly enum: readonly ["anthropic.messages", "cohere.rerank", "google.generateContent", "mistral.ocr", "openai.audio.speech", "openai.audio.transcriptions", "openai.chat.completions", "openai.embeddings", "openai.images.edits", "openai.images.generations", "openai.responses", "openai.videos"];
12102
+ readonly enum: readonly ["anthropic.messages", "cohere.rerank", "google.generateContent", "mistral.ocr", "openai.audio.speech", "openai.audio.transcriptions", "openai.chat.completions", "openai.embeddings", "openai.images.edits", "openai.images.generations", "openai.responses", "openai.videos", "typesafe.systemone"];
9530
12103
  readonly required: false;
9531
12104
  readonly description: "Match any comma-separated declared protocol ID; omitted or empty includes all models. Combined with type and output_modalities using AND. Invalid IDs return 400 with all legal values.";
9532
12105
  }, {
@@ -9984,6 +12557,41 @@ export declare const operations: readonly [{
9984
12557
  readonly description: "Id of the stored response, the `id` returned by createResponse (it looks like resp_...). An unknown id, a response created with store false, an expired response and another tenant's response all answer 404.";
9985
12558
  }];
9986
12559
  readonly query: readonly [];
12560
+ }, {
12561
+ readonly resource: "model.systemone";
12562
+ readonly method: "create";
12563
+ readonly summary: "Ask structured decision questions";
12564
+ readonly description: "Ask typed questions about a state and get calibrated probabilities instead of generated text. Same request and response as TypeSafe System One. Use model ids from model.models.list declaring typesafe.systemone. Send one or more noul, choice or score questions; answers use the same question ids. Input tokens are charged at the catalog input price; output tokens are free. usage.cost and X-Praxis-Cost-Usd expose the same customer charge in USD. box questions and assets are unsupported and return 400: images are not supported. Unknown top-level fields pass unchanged to the native upstream.";
12565
+ readonly http: "POST";
12566
+ readonly path: "/model/v1/systemone";
12567
+ readonly streaming: "no";
12568
+ readonly pagination: false;
12569
+ readonly pathParams: readonly [];
12570
+ readonly query: readonly [];
12571
+ readonly body: {
12572
+ readonly required: true;
12573
+ readonly fields: readonly [{
12574
+ readonly name: "model";
12575
+ readonly type: "string";
12576
+ readonly required: true;
12577
+ readonly description: "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response.";
12578
+ }, {
12579
+ readonly name: "state";
12580
+ readonly type: "object";
12581
+ readonly required: true;
12582
+ readonly description: "Shared content evaluated by every question, supplied as text, a JSON object or an array.";
12583
+ }, {
12584
+ readonly name: "questions";
12585
+ readonly type: "object";
12586
+ readonly required: true;
12587
+ readonly description: "Non-empty map of caller-chosen question ids to typed questions; answers preserve these ids. noul evaluates yes/no, choice selects a named option, score rates ordered levels. box is unsupported.";
12588
+ }, {
12589
+ readonly name: "assets";
12590
+ readonly type: "object";
12591
+ readonly required: false;
12592
+ readonly description: "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported.";
12593
+ }];
12594
+ };
9987
12595
  }, {
9988
12596
  readonly resource: "model.videos";
9989
12597
  readonly method: "list";
@@ -10465,6 +13073,27 @@ export declare const operations: readonly [{
10465
13073
  readonly description: "Up to five attachments; decoded bytes must not exceed 10 MiB each or 20 MiB in total.";
10466
13074
  }];
10467
13075
  };
13076
+ }, {
13077
+ readonly resource: "organization.members";
13078
+ readonly method: "list";
13079
+ readonly summary: "List organization members";
13080
+ readonly description: "Concepts follow GitHub org members: find a person's user id, for example to assign an approver to an approval task. Lists only members of the organization behind your API key or runtime token, ordered by joined_at ascending (membership id breaks ties). Ask the user who should approve, then use that member's id. Emails are visible only within this organization. The request cannot select another organization. Pass next_page unchanged as page; null means the end. Read-only; no usage charge. Example: GET /organization/v1/members?limit=20.";
13081
+ readonly http: "GET";
13082
+ readonly path: "/organization/v1/members";
13083
+ readonly streaming: "no";
13084
+ readonly pagination: false;
13085
+ readonly pathParams: readonly [];
13086
+ readonly query: readonly [{
13087
+ readonly name: "limit";
13088
+ readonly type: "integer";
13089
+ readonly required: false;
13090
+ readonly description: "Maximum members per page, from 1 to 100; defaults to 20.";
13091
+ }, {
13092
+ readonly name: "page";
13093
+ readonly type: "string";
13094
+ readonly required: false;
13095
+ readonly description: "Opaque next_page cursor returned by the previous response; omit for the first page.";
13096
+ }];
10468
13097
  }, {
10469
13098
  readonly resource: "organization.usage";
10470
13099
  readonly method: "list";
@@ -11029,7 +13658,7 @@ export declare const operations: readonly [{
11029
13658
  readonly resource: "sandbox.sandboxes.commands";
11030
13659
  readonly method: "run";
11031
13660
  readonly summary: "Run a command in the sandbox";
11032
- readonly description: "Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–60000 milliseconds, default 60000). Unlike E2B, this endpoint is synchronous only: no background mode, callbacks or unlimited timeout; output is bounded to 1 MiB including stream framing. Nonzero exit codes return 200 with the result. A timeout returns COMMAND_TIMEOUT (504); transport timeout does not confirm process termination, so do not blindly retry commands with side effects. Example body: {\"cmd\":\"echo hi\"}.";
13661
+ readonly description: "Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–3600000 milliseconds, default 600000, that is 10 minutes; E2B defaults to 60000). Unlike E2B, this endpoint is synchronous only: no background mode, callbacks or unlimited timeout (timeoutMs 0); output is bounded to 1 MiB including stream framing. Nonzero exit codes return 200 with the result. A timeout returns COMMAND_TIMEOUT (504); transport timeout does not confirm process termination, so do not blindly retry commands with side effects. Example body: {\"cmd\":\"echo hi\"}.";
11033
13662
  readonly http: "POST";
11034
13663
  readonly path: "/sandbox/v1/sandboxes/{sandbox_id}/commands";
11035
13664
  readonly streaming: "no";
@@ -11047,6 +13676,11 @@ export declare const operations: readonly [{
11047
13676
  readonly type: "string";
11048
13677
  readonly required: true;
11049
13678
  readonly description: "Shell command to execute, for example echo hi.";
13679
+ }, {
13680
+ readonly name: "background";
13681
+ readonly type: "boolean";
13682
+ readonly required: false;
13683
+ readonly description: "When true, return 202 with the pid as soon as the process starts; it keeps running after the request ends. Read its status and output with GET /sandbox/v1/sandboxes/{sandbox_id}/commands/{pid}, stop it with DELETE. Same idea as E2B background commands.";
11050
13684
  }, {
11051
13685
  readonly name: "cwd";
11052
13686
  readonly type: "string";
@@ -11061,7 +13695,7 @@ export declare const operations: readonly [{
11061
13695
  readonly name: "timeoutMs";
11062
13696
  readonly type: "integer";
11063
13697
  readonly required: false;
11064
- readonly description: "Execution timeout in milliseconds, from 1 to 60000; defaults to 60000.";
13698
+ readonly description: "Execution timeout in milliseconds, from 1 to 3600000 (1 hour); defaults to 600000 (10 minutes). In background mode this limits process runtime; expiry records exit code 124.";
11065
13699
  }];
11066
13700
  };
11067
13701
  }, {
@@ -11223,7 +13857,7 @@ export declare const operations: readonly [{
11223
13857
  readonly resource: "sandbox.templates";
11224
13858
  readonly method: "list";
11225
13859
  readonly summary: "List templates (v2)";
11226
- readonly description: "List the templates you can create sandboxes from. Use it to pick the template id or alias for createSandbox. `base` is the default template that createSandbox uses when templateID is omitted. limit is 1 to 100 (default 100); send the cursor from the response back as nextToken to continue.";
13860
+ readonly description: "List official templates and all your custom templates, including waiting, building, ready and error builds. Custom templates appear first; each custom row describes its latest build, not necessarily the current ready build. Use templateID for build management and a ready template name when creating a sandbox. Own-face official distinguishes public catalog entries; sourceKind is omitted until a source is submitted and on official templates. Other organizations' templates are invisible.";
11227
13861
  readonly http: "GET";
11228
13862
  readonly path: "/sandbox/v1/templates";
11229
13863
  readonly streaming: "no";
@@ -11233,8 +13867,171 @@ export declare const operations: readonly [{
11233
13867
  readonly name: "teamID";
11234
13868
  readonly type: "string";
11235
13869
  readonly required: false;
11236
- readonly description: "Id of the team whose templates to list. Omit it to list the templates of your own team; a team you do not belong to answers 403.";
13870
+ readonly description: "Upstream team selector; Praxis always lists the authenticated organization's templates.";
13871
+ }, {
13872
+ readonly name: "nextToken";
13873
+ readonly type: "string";
13874
+ readonly required: false;
13875
+ readonly description: "Cursor to start the list from";
11237
13876
  }, {
13877
+ readonly name: "limit";
13878
+ readonly type: "integer";
13879
+ readonly required: false;
13880
+ readonly description: "Maximum number of items to return per page";
13881
+ }];
13882
+ }, {
13883
+ readonly resource: "sandbox.templates";
13884
+ readonly method: "create";
13885
+ readonly summary: "Create template (v3)";
13886
+ readonly description: "Reserve a waiting build before submitting its source. Reusing a name in your organization allocates a new build on the same template. Returns templateID and buildID; start it with templates.builds.update, then poll templates.builds.status.list. A name:tag suffix and tags are assigned after successful publication. Example: {\"name\":\"my-template\",\"cpuCount\":2,\"memoryMB\":2048}. The own face also accepts diskGb, a positive integer defaulting to 10 GiB.";
13887
+ readonly http: "POST";
13888
+ readonly path: "/sandbox/v1/templates";
13889
+ readonly streaming: "no";
13890
+ readonly pagination: false;
13891
+ readonly pathParams: readonly [];
13892
+ readonly query: readonly [];
13893
+ readonly body: {
13894
+ readonly required: true;
13895
+ readonly fields: readonly [{
13896
+ readonly name: "name";
13897
+ readonly type: "string";
13898
+ readonly required: false;
13899
+ readonly description: "Name of the template. Can include a tag with colon separator (e.g. \"my-template\" or \"my-template:v1\"). If tag is included, it will be treated as if the tag was provided in the tags array.";
13900
+ }, {
13901
+ readonly name: "tags";
13902
+ readonly type: "array";
13903
+ readonly itemType: "string";
13904
+ readonly required: false;
13905
+ readonly description: "Tags to assign to the template build";
13906
+ }, {
13907
+ readonly name: "alias";
13908
+ readonly type: "string";
13909
+ readonly required: false;
13910
+ readonly description: "Alias of the template. Deprecated, use name instead.";
13911
+ }, {
13912
+ readonly name: "teamID";
13913
+ readonly type: "string";
13914
+ readonly required: false;
13915
+ readonly description: "Identifier of the team";
13916
+ }, {
13917
+ readonly name: "cpuCount";
13918
+ readonly type: "integer";
13919
+ readonly required: false;
13920
+ readonly description: "Requested virtual CPU count; a positive integer, default 2 for template builds.";
13921
+ }, {
13922
+ readonly name: "memoryMB";
13923
+ readonly type: "integer";
13924
+ readonly required: false;
13925
+ readonly description: "Requested build memory in MiB; a positive integer, default 1024.";
13926
+ }, {
13927
+ readonly name: "minFreeDiskMb";
13928
+ readonly type: "integer";
13929
+ readonly required: false;
13930
+ readonly description: "Upstream minimum free disk request in MiB; use the native diskGb field to set the build disk size.";
13931
+ }, {
13932
+ readonly name: "diskGb";
13933
+ readonly type: "integer";
13934
+ readonly required: false;
13935
+ readonly description: "Build disk size in GiB, a positive safe integer. Defaults to 10; available only on the own face.";
13936
+ }];
13937
+ };
13938
+ }, {
13939
+ readonly resource: "sandbox.templates.aliases";
13940
+ readonly method: "retrieve";
13941
+ readonly summary: "Check template alias";
13942
+ readonly description: "Resolve a name within your organization to its templateID before reading or managing builds. Use the bare template name, without a :tag suffix. Unknown and other-organization names return 404. The response public field is false for your private templates.";
13943
+ readonly http: "GET";
13944
+ readonly path: "/sandbox/v1/templates/aliases/{alias}";
13945
+ readonly streaming: "no";
13946
+ readonly pagination: false;
13947
+ readonly pathParams: readonly [{
13948
+ readonly name: "alias";
13949
+ readonly sdkName: "alias";
13950
+ readonly description: "Bare template name belonging to your organization, without a tag or provider namespace.";
13951
+ }];
13952
+ readonly query: readonly [];
13953
+ }, {
13954
+ readonly resource: "sandbox.templates.tags";
13955
+ readonly method: "delete";
13956
+ readonly summary: "Delete template tags";
13957
+ readonly description: "Remove the specified tag labels from your template by name, for example {\"name\":\"my-template\",\"tags\":[\"stable\"]}. Builds remain available. Removing default means untagged sandbox creation no longer resolves this template. Unknown or other-organization names return 404. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags.";
13958
+ readonly http: "DELETE";
13959
+ readonly path: "/sandbox/v1/templates/tags";
13960
+ readonly streaming: "no";
13961
+ readonly pagination: false;
13962
+ readonly pathParams: readonly [];
13963
+ readonly query: readonly [];
13964
+ readonly body: {
13965
+ readonly required: true;
13966
+ readonly fields: readonly [{
13967
+ readonly name: "name";
13968
+ readonly type: "string";
13969
+ readonly required: true;
13970
+ readonly description: "Name of the template";
13971
+ }, {
13972
+ readonly name: "tags";
13973
+ readonly type: "array";
13974
+ readonly itemType: "string";
13975
+ readonly required: true;
13976
+ readonly description: "Tags to delete";
13977
+ }];
13978
+ };
13979
+ }, {
13980
+ readonly resource: "sandbox.templates.tags";
13981
+ readonly method: "create";
13982
+ readonly summary: "Assign template tags";
13983
+ readonly description: "Assign tags to the ready build selected by target in name:tag format, for example {\"target\":\"my-template:default\",\"tags\":[\"stable\"]}. Names belong to your organization. Tags move an existing label to this build without rebuilding. Obtain available names from templates.list and tags from templates.tags.list. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags. target also accepts name:b<number> to select a ready build by number, for example my-template:b1.";
13984
+ readonly http: "POST";
13985
+ readonly path: "/sandbox/v1/templates/tags";
13986
+ readonly streaming: "no";
13987
+ readonly pagination: false;
13988
+ readonly pathParams: readonly [];
13989
+ readonly query: readonly [];
13990
+ readonly body: {
13991
+ readonly required: true;
13992
+ readonly fields: readonly [{
13993
+ readonly name: "target";
13994
+ readonly type: "string";
13995
+ readonly required: true;
13996
+ readonly description: "Target template in \"name:tag\" format";
13997
+ }, {
13998
+ readonly name: "tags";
13999
+ readonly type: "array";
14000
+ readonly itemType: "string";
14001
+ readonly required: true;
14002
+ readonly description: "Tags to assign to the template";
14003
+ }];
14004
+ };
14005
+ }, {
14006
+ readonly resource: "sandbox.templates";
14007
+ readonly method: "delete";
14008
+ readonly summary: "Delete template";
14009
+ readonly description: "Permanently remove your template, its builds and tag assignments using templateID from templates.create. Active instances prevent deletion with 409; terminate them first. Unknown or other-organization IDs return 404. Snapshot IDs use snapshots.delete instead.";
14010
+ readonly http: "DELETE";
14011
+ readonly path: "/sandbox/v1/templates/{templateID}";
14012
+ readonly streaming: "no";
14013
+ readonly pagination: false;
14014
+ readonly pathParams: readonly [{
14015
+ readonly name: "templateID";
14016
+ readonly sdkName: "templateID";
14017
+ readonly description: "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle.";
14018
+ }];
14019
+ readonly query: readonly [];
14020
+ }, {
14021
+ readonly resource: "sandbox.templates";
14022
+ readonly method: "retrieve";
14023
+ readonly summary: "List template builds";
14024
+ readonly description: "Inspect your template and its newest builds using templateID from templates.create. Build states are waiting, building, ready or error. Use limit and the returned x-next-token header to page builds. Unknown or other-organization templates return 404.";
14025
+ readonly http: "GET";
14026
+ readonly path: "/sandbox/v1/templates/{templateID}";
14027
+ readonly streaming: "no";
14028
+ readonly pagination: false;
14029
+ readonly pathParams: readonly [{
14030
+ readonly name: "templateID";
14031
+ readonly sdkName: "templateID";
14032
+ readonly description: "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle.";
14033
+ }];
14034
+ readonly query: readonly [{
11238
14035
  readonly name: "nextToken";
11239
14036
  readonly type: "string";
11240
14037
  readonly required: false;
@@ -11245,6 +14042,120 @@ export declare const operations: readonly [{
11245
14042
  readonly required: false;
11246
14043
  readonly description: "Maximum number of items to return per page";
11247
14044
  }];
14045
+ }, {
14046
+ readonly resource: "sandbox.templates.builds";
14047
+ readonly method: "update";
14048
+ readonly summary: "Start template build (v2)";
14049
+ readonly description: "Submit source for a waiting build returned by templates.create; returns 202 after queueing, not after successful publication. Unlike E2B, COPY is rejected (use RUN curl or git clone), fromTemplate accepts official catalog names only, and plaintext registry credentials are rejected. The own face also accepts dockerfile, mutually exclusive with fromImage/fromTemplate/steps, and fromImageRegistry vault references for nonofficial images. Poll templates.builds.status.list until ready or error. Example: {\"fromImage\":\"node:22\",\"steps\":[{\"type\":\"RUN\",\"args\":[\"echo hello\"]}]}.";
14050
+ readonly http: "POST";
14051
+ readonly path: "/sandbox/v1/templates/{templateID}/builds/{buildID}";
14052
+ readonly streaming: "no";
14053
+ readonly pagination: false;
14054
+ readonly pathParams: readonly [{
14055
+ readonly name: "templateID";
14056
+ readonly sdkName: "templateID";
14057
+ readonly description: "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle.";
14058
+ }, {
14059
+ readonly name: "buildID";
14060
+ readonly sdkName: "buildID";
14061
+ readonly description: "Build identifier returned by templates.create. It must belong to the selected template in your organization.";
14062
+ }];
14063
+ readonly query: readonly [];
14064
+ readonly body: {
14065
+ readonly required: true;
14066
+ readonly fields: readonly [{
14067
+ readonly name: "fromImage";
14068
+ readonly type: "string";
14069
+ readonly required: false;
14070
+ readonly description: "Image to use as a base for the template build";
14071
+ }, {
14072
+ readonly name: "fromTemplate";
14073
+ readonly type: "string";
14074
+ readonly required: false;
14075
+ readonly description: "Template to use as a base for the template build";
14076
+ }, {
14077
+ readonly name: "fromImageRegistry";
14078
+ readonly type: "object";
14079
+ readonly required: false;
14080
+ readonly description: "Registry authentication. Unlike E2B, only the vault reference variant is accepted; plaintext aws, gcp and registry variants return 400. Cannot be used with official templates.";
14081
+ }, {
14082
+ readonly name: "force";
14083
+ readonly type: "boolean";
14084
+ readonly required: false;
14085
+ readonly description: "Whether the whole build should be forced to run regardless of the cache";
14086
+ }, {
14087
+ readonly name: "steps";
14088
+ readonly type: "array";
14089
+ readonly itemType: "object";
14090
+ readonly required: false;
14091
+ readonly description: "List of steps to execute in the template build";
14092
+ }, {
14093
+ readonly name: "startCmd";
14094
+ readonly type: "string";
14095
+ readonly required: false;
14096
+ readonly description: "Start command to execute in the template after the build";
14097
+ }, {
14098
+ readonly name: "readyCmd";
14099
+ readonly type: "string";
14100
+ readonly required: false;
14101
+ readonly description: "Ready check command to execute in the template after the build";
14102
+ }, {
14103
+ readonly name: "dockerfile";
14104
+ readonly type: "string";
14105
+ readonly required: false;
14106
+ readonly description: "Dockerfile text, at most 64 KiB UTF-8. Mutually exclusive with fromImage, fromTemplate and steps. COPY/ADD are rejected; fetch remote content using RUN. Registry credentials require a nonofficial image in the first FROM.";
14107
+ }];
14108
+ };
14109
+ }, {
14110
+ readonly resource: "sandbox.templates.builds.status";
14111
+ readonly method: "list";
14112
+ readonly summary: "Template build status";
14113
+ readonly description: "Poll a build using templateID and buildID from templates.create. waiting means source has not been submitted; building includes queued work; ready permits sandbox creation; error is terminal, with reason when available. logsOffset counts previously read log entries, starting at zero; add logEntries.length after each response. limit is 0–100, default 100. level selects one log level; offsets then count entries at that level. Drain logs until an empty page, including after a terminal status.";
14114
+ readonly http: "GET";
14115
+ readonly path: "/sandbox/v1/templates/{templateID}/builds/{buildID}/status";
14116
+ readonly streaming: "no";
14117
+ readonly pagination: false;
14118
+ readonly pathParams: readonly [{
14119
+ readonly name: "templateID";
14120
+ readonly sdkName: "templateID";
14121
+ readonly description: "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle.";
14122
+ }, {
14123
+ readonly name: "buildID";
14124
+ readonly sdkName: "buildID";
14125
+ readonly description: "Build identifier returned by templates.create. It must belong to the selected template in your organization.";
14126
+ }];
14127
+ readonly query: readonly [{
14128
+ readonly name: "logsOffset";
14129
+ readonly type: "integer";
14130
+ readonly required: false;
14131
+ readonly description: "Index of the starting build log that should be returned with the template";
14132
+ }, {
14133
+ readonly name: "limit";
14134
+ readonly type: "integer";
14135
+ readonly required: false;
14136
+ readonly description: "Maximum number of logs that should be returned";
14137
+ }, {
14138
+ readonly name: "level";
14139
+ readonly type: "string";
14140
+ readonly enum: readonly ["debug", "info", "warn", "error"];
14141
+ readonly required: false;
14142
+ readonly description: "Select one exact log severity: debug for diagnostics, info for progress, warn for warnings, error for failures. Offsets count matching entries.";
14143
+ }];
14144
+ }, {
14145
+ readonly resource: "sandbox.templates.tags";
14146
+ readonly method: "list";
14147
+ readonly summary: "List template tags";
14148
+ readonly description: "Read the tag-to-build assignments for your template using templateID from templates.create. Only ready builds acquire tags. Use a returned tag with the template name as name:tag when creating a sandbox or assigning additional tags. Foreign IDs return 404.";
14149
+ readonly http: "GET";
14150
+ readonly path: "/sandbox/v1/templates/{templateID}/tags";
14151
+ readonly streaming: "no";
14152
+ readonly pagination: false;
14153
+ readonly pathParams: readonly [{
14154
+ readonly name: "templateID";
14155
+ readonly sdkName: "templateID";
14156
+ readonly description: "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle.";
14157
+ }];
14158
+ readonly query: readonly [];
11248
14159
  }, {
11249
14160
  readonly resource: "sandbox.volumes";
11250
14161
  readonly method: "list";
@@ -12039,7 +14950,7 @@ export declare const operations: readonly [{
12039
14950
  readonly resource: "ticket.milestones";
12040
14951
  readonly method: "create";
12041
14952
  readonly summary: "Create or add milestones";
12042
- readonly description: "Create or add milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
14953
+ readonly description: "Create or add milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12043
14954
  readonly http: "POST";
12044
14955
  readonly path: "/ticket/v1/milestones";
12045
14956
  readonly streaming: "no";
@@ -12080,7 +14991,7 @@ export declare const operations: readonly [{
12080
14991
  readonly resource: "ticket.milestones";
12081
14992
  readonly method: "delete";
12082
14993
  readonly summary: "Remove milestones";
12083
- readonly description: "Remove milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
14994
+ readonly description: "Remove milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12084
14995
  readonly http: "DELETE";
12085
14996
  readonly path: "/ticket/v1/milestones/{number}";
12086
14997
  readonly streaming: "no";
@@ -12122,7 +15033,7 @@ export declare const operations: readonly [{
12122
15033
  readonly resource: "ticket.milestones";
12123
15034
  readonly method: "update";
12124
15035
  readonly summary: "Update milestones";
12125
- readonly description: "Update milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
15036
+ readonly description: "Update milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12126
15037
  readonly http: "PATCH";
12127
15038
  readonly path: "/ticket/v1/milestones/{number}";
12128
15039
  readonly streaming: "no";
@@ -13267,7 +16178,7 @@ export declare const operations: readonly [{
13267
16178
  readonly resource: "vault.vaults.secrets";
13268
16179
  readonly method: "create";
13269
16180
  readonly summary: "Create secret";
13270
- readonly description: "Store a manually supplied token in an active vault for use on requests to its allowed_hosts. Unlike Anthropic credentials, this native operation takes name, value and allowed_hosts directly and creates only static secrets; use praxis.vault.authorizations.create for OAuth. Its name must be unused by any non-archived secret in that vault; the response contains metadata but never the supplied value. Application praxis_vault_ref bindings declare vault_id and secret (the secret name), but currently return 501; do not copy the value into a plain-text binding or metadata as a substitute.";
16181
+ readonly description: "Store a manually supplied token in an active vault. Omit allowed_hosts for name-based resolution only; host-based redemption never matches an empty host list. Unlike Anthropic credentials, this native operation takes name and value directly, with optional allowed_hosts and creates only static secrets; use praxis.vault.authorizations.create for OAuth. Its name must be unused by any non-archived secret in that vault; the response contains metadata but never the supplied value. Application praxis_vault_ref bindings declare vault_id and secret (the secret name), but currently return 501; do not copy the value into a plain-text binding or metadata as a substitute.";
13271
16182
  readonly http: "POST";
13272
16183
  readonly path: "/vault/v1/vaults/{vault_id}/secrets";
13273
16184
  readonly streaming: "no";
@@ -13294,8 +16205,8 @@ export declare const operations: readonly [{
13294
16205
  readonly name: "allowed_hosts";
13295
16206
  readonly type: "array";
13296
16207
  readonly itemType: "string";
13297
- readonly required: true;
13298
- readonly description: "Allowed destinations for the secret. Unlike Anthropic's unrestricted networking option, an explicit allowlist is required. Supply 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed.";
16208
+ readonly required: false;
16209
+ readonly description: "Allowed destinations for the secret. Omitting allowed_hosts on creation stores an empty list for name-based resolution only: host-based redemption never matches. When supplied, list 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed.";
13299
16210
  }, {
13300
16211
  readonly name: "description";
13301
16212
  readonly type: "string";
@@ -13311,7 +16222,7 @@ export declare const operations: readonly [{
13311
16222
  readonly type: "string";
13312
16223
  readonly enum: readonly ["github", "openai", "anthropic", "stripe"];
13313
16224
  readonly required: false;
13314
- readonly description: "Static template ID from List templates. Records metadata.template; name, value and allowed_hosts must still be supplied explicitly.";
16225
+ readonly description: "Static template ID from List templates. Records metadata.template; name and value must still be supplied explicitly; allowed_hosts is optional.";
13315
16226
  }, {
13316
16227
  readonly name: "kind";
13317
16228
  readonly type: "string";
@@ -13389,7 +16300,7 @@ export declare const operations: readonly [{
13389
16300
  readonly type: "array";
13390
16301
  readonly itemType: "string";
13391
16302
  readonly required: false;
13392
- readonly description: "Allowed destinations for the secret. Unlike Anthropic's unrestricted networking option, an explicit allowlist is required. Supply 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed.";
16303
+ readonly description: "Allowed destinations for the secret. Omitting allowed_hosts on creation stores an empty list for name-based resolution only: host-based redemption never matches. When supplied, list 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed.";
13393
16304
  }, {
13394
16305
  readonly name: "description";
13395
16306
  readonly type: "string";
@@ -13473,7 +16384,7 @@ export declare const operations: readonly [{
13473
16384
  readonly resource: "vault.vaults.secrets";
13474
16385
  readonly method: "import";
13475
16386
  readonly summary: "Import secrets";
13476
- readonly description: "Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets.";
16387
+ readonly description: "Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets; if neither shared nor per-line hosts are supplied, new secrets use an empty host list for name-based resolution only.";
13477
16388
  readonly http: "POST";
13478
16389
  readonly path: "/vault/v1/vaults/{vault_id}/secrets:import";
13479
16390
  readonly streaming: "no";