@deepraxis/sdk 0.1.1-dev.d775f1e → 0.1.1-dev.ea4a5dd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/METHODS.md +118 -1
- package/README.md +1 -1
- package/dist/automation.d.ts +7 -0
- package/dist/core/client.d.ts +5 -1
- package/dist/core/client.js +10 -0
- package/dist/core/transport.js +1 -1
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +259 -20
- package/dist/generated/sdk.gen.js +707 -19
- package/dist/generated/types.gen.d.ts +11016 -6421
- package/dist/helpers/application-build.d.ts +10 -0
- package/dist/helpers/application-build.js +98 -0
- package/dist/helpers/application-publish.d.ts +8 -0
- package/dist/helpers/application-publish.js +26 -9
- package/dist/helpers/browser-connect.d.ts +78 -0
- package/dist/helpers/browser-connect.js +161 -0
- package/dist/helpers/browser-decisions.d.ts +44 -0
- package/dist/helpers/browser-decisions.js +84 -0
- package/dist/helpers/browser-documentation.d.ts +2 -0
- package/dist/helpers/browser-documentation.js +47 -0
- package/dist/helpers/file-upload.d.ts +2 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/operations.generated.d.ts +1110 -152
- package/dist/operations.generated.js +1343 -159
- package/dist/resources.generated.d.ts +220 -38
- package/dist/resources.generated.js +77 -0
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ export const operations = [
|
|
|
4
4
|
"resource": "agent.agents",
|
|
5
5
|
"method": "list",
|
|
6
6
|
"summary": "List agents",
|
|
7
|
-
"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=personal for durable-computer agents
|
|
7
|
+
"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.",
|
|
8
8
|
"http": "GET",
|
|
9
9
|
"path": "/agent/v1/agents",
|
|
10
10
|
"streaming": "no",
|
|
@@ -49,8 +49,10 @@ export const operations = [
|
|
|
49
49
|
"name": "kind",
|
|
50
50
|
"type": "string",
|
|
51
51
|
"enum": [
|
|
52
|
+
"general",
|
|
52
53
|
"personal",
|
|
53
|
-
"service"
|
|
54
|
+
"service",
|
|
55
|
+
"assume"
|
|
54
56
|
],
|
|
55
57
|
"required": false,
|
|
56
58
|
"description": "Filter agents by their immutable kind, including agents created before kind was recorded."
|
|
@@ -61,7 +63,7 @@ export const operations = [
|
|
|
61
63
|
"resource": "agent.agents",
|
|
62
64
|
"method": "create",
|
|
63
65
|
"summary": "Create agent",
|
|
64
|
-
"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\"}]}.",
|
|
66
|
+
"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.",
|
|
65
67
|
"http": "POST",
|
|
66
68
|
"path": "/agent/v1/agents",
|
|
67
69
|
"streaming": "no",
|
|
@@ -74,8 +76,8 @@ export const operations = [
|
|
|
74
76
|
{
|
|
75
77
|
"name": "model",
|
|
76
78
|
"type": "object",
|
|
77
|
-
"required":
|
|
78
|
-
"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."
|
|
79
|
+
"required": false,
|
|
80
|
+
"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."
|
|
79
81
|
},
|
|
80
82
|
{
|
|
81
83
|
"name": "name",
|
|
@@ -133,17 +135,19 @@ export const operations = [
|
|
|
133
135
|
"type": "array",
|
|
134
136
|
"itemType": "object",
|
|
135
137
|
"required": false,
|
|
136
|
-
"description": "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time."
|
|
138
|
+
"description": "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; general and personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time."
|
|
137
139
|
},
|
|
138
140
|
{
|
|
139
141
|
"name": "kind",
|
|
140
142
|
"type": "string",
|
|
141
143
|
"enum": [
|
|
144
|
+
"general",
|
|
142
145
|
"personal",
|
|
143
|
-
"service"
|
|
146
|
+
"service",
|
|
147
|
+
"assume"
|
|
144
148
|
],
|
|
145
149
|
"required": false,
|
|
146
|
-
"description": "Immutable agent kind. personal
|
|
150
|
+
"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."
|
|
147
151
|
},
|
|
148
152
|
{
|
|
149
153
|
"name": "computer_id",
|
|
@@ -193,7 +197,7 @@ export const operations = [
|
|
|
193
197
|
"name": "avatar",
|
|
194
198
|
"type": "string",
|
|
195
199
|
"required": false,
|
|
196
|
-
"description": "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it.
|
|
200
|
+
"description": "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it. General, personal and service agents accept it. /agent/v1 only; /anthropic neither accepts nor returns it."
|
|
197
201
|
},
|
|
198
202
|
{
|
|
199
203
|
"name": "environment_id",
|
|
@@ -235,7 +239,7 @@ export const operations = [
|
|
|
235
239
|
{
|
|
236
240
|
"name": "agent_id",
|
|
237
241
|
"sdkName": "agent_id",
|
|
238
|
-
"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."
|
|
242
|
+
"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_…."
|
|
239
243
|
}
|
|
240
244
|
],
|
|
241
245
|
"query": [
|
|
@@ -251,7 +255,7 @@ export const operations = [
|
|
|
251
255
|
"resource": "agent.agents",
|
|
252
256
|
"method": "update",
|
|
253
257
|
"summary": "Update agent",
|
|
254
|
-
"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.",
|
|
258
|
+
"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.",
|
|
255
259
|
"http": "POST",
|
|
256
260
|
"path": "/agent/v1/agents/{agent_id}",
|
|
257
261
|
"streaming": "no",
|
|
@@ -260,7 +264,7 @@ export const operations = [
|
|
|
260
264
|
{
|
|
261
265
|
"name": "agent_id",
|
|
262
266
|
"sdkName": "agent_id",
|
|
263
|
-
"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."
|
|
267
|
+
"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_…."
|
|
264
268
|
}
|
|
265
269
|
],
|
|
266
270
|
"query": [],
|
|
@@ -290,7 +294,7 @@ export const operations = [
|
|
|
290
294
|
"name": "model",
|
|
291
295
|
"type": "object",
|
|
292
296
|
"required": false,
|
|
293
|
-
"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."
|
|
297
|
+
"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."
|
|
294
298
|
},
|
|
295
299
|
{
|
|
296
300
|
"name": "multiagent",
|
|
@@ -353,11 +357,13 @@ export const operations = [
|
|
|
353
357
|
"name": "kind",
|
|
354
358
|
"type": "string",
|
|
355
359
|
"enum": [
|
|
360
|
+
"general",
|
|
356
361
|
"personal",
|
|
357
|
-
"service"
|
|
362
|
+
"service",
|
|
363
|
+
"assume"
|
|
358
364
|
],
|
|
359
365
|
"required": false,
|
|
360
|
-
"description": "Immutable agent kind. personal
|
|
366
|
+
"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."
|
|
361
367
|
},
|
|
362
368
|
{
|
|
363
369
|
"name": "computer_id",
|
|
@@ -407,7 +413,7 @@ export const operations = [
|
|
|
407
413
|
"name": "avatar",
|
|
408
414
|
"type": "string",
|
|
409
415
|
"required": false,
|
|
410
|
-
"description": "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it.
|
|
416
|
+
"description": "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it. General, personal and service agents accept it. /agent/v1 only; /anthropic neither accepts nor returns it."
|
|
411
417
|
},
|
|
412
418
|
{
|
|
413
419
|
"name": "environment_id",
|
|
@@ -449,7 +455,7 @@ export const operations = [
|
|
|
449
455
|
{
|
|
450
456
|
"name": "agent_id",
|
|
451
457
|
"sdkName": "agent_id",
|
|
452
|
-
"description": "Service agent id from agent creation or listing; with a customer access token, the agent the token was issued for."
|
|
458
|
+
"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_…."
|
|
453
459
|
}
|
|
454
460
|
],
|
|
455
461
|
"query": []
|
|
@@ -467,7 +473,7 @@ export const operations = [
|
|
|
467
473
|
{
|
|
468
474
|
"name": "agent_id",
|
|
469
475
|
"sdkName": "agent_id",
|
|
470
|
-
"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."
|
|
476
|
+
"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_…."
|
|
471
477
|
}
|
|
472
478
|
],
|
|
473
479
|
"query": []
|
|
@@ -485,7 +491,7 @@ export const operations = [
|
|
|
485
491
|
{
|
|
486
492
|
"name": "agent_id",
|
|
487
493
|
"sdkName": "agent_id",
|
|
488
|
-
"description": "Active service agent id from agent creation or listing."
|
|
494
|
+
"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_…."
|
|
489
495
|
}
|
|
490
496
|
],
|
|
491
497
|
"query": [
|
|
@@ -538,7 +544,7 @@ export const operations = [
|
|
|
538
544
|
{
|
|
539
545
|
"name": "agent_id",
|
|
540
546
|
"sdkName": "agent_id",
|
|
541
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
547
|
+
"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_…."
|
|
542
548
|
}
|
|
543
549
|
],
|
|
544
550
|
"query": [],
|
|
@@ -560,7 +566,7 @@ export const operations = [
|
|
|
560
566
|
{
|
|
561
567
|
"name": "agent_id",
|
|
562
568
|
"sdkName": "agent_id",
|
|
563
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
569
|
+
"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_…."
|
|
564
570
|
}
|
|
565
571
|
],
|
|
566
572
|
"query": []
|
|
@@ -578,7 +584,7 @@ export const operations = [
|
|
|
578
584
|
{
|
|
579
585
|
"name": "agent_id",
|
|
580
586
|
"sdkName": "agent_id",
|
|
581
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
587
|
+
"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_…."
|
|
582
588
|
}
|
|
583
589
|
],
|
|
584
590
|
"query": []
|
|
@@ -596,7 +602,7 @@ export const operations = [
|
|
|
596
602
|
{
|
|
597
603
|
"name": "agent_id",
|
|
598
604
|
"sdkName": "agent_id",
|
|
599
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
605
|
+
"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_…."
|
|
600
606
|
}
|
|
601
607
|
],
|
|
602
608
|
"query": [],
|
|
@@ -686,7 +692,7 @@ export const operations = [
|
|
|
686
692
|
{
|
|
687
693
|
"name": "agent_id",
|
|
688
694
|
"sdkName": "agent_id",
|
|
689
|
-
"description": "Active service agent id from agent creation or listing."
|
|
695
|
+
"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_…."
|
|
690
696
|
},
|
|
691
697
|
{
|
|
692
698
|
"name": "customer_id",
|
|
@@ -716,7 +722,7 @@ export const operations = [
|
|
|
716
722
|
{
|
|
717
723
|
"name": "agent_id",
|
|
718
724
|
"sdkName": "agent_id",
|
|
719
|
-
"description": "Active service agent id from agent creation or listing."
|
|
725
|
+
"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_…."
|
|
720
726
|
},
|
|
721
727
|
{
|
|
722
728
|
"name": "customer_id",
|
|
@@ -739,7 +745,7 @@ export const operations = [
|
|
|
739
745
|
{
|
|
740
746
|
"name": "agent_id",
|
|
741
747
|
"sdkName": "agent_id",
|
|
742
|
-
"description": "Active service agent id from agent creation or listing."
|
|
748
|
+
"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_…."
|
|
743
749
|
},
|
|
744
750
|
{
|
|
745
751
|
"name": "customer_id",
|
|
@@ -762,7 +768,7 @@ export const operations = [
|
|
|
762
768
|
{
|
|
763
769
|
"name": "agent_id",
|
|
764
770
|
"sdkName": "agent_id",
|
|
765
|
-
"description": "Active service agent id from agent creation or listing."
|
|
771
|
+
"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_…."
|
|
766
772
|
},
|
|
767
773
|
{
|
|
768
774
|
"name": "customer_id",
|
|
@@ -785,7 +791,7 @@ export const operations = [
|
|
|
785
791
|
{
|
|
786
792
|
"name": "agent_id",
|
|
787
793
|
"sdkName": "agent_id",
|
|
788
|
-
"description": "Active service agent id from agent creation or listing."
|
|
794
|
+
"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_…."
|
|
789
795
|
},
|
|
790
796
|
{
|
|
791
797
|
"name": "customer_id",
|
|
@@ -808,7 +814,7 @@ export const operations = [
|
|
|
808
814
|
{
|
|
809
815
|
"name": "agent_id",
|
|
810
816
|
"sdkName": "agent_id",
|
|
811
|
-
"description": "Active service agent id from agent creation or listing."
|
|
817
|
+
"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_…."
|
|
812
818
|
},
|
|
813
819
|
{
|
|
814
820
|
"name": "customer_id",
|
|
@@ -831,7 +837,7 @@ export const operations = [
|
|
|
831
837
|
{
|
|
832
838
|
"name": "agent_id",
|
|
833
839
|
"sdkName": "agent_id",
|
|
834
|
-
"description": "Agent id from creation or listing."
|
|
840
|
+
"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_…."
|
|
835
841
|
}
|
|
836
842
|
],
|
|
837
843
|
"query": []
|
|
@@ -849,7 +855,7 @@ export const operations = [
|
|
|
849
855
|
{
|
|
850
856
|
"name": "agent_id",
|
|
851
857
|
"sdkName": "agent_id",
|
|
852
|
-
"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."
|
|
858
|
+
"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_…."
|
|
853
859
|
}
|
|
854
860
|
],
|
|
855
861
|
"query": [
|
|
@@ -880,7 +886,7 @@ export const operations = [
|
|
|
880
886
|
{
|
|
881
887
|
"name": "agent_id",
|
|
882
888
|
"sdkName": "agent_id",
|
|
883
|
-
"description": "Agent identifier from agents.create or agents.list."
|
|
889
|
+
"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_…."
|
|
884
890
|
},
|
|
885
891
|
{
|
|
886
892
|
"name": "version",
|
|
@@ -920,7 +926,7 @@ export const operations = [
|
|
|
920
926
|
"resource": "agent.computers",
|
|
921
927
|
"method": "create",
|
|
922
928
|
"summary": "Create Computer",
|
|
923
|
-
"description": "Create a durable computer: a named machine whose files outlive sessions, for personal agents.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.",
|
|
929
|
+
"description": "Create a durable computer: a named machine whose files outlive sessions, for general and personal agents.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.",
|
|
924
930
|
"http": "POST",
|
|
925
931
|
"path": "/agent/v1/computers",
|
|
926
932
|
"streaming": "no",
|
|
@@ -1346,7 +1352,7 @@ export const operations = [
|
|
|
1346
1352
|
"resource": "agent.deployments",
|
|
1347
1353
|
"method": "create",
|
|
1348
1354
|
"summary": "Create deployment",
|
|
1349
|
-
"description": "Freeze session parameters as a deployment; this operation does not open a session. Pass an agent id or versioned reference, a name, 1–50 user.message initial events and an environment_id from environments.list. Unlike Anthropic Managed Agents, /agent/v1 also accepts agent_with_overrides (model, permission_mode and cwd) and target=computer for personal agents, with environment_id omitted. Cron schedules use five POSIX fields and an IANA timezone. File resources are accepted. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Active schedules run every minute when due; session creation errors pause the deployment. Unsupported tools, mcp_servers, system and skills overrides return 400.",
|
|
1355
|
+
"description": "Freeze session parameters as a deployment; this operation does not open a session. Pass an agent id or versioned reference, a name, 1–50 user.message initial events and an environment_id from environments.list. Unlike Anthropic Managed Agents, /agent/v1 also accepts agent_with_overrides (model, permission_mode and cwd) and target=computer for general and personal agents, with environment_id omitted. Cron schedules use five POSIX fields and an IANA timezone. File resources are accepted. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Active schedules run every minute when due; session creation errors pause the deployment. Unsupported tools, mcp_servers, system and skills overrides return 400.",
|
|
1350
1356
|
"http": "POST",
|
|
1351
1357
|
"path": "/agent/v1/deployments",
|
|
1352
1358
|
"streaming": "no",
|
|
@@ -1423,7 +1429,7 @@ export const operations = [
|
|
|
1423
1429
|
"name": "target",
|
|
1424
1430
|
"type": "object",
|
|
1425
1431
|
"required": false,
|
|
1426
|
-
"description": "Execution target. environment (default) requires an existing, unarchived environment_id. computer is available only for personal agents and permits environment_id to be omitted."
|
|
1432
|
+
"description": "Execution target. environment (default) requires an existing, unarchived environment_id. computer is available only for general and personal agents and permits environment_id to be omitted."
|
|
1427
1433
|
}
|
|
1428
1434
|
]
|
|
1429
1435
|
}
|
|
@@ -1533,7 +1539,7 @@ export const operations = [
|
|
|
1533
1539
|
"name": "target",
|
|
1534
1540
|
"type": "object",
|
|
1535
1541
|
"required": false,
|
|
1536
|
-
"description": "Execution target. environment (default) requires an existing, unarchived environment_id. computer is available only for personal agents and permits environment_id to be omitted."
|
|
1542
|
+
"description": "Execution target. environment (default) requires an existing, unarchived environment_id. computer is available only for general and personal agents and permits environment_id to be omitted."
|
|
1537
1543
|
}
|
|
1538
1544
|
]
|
|
1539
1545
|
}
|
|
@@ -1898,7 +1904,7 @@ export const operations = [
|
|
|
1898
1904
|
"resource": "agent.sessions",
|
|
1899
1905
|
"method": "create",
|
|
1900
1906
|
"summary": "Create session",
|
|
1901
|
-
"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
|
|
1907
|
+
"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.",
|
|
1902
1908
|
"http": "POST",
|
|
1903
1909
|
"path": "/agent/v1/sessions",
|
|
1904
1910
|
"streaming": "no",
|
|
@@ -2187,7 +2193,7 @@ export const operations = [
|
|
|
2187
2193
|
"resource": "agent.sessions",
|
|
2188
2194
|
"method": "compact",
|
|
2189
2195
|
"summary": "Compact Session (Extension)",
|
|
2190
|
-
"description": "Request session context compaction and retrieve an operation receipt.\n\nAvailable only on /agent/v1. The body may be omitted or {}. Optional instructions must be a string and is forwarded unchanged. Idempotency-Key is forwarded unchanged; a UUID is generated when absent. Returns { type: session_compaction, id, status, reason? }, where id is the operation ID. queued/running return 202; skipped/succeeded/failed return 200. Non-string instructions return 400 invalid_request_error. Missing or inaccessible managed sessions return 404 not_found_error.",
|
|
2196
|
+
"description": "Request session context compaction and retrieve an operation receipt.\n\nAvailable only on /agent/v1. The body may be omitted or {}. Optional instructions must be a string and is forwarded unchanged. Idempotency-Key is forwarded unchanged; a UUID is generated when absent. Returns { type: session_compaction, id, status, reason? }, where id is the operation ID. queued/running return 202; skipped/succeeded/failed/cancelled return 200. Non-string instructions return 400 invalid_request_error. Missing or inaccessible managed sessions return 404 not_found_error.",
|
|
2191
2197
|
"http": "POST",
|
|
2192
2198
|
"path": "/agent/v1/sessions/{session_id}/compact",
|
|
2193
2199
|
"streaming": "no",
|
|
@@ -2239,7 +2245,7 @@ export const operations = [
|
|
|
2239
2245
|
"resource": "agent.sessions.compactions",
|
|
2240
2246
|
"method": "list",
|
|
2241
2247
|
"summary": "List Session Compactions (Extension)",
|
|
2242
|
-
"description": "Read session compaction history and summaries.\n\nAvailable only on /agent/v1. Returns { data: [...] }. Each entry contains type, id, event_id, trigger, status, model, compacted_message_count, input_tokens_before, input_tokens_after, summary, error and created_at, as recorded by the service. Missing or inaccessible managed sessions return 404 not_found_error.",
|
|
2248
|
+
"description": "Read session compaction history and summaries.\n\nAvailable only on /agent/v1. Returns { data: [...], active }. active is the queued or running compaction ({ type: session_compaction, id, status, trigger: manual|auto|idle }), or null when none; manual work takes precedence. Each data entry contains type, id, event_id, trigger, status, model, compacted_message_count, input_tokens_before, input_tokens_after, summary, error and created_at, as recorded by the service. Missing or inaccessible managed sessions return 404 not_found_error.",
|
|
2243
2249
|
"http": "GET",
|
|
2244
2250
|
"path": "/agent/v1/sessions/{session_id}/compactions",
|
|
2245
2251
|
"streaming": "no",
|
|
@@ -2451,9 +2457,9 @@ export const operations = [
|
|
|
2451
2457
|
"query": [
|
|
2452
2458
|
{
|
|
2453
2459
|
"name": "limit",
|
|
2454
|
-
"type": "
|
|
2460
|
+
"type": "integer",
|
|
2455
2461
|
"required": false,
|
|
2456
|
-
"description": "Number of
|
|
2462
|
+
"description": "Number of resources per page, from 1 to 100; defaults to 100."
|
|
2457
2463
|
},
|
|
2458
2464
|
{
|
|
2459
2465
|
"name": "page",
|
|
@@ -3501,7 +3507,7 @@ export const operations = [
|
|
|
3501
3507
|
"resource": "application.workers.grants",
|
|
3502
3508
|
"method": "create",
|
|
3503
3509
|
"summary": "Create grant",
|
|
3504
|
-
"description": "
|
|
3510
|
+
"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).",
|
|
3505
3511
|
"http": "POST",
|
|
3506
3512
|
"path": "/application/v1/workers/{worker_id}/grants",
|
|
3507
3513
|
"streaming": "no",
|
|
@@ -3521,7 +3527,13 @@ export const operations = [
|
|
|
3521
3527
|
"name": "resource",
|
|
3522
3528
|
"type": "object",
|
|
3523
3529
|
"required": true,
|
|
3524
|
-
"description": "Resource to grant."
|
|
3530
|
+
"description": "Resource to grant. Each (type, id) may be granted once per Worker; duplicates return GRANT_CONFLICT (409)."
|
|
3531
|
+
},
|
|
3532
|
+
{
|
|
3533
|
+
"name": "alias",
|
|
3534
|
+
"type": "string",
|
|
3535
|
+
"required": false,
|
|
3536
|
+
"description": "Optional name, unique within this Worker. Available for reuse after the grant is deleted."
|
|
3525
3537
|
},
|
|
3526
3538
|
{
|
|
3527
3539
|
"name": "access",
|
|
@@ -3531,7 +3543,7 @@ export const operations = [
|
|
|
3531
3543
|
"read_write"
|
|
3532
3544
|
],
|
|
3533
3545
|
"required": true,
|
|
3534
|
-
"description": "Access level."
|
|
3546
|
+
"description": "Access level; models accepts read only."
|
|
3535
3547
|
}
|
|
3536
3548
|
]
|
|
3537
3549
|
}
|
|
@@ -3813,7 +3825,7 @@ export const operations = [
|
|
|
3813
3825
|
"resource": "automation.actions",
|
|
3814
3826
|
"method": "list",
|
|
3815
3827
|
"summary": "List actions",
|
|
3816
|
-
"description": "Discover callable Actions and their ns/name references without executing them. Combine each returned namespace and name as ns/name; Action calls use the current revision and do not accept @version or @tag. Filter by name or description; results include seven-day statistics and revision summaries without implementation source. Archived actions are excluded by default.",
|
|
3828
|
+
"description": "Discover callable Actions and their ns/name references without executing them. Combine each returned namespace and name as ns/name; Action calls use the current revision and do not accept @version or @tag. Filter by name or description; results include seven-day statistics and revision summaries without implementation source. Archived actions are excluded by default. List items carry no input contract: get the action and read current_revision.input_schema. Call it with call(\"ns/name\", input) in a script or call: ns/name with with: in a workflow.",
|
|
3817
3829
|
"http": "GET",
|
|
3818
3830
|
"path": "/automation/v1/actions",
|
|
3819
3831
|
"streaming": "no",
|
|
@@ -3982,7 +3994,7 @@ export const operations = [
|
|
|
3982
3994
|
"resource": "automation.actions",
|
|
3983
3995
|
"method": "retrieve",
|
|
3984
3996
|
"summary": "Get an Action with its current input and output JSON Schemas",
|
|
3985
|
-
"description": "Read the Action and its full current implementation, with input and output JSON Schemas at current_revision.input_schema and current_revision.output_schema. To read a built-in Action, use ns=praxis and name=<bare name>, for example name=ocr; invoke it in a script with call(\"ocr\", input). The response ETag is the current revision ID for conditional updates.",
|
|
3997
|
+
"description": "Read the Action and its full current implementation, with input and output JSON Schemas at current_revision.input_schema and current_revision.output_schema. To read a built-in Action, use ns=praxis and name=<bare name>, for example name=ocr; invoke it in a script with call(\"ocr\", input) or in a workflow step with call: ocr and with:. Input that breaks the contract returns INPUT_INVALID, with the fields in errors[]. The response ETag is the current revision ID for conditional updates.",
|
|
3986
3998
|
"http": "GET",
|
|
3987
3999
|
"path": "/automation/v1/actions/{ns}/{name}",
|
|
3988
4000
|
"streaming": "no",
|
|
@@ -4398,6 +4410,177 @@ export const operations = [
|
|
|
4398
4410
|
"fields": []
|
|
4399
4411
|
}
|
|
4400
4412
|
},
|
|
4413
|
+
{
|
|
4414
|
+
"resource": "automation.humanTasks",
|
|
4415
|
+
"method": "list",
|
|
4416
|
+
"summary": "List human tasks",
|
|
4417
|
+
"description": "List the human tasks that praxis/approval workflow steps opened, newest first. By default it returns only open tasks assigned to the caller: their approval inbox. scope=all lists every task of the organization, and status and run_id narrow the list. Use a returned id with retrieve for details and respond to decide. Read-only: listing never changes a task.",
|
|
4418
|
+
"http": "GET",
|
|
4419
|
+
"path": "/automation/v1/human-tasks",
|
|
4420
|
+
"streaming": "no",
|
|
4421
|
+
"pagination": true,
|
|
4422
|
+
"pathParams": [],
|
|
4423
|
+
"query": [
|
|
4424
|
+
{
|
|
4425
|
+
"name": "limit",
|
|
4426
|
+
"type": "integer",
|
|
4427
|
+
"required": false,
|
|
4428
|
+
"description": "Page size, 1–100, default 50."
|
|
4429
|
+
},
|
|
4430
|
+
{
|
|
4431
|
+
"name": "cursor",
|
|
4432
|
+
"type": "string",
|
|
4433
|
+
"required": false,
|
|
4434
|
+
"description": "The next_cursor of the previous page; omit for the first page."
|
|
4435
|
+
},
|
|
4436
|
+
{
|
|
4437
|
+
"name": "status",
|
|
4438
|
+
"type": "array",
|
|
4439
|
+
"itemType": "string",
|
|
4440
|
+
"enum": [
|
|
4441
|
+
"open",
|
|
4442
|
+
"completed",
|
|
4443
|
+
"expired",
|
|
4444
|
+
"cancelled"
|
|
4445
|
+
],
|
|
4446
|
+
"required": false,
|
|
4447
|
+
"description": "Filter by status, comma-separated: open, completed, expired, cancelled. Defaults to open."
|
|
4448
|
+
},
|
|
4449
|
+
{
|
|
4450
|
+
"name": "run_id",
|
|
4451
|
+
"type": "string",
|
|
4452
|
+
"required": false,
|
|
4453
|
+
"description": "Only tasks opened by this run (run_)."
|
|
4454
|
+
},
|
|
4455
|
+
{
|
|
4456
|
+
"name": "scope",
|
|
4457
|
+
"type": "string",
|
|
4458
|
+
"enum": [
|
|
4459
|
+
"assigned",
|
|
4460
|
+
"all"
|
|
4461
|
+
],
|
|
4462
|
+
"required": false,
|
|
4463
|
+
"description": "assigned (default) lists only tasks assigned to the caller; all lists every task of the organization."
|
|
4464
|
+
}
|
|
4465
|
+
]
|
|
4466
|
+
},
|
|
4467
|
+
{
|
|
4468
|
+
"resource": "automation.humanTasks",
|
|
4469
|
+
"method": "retrieve",
|
|
4470
|
+
"summary": "Retrieve a human task",
|
|
4471
|
+
"description": "Read one human task - title, Markdown body, context, actions, form, assignees, mode, due time, responses and outcome - so an assignee can choose an action and fill the form. Read-only; the Console approval page /automation/tasks/{id} reads the same resource.",
|
|
4472
|
+
"http": "GET",
|
|
4473
|
+
"path": "/automation/v1/human-tasks/{id}",
|
|
4474
|
+
"streaming": "no",
|
|
4475
|
+
"pagination": false,
|
|
4476
|
+
"pathParams": [
|
|
4477
|
+
{
|
|
4478
|
+
"name": "id",
|
|
4479
|
+
"sdkName": "id",
|
|
4480
|
+
"description": "Human task ID (htask_), from the list or the run's waits."
|
|
4481
|
+
}
|
|
4482
|
+
],
|
|
4483
|
+
"query": []
|
|
4484
|
+
},
|
|
4485
|
+
{
|
|
4486
|
+
"resource": "automation.humanTasks",
|
|
4487
|
+
"method": "cancel",
|
|
4488
|
+
"summary": "Cancel a human task",
|
|
4489
|
+
"description": "Cancel an open human task; only the person who started the run or an organization API key may cancel. The task becomes cancelled and the waiting workflow step raises a runtime error with code HUMAN_TASK_CANCELLED, which try/catch can catch. Open tasks are cancelled automatically when their run ends, so this call is not needed then.",
|
|
4490
|
+
"http": "POST",
|
|
4491
|
+
"path": "/automation/v1/human-tasks/{id}/cancel",
|
|
4492
|
+
"streaming": "no",
|
|
4493
|
+
"pagination": false,
|
|
4494
|
+
"pathParams": [
|
|
4495
|
+
{
|
|
4496
|
+
"name": "id",
|
|
4497
|
+
"sdkName": "id",
|
|
4498
|
+
"description": "Human task ID (htask_)."
|
|
4499
|
+
}
|
|
4500
|
+
],
|
|
4501
|
+
"query": [],
|
|
4502
|
+
"body": {
|
|
4503
|
+
"required": false,
|
|
4504
|
+
"fields": [
|
|
4505
|
+
{
|
|
4506
|
+
"name": "reason",
|
|
4507
|
+
"type": "string",
|
|
4508
|
+
"required": false,
|
|
4509
|
+
"description": "Optional cancellation reason, at most 500 characters."
|
|
4510
|
+
}
|
|
4511
|
+
]
|
|
4512
|
+
}
|
|
4513
|
+
},
|
|
4514
|
+
{
|
|
4515
|
+
"resource": "automation.humanTasks",
|
|
4516
|
+
"method": "delegate",
|
|
4517
|
+
"summary": "Delegate a human task",
|
|
4518
|
+
"description": "An assignee who has not responded hands their place to another user (to_user), replacing their entry in assignees.users in place, so sequential order is kept. The new user cannot already be an assignee, nor the initiator unless self-approval is allowed. The task must still be open.",
|
|
4519
|
+
"http": "POST",
|
|
4520
|
+
"path": "/automation/v1/human-tasks/{id}/delegate",
|
|
4521
|
+
"streaming": "no",
|
|
4522
|
+
"pagination": false,
|
|
4523
|
+
"pathParams": [
|
|
4524
|
+
{
|
|
4525
|
+
"name": "id",
|
|
4526
|
+
"sdkName": "id",
|
|
4527
|
+
"description": "Human task ID (htask_)."
|
|
4528
|
+
}
|
|
4529
|
+
],
|
|
4530
|
+
"query": [],
|
|
4531
|
+
"body": {
|
|
4532
|
+
"required": true,
|
|
4533
|
+
"fields": [
|
|
4534
|
+
{
|
|
4535
|
+
"name": "to_user",
|
|
4536
|
+
"type": "string",
|
|
4537
|
+
"required": true,
|
|
4538
|
+
"description": "User ID taking over; cannot already be an assignee, nor the initiator unless self-approval is allowed."
|
|
4539
|
+
}
|
|
4540
|
+
]
|
|
4541
|
+
}
|
|
4542
|
+
},
|
|
4543
|
+
{
|
|
4544
|
+
"resource": "automation.humanTasks",
|
|
4545
|
+
"method": "respond",
|
|
4546
|
+
"summary": "Respond to a human task",
|
|
4547
|
+
"description": "Submit an action (action_id), form values (values) and a comment as the calling user. Depending on the task's mode the response either decides it (status becomes completed, outcome is set, and the waiting workflow resumes with outcome as the step output) or is recorded while other assignees are awaited. When two assignees respond at once, exactly one decides and the other gets TASK_CLOSED. An agent may respond only if the workflow set allow_agent_decision. Send an Idempotency-Key to retry safely.",
|
|
4548
|
+
"http": "POST",
|
|
4549
|
+
"path": "/automation/v1/human-tasks/{id}/respond",
|
|
4550
|
+
"streaming": "no",
|
|
4551
|
+
"pagination": false,
|
|
4552
|
+
"pathParams": [
|
|
4553
|
+
{
|
|
4554
|
+
"name": "id",
|
|
4555
|
+
"sdkName": "id",
|
|
4556
|
+
"description": "Human task ID (htask_)."
|
|
4557
|
+
}
|
|
4558
|
+
],
|
|
4559
|
+
"query": [],
|
|
4560
|
+
"body": {
|
|
4561
|
+
"required": true,
|
|
4562
|
+
"fields": [
|
|
4563
|
+
{
|
|
4564
|
+
"name": "action_id",
|
|
4565
|
+
"type": "string",
|
|
4566
|
+
"required": true,
|
|
4567
|
+
"description": "The chosen action ID from the task's actions, for example approve."
|
|
4568
|
+
},
|
|
4569
|
+
{
|
|
4570
|
+
"name": "values",
|
|
4571
|
+
"type": "object",
|
|
4572
|
+
"required": false,
|
|
4573
|
+
"description": "Any JSON object whose keys are strings and whose values are any JSON value."
|
|
4574
|
+
},
|
|
4575
|
+
{
|
|
4576
|
+
"name": "comment",
|
|
4577
|
+
"type": "string",
|
|
4578
|
+
"required": false,
|
|
4579
|
+
"description": "Comment of at most 4000 characters; required when the action has require_comment true."
|
|
4580
|
+
}
|
|
4581
|
+
]
|
|
4582
|
+
}
|
|
4583
|
+
},
|
|
4401
4584
|
{
|
|
4402
4585
|
"resource": "automation.resolve",
|
|
4403
4586
|
"method": "retrieve",
|
|
@@ -4578,7 +4761,7 @@ export const operations = [
|
|
|
4578
4761
|
"resource": "automation.runs",
|
|
4579
4762
|
"method": "create",
|
|
4580
4763
|
"summary": "Run a published target or execute draft source",
|
|
4581
|
-
"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
|
|
4764
|
+
"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.",
|
|
4582
4765
|
"http": "POST",
|
|
4583
4766
|
"path": "/automation/v1/runs",
|
|
4584
4767
|
"streaming": "no",
|
|
@@ -5070,7 +5253,7 @@ export const operations = [
|
|
|
5070
5253
|
"resource": "automation.scripts",
|
|
5071
5254
|
"method": "create",
|
|
5072
5255
|
"summary": "Create a script",
|
|
5073
|
-
"description": "Save a TypeScript script as an editable draft for later reuse; this does not publish or start a run. 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. The draft is a source string with a default-exported function, for example `export default async (input: {name: string}) => ({greeting: \"Hello, \" + input.name});`. Scripts provide praxis, call, invoke, console and codemode as module-scope bindings, not on globalThis, with no import needed: praxis.<domain>.<resource>.<method>(...) calls a platform API, call(\"ocr\", input) calls a built-in Action, and invoke(\"namespace/name\", input) starts a child run. Action IDs are strings (bare names for built-ins, namespace/name for your own Actions); praxis.ocr(...) does not exist. To test it, pass that source and language=ts to praxis.automation.runs.create without publishing. To publish later, use the returned draft.revision as expected_draft_revision.",
|
|
5256
|
+
"description": "Save a TypeScript script as an editable draft for later reuse; this does not publish or start a run. 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. The draft is a source string with a default-exported function, for example `export default async (input: {name: string}) => ({greeting: \"Hello, \" + input.name});`. Scripts provide praxis, call, invoke, console and codemode as module-scope bindings, not on globalThis, with no import needed: praxis.<domain>.<resource>.<method>(...) calls a platform API, call(\"ocr\", input) calls a built-in Action, and invoke(\"namespace/name\", input) starts a child run. Action IDs are strings (bare names for built-ins, namespace/name for your own Actions); praxis.ocr(...) does not exist. The return value is limited to 1 MiB: write large results to a file with call(\"write-file\", ...) and return the file ID. A call error carries errors[] (pointer, detail, hint); String(e) is only the summary. To test it, pass that source and language=ts to praxis.automation.runs.create without publishing. To publish later, use the returned draft.revision as expected_draft_revision.",
|
|
5074
5257
|
"http": "POST",
|
|
5075
5258
|
"path": "/automation/v1/scripts",
|
|
5076
5259
|
"streaming": "no",
|
|
@@ -6019,7 +6202,7 @@ export const operations = [
|
|
|
6019
6202
|
"resource": "automation.validate",
|
|
6020
6203
|
"method": "create",
|
|
6021
6204
|
"summary": "Validate a definition",
|
|
6022
|
-
"description": "Check source without executing it when you need diagnostics, inferred schemas or references. This is optional before praxis.automation.runs.create, which also validates source before execution. Actions, scripts and workflows are supported; results include validity without saving. Invalid source is reported with valid=false. Script/action output schemas are inferred from return types: Promise unwrapping, Record, intersections and Date. Unknown types yield an empty schema and a warning in warnings. Source diagnostics use /source or /implementation/source with 1-based line/column. For kind=action the same admission checks as action creation apply (no external imports, platform operations only as direct call(praxis/<api>.<op>, input) calls, no agent or automation calls), so source that validates is not rejected at creation.",
|
|
6205
|
+
"description": "Check source without executing it when you need diagnostics, inferred schemas or references. This is optional before praxis.automation.runs.create, which also validates source before execution. Actions, scripts and workflows are supported; results include validity without saving. Invalid source is reported with valid=false. Script/action output schemas are inferred from return types: Promise unwrapping, Record, intersections and Date. Unknown types yield an empty schema and a warning in warnings. Source diagnostics use /source or /implementation/source with 1-based line/column. For kind=action the same admission checks as action creation apply (no external imports, platform operations only as direct call(praxis/<api>.<op>, input) calls, no agent or automation calls), so source that validates is not rejected at creation. For kind=workflow the YAML needs document (dsl, namespace, name, version) and do; each problem is one entry in errors[] (pointer, detail, hint), so read the first one. A listen outside the supported subset (to.all, inside a fork) and emit are not reported here and fail with DEFINITION_INVALID only when a run is created. Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax.",
|
|
6023
6206
|
"http": "POST",
|
|
6024
6207
|
"path": "/automation/v1/validate",
|
|
6025
6208
|
"streaming": "no",
|
|
@@ -6126,7 +6309,7 @@ export const operations = [
|
|
|
6126
6309
|
"resource": "automation.workflows",
|
|
6127
6310
|
"method": "create",
|
|
6128
6311
|
"summary": "Create a workflow",
|
|
6129
|
-
"description": "Save a YAML workflow as an editable draft
|
|
6312
|
+
"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. 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.",
|
|
6130
6313
|
"http": "POST",
|
|
6131
6314
|
"path": "/automation/v1/workflows",
|
|
6132
6315
|
"streaming": "no",
|
|
@@ -6196,7 +6379,7 @@ export const operations = [
|
|
|
6196
6379
|
"resource": "automation.workflows",
|
|
6197
6380
|
"method": "update",
|
|
6198
6381
|
"summary": "Update a workflow draft",
|
|
6199
|
-
"description": "Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.",
|
|
6382
|
+
"description": "Update description, labels or draft with the current draft revision in If-Match, taken from draft.revision in the get-workflow response. Even metadata-only updates create a new draft revision. A mismatch returns 412 PRECONDITION_FAILED; read the draft again, merge and retry. The draft is not validated here, so check it with validate (kind=workflow) before publishing. Error details are in errors[]. See the workflow syntax reference at https://deepraxis.com/docs/developers/automation/reference/workflow-syntax.",
|
|
6200
6383
|
"http": "PATCH",
|
|
6201
6384
|
"path": "/automation/v1/workflows/{ns}/{name}",
|
|
6202
6385
|
"streaming": "no",
|
|
@@ -6434,7 +6617,7 @@ export const operations = [
|
|
|
6434
6617
|
"publish"
|
|
6435
6618
|
],
|
|
6436
6619
|
"summary": "Publish a workflow version",
|
|
6437
|
-
"description": "Publish a saved definition from its draft or an ad hoc run as a reusable version for named runs or triggers, validating the definition and locking dependencies. To test unpublished code, use praxis.automation.runs.create with source and language instead. Use draft.revision from create or retrieve as expected_draft_revision. The draft must match expected_draft_revision; an ad hoc run requires from_run and expected_source_sha256. The same version and contents return the existing version; different contents return VERSION_EXISTS, prereleases require an explicit tag (not latest, URL-safe characters only, not a version or range; violations return TAG_REQUIRED or TAG_INVALID with the complete rules in hint), and invalid definitions return DEFINITION_INVALID. Stable releases automatically advance latest only above the highest existing stable version; workflows becoming latest synchronize their declared schedule. String and object run.workflow/run.script references share version resolution and dependency locking. Publishing removes +build metadata from the version number.",
|
|
6620
|
+
"description": "Publish a saved definition from its draft or an ad hoc run as a reusable version for named runs or triggers, validating the definition and locking dependencies. To test unpublished code, use praxis.automation.runs.create with source and language instead. Use draft.revision from create or retrieve as expected_draft_revision. The draft must match expected_draft_revision; an ad hoc run requires from_run and expected_source_sha256. The same version and contents return the existing version; different contents return VERSION_EXISTS, prereleases require an explicit tag (not latest, URL-safe characters only, not a version or range; violations return TAG_REQUIRED or TAG_INVALID with the complete rules in hint), and invalid definitions return DEFINITION_INVALID. Stable releases automatically advance latest only above the highest existing stable version; workflows becoming latest synchronize their declared schedule. String and object run.workflow/run.script references share version resolution and dependency locking. Publishing removes +build metadata from the version number. For a workflow, document namespace, name and version must equal the publish target, otherwise DEFINITION_IDENTITY_MISMATCH; where a DEFINITION_INVALID failure sits is listed in errors[] (pointer, detail, hint).",
|
|
6438
6621
|
"http": "POST",
|
|
6439
6622
|
"path": "/automation/v1/workflows/{ns}/{name}/versions",
|
|
6440
6623
|
"streaming": "no",
|
|
@@ -7110,175 +7293,1077 @@ export const operations = [
|
|
|
7110
7293
|
}
|
|
7111
7294
|
},
|
|
7112
7295
|
{
|
|
7113
|
-
"resource": "
|
|
7296
|
+
"resource": "canvas.canvases",
|
|
7114
7297
|
"method": "list",
|
|
7115
|
-
"summary": "List
|
|
7116
|
-
"description": "
|
|
7298
|
+
"summary": "List canvases",
|
|
7299
|
+
"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.",
|
|
7117
7300
|
"http": "GET",
|
|
7118
|
-
"path": "/
|
|
7301
|
+
"path": "/canvas/v1/canvases",
|
|
7119
7302
|
"streaming": "no",
|
|
7120
7303
|
"pagination": true,
|
|
7121
7304
|
"pathParams": [],
|
|
7122
7305
|
"query": [
|
|
7123
|
-
{
|
|
7124
|
-
"name": "cursor",
|
|
7125
|
-
"type": "string",
|
|
7126
|
-
"required": false,
|
|
7127
|
-
"description": "Opaque next_cursor from the previous page."
|
|
7128
|
-
},
|
|
7129
7306
|
{
|
|
7130
7307
|
"name": "limit",
|
|
7131
7308
|
"type": "integer",
|
|
7132
7309
|
"required": false,
|
|
7133
|
-
"description": "
|
|
7134
|
-
},
|
|
7135
|
-
{
|
|
7136
|
-
"name": "labels",
|
|
7137
|
-
"type": "object",
|
|
7138
|
-
"required": false,
|
|
7139
|
-
"description": "Exact label match, encoded as labels[purpose]=docs."
|
|
7310
|
+
"description": "Maximum canvases to return per page, from 1 to 100; defaults to 50 when omitted."
|
|
7140
7311
|
},
|
|
7141
7312
|
{
|
|
7142
|
-
"name": "
|
|
7313
|
+
"name": "cursor",
|
|
7143
7314
|
"type": "string",
|
|
7144
|
-
"enum": [
|
|
7145
|
-
"active",
|
|
7146
|
-
"deleting"
|
|
7147
|
-
],
|
|
7148
7315
|
"required": false,
|
|
7149
|
-
"description": "
|
|
7316
|
+
"description": "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null."
|
|
7150
7317
|
}
|
|
7151
7318
|
]
|
|
7152
7319
|
},
|
|
7153
7320
|
{
|
|
7154
|
-
"resource": "
|
|
7321
|
+
"resource": "canvas.canvases",
|
|
7155
7322
|
"method": "create",
|
|
7156
|
-
"summary": "Create
|
|
7157
|
-
"description": "
|
|
7323
|
+
"summary": "Create canvas",
|
|
7324
|
+
"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.",
|
|
7158
7325
|
"http": "POST",
|
|
7159
|
-
"path": "/
|
|
7326
|
+
"path": "/canvas/v1/canvases",
|
|
7160
7327
|
"streaming": "no",
|
|
7161
7328
|
"pagination": false,
|
|
7162
7329
|
"pathParams": [],
|
|
7163
7330
|
"query": [],
|
|
7164
7331
|
"body": {
|
|
7165
|
-
"required":
|
|
7332
|
+
"required": false,
|
|
7166
7333
|
"fields": [
|
|
7167
7334
|
{
|
|
7168
7335
|
"name": "name",
|
|
7169
7336
|
"type": "string",
|
|
7170
|
-
"required": true,
|
|
7171
|
-
"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."
|
|
7172
|
-
},
|
|
7173
|
-
{
|
|
7174
|
-
"name": "labels",
|
|
7175
|
-
"type": "object",
|
|
7176
7337
|
"required": false,
|
|
7177
|
-
"description": "
|
|
7338
|
+
"description": "Display name for the new canvas, at most 200 characters; omission uses Untitled."
|
|
7178
7339
|
}
|
|
7179
7340
|
]
|
|
7180
7341
|
}
|
|
7181
7342
|
},
|
|
7182
7343
|
{
|
|
7183
|
-
"resource": "
|
|
7344
|
+
"resource": "canvas.canvases",
|
|
7184
7345
|
"method": "delete",
|
|
7185
|
-
"summary": "Delete
|
|
7186
|
-
"description": "
|
|
7346
|
+
"summary": "Delete canvas",
|
|
7347
|
+
"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.",
|
|
7187
7348
|
"http": "DELETE",
|
|
7188
|
-
"path": "/
|
|
7349
|
+
"path": "/canvas/v1/canvases/{canvas_id}",
|
|
7189
7350
|
"streaming": "no",
|
|
7190
7351
|
"pagination": false,
|
|
7191
7352
|
"pathParams": [
|
|
7192
7353
|
{
|
|
7193
|
-
"name": "
|
|
7194
|
-
"sdkName": "
|
|
7195
|
-
"description": "
|
|
7354
|
+
"name": "canvas_id",
|
|
7355
|
+
"sdkName": "canvas_id",
|
|
7356
|
+
"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."
|
|
7196
7357
|
}
|
|
7197
7358
|
],
|
|
7198
7359
|
"query": []
|
|
7199
7360
|
},
|
|
7200
7361
|
{
|
|
7201
|
-
"resource": "
|
|
7362
|
+
"resource": "canvas.canvases",
|
|
7202
7363
|
"method": "retrieve",
|
|
7203
|
-
"summary": "
|
|
7204
|
-
"description": "
|
|
7364
|
+
"summary": "Retrieve canvas",
|
|
7365
|
+
"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.",
|
|
7205
7366
|
"http": "GET",
|
|
7206
|
-
"path": "/
|
|
7367
|
+
"path": "/canvas/v1/canvases/{canvas_id}",
|
|
7207
7368
|
"streaming": "no",
|
|
7208
7369
|
"pagination": false,
|
|
7209
7370
|
"pathParams": [
|
|
7210
7371
|
{
|
|
7211
|
-
"name": "
|
|
7212
|
-
"sdkName": "
|
|
7213
|
-
"description": "
|
|
7372
|
+
"name": "canvas_id",
|
|
7373
|
+
"sdkName": "canvas_id",
|
|
7374
|
+
"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."
|
|
7214
7375
|
}
|
|
7215
7376
|
],
|
|
7216
7377
|
"query": []
|
|
7217
7378
|
},
|
|
7218
7379
|
{
|
|
7219
|
-
"resource": "
|
|
7220
|
-
"method": "
|
|
7221
|
-
"summary": "
|
|
7222
|
-
"description": "
|
|
7223
|
-
"http": "
|
|
7224
|
-
"path": "/
|
|
7380
|
+
"resource": "canvas.canvases.images",
|
|
7381
|
+
"method": "list",
|
|
7382
|
+
"summary": "Render canvas nodes",
|
|
7383
|
+
"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.",
|
|
7384
|
+
"http": "GET",
|
|
7385
|
+
"path": "/canvas/v1/canvases/{canvas_id}/images",
|
|
7225
7386
|
"streaming": "no",
|
|
7226
7387
|
"pagination": false,
|
|
7227
7388
|
"pathParams": [
|
|
7228
7389
|
{
|
|
7229
|
-
"name": "
|
|
7230
|
-
"sdkName": "
|
|
7231
|
-
"description": "
|
|
7390
|
+
"name": "canvas_id",
|
|
7391
|
+
"sdkName": "canvas_id",
|
|
7392
|
+
"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."
|
|
7232
7393
|
}
|
|
7233
7394
|
],
|
|
7234
|
-
"query": [
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7395
|
+
"query": [
|
|
7396
|
+
{
|
|
7397
|
+
"name": "ids",
|
|
7398
|
+
"type": "string",
|
|
7399
|
+
"required": true,
|
|
7400
|
+
"description": "Comma-separated list of 1–4 node ids to render, from retrieve, execute.created or execute.screenshots."
|
|
7401
|
+
},
|
|
7402
|
+
{
|
|
7403
|
+
"name": "scale",
|
|
7404
|
+
"type": "number",
|
|
7405
|
+
"required": false,
|
|
7406
|
+
"description": "Output pixel scale relative to canvas dimensions, from 0.25 to 4 inclusive; defaults to 1 when omitted."
|
|
7407
|
+
},
|
|
7408
|
+
{
|
|
7409
|
+
"name": "format",
|
|
7410
|
+
"type": "string",
|
|
7411
|
+
"enum": [
|
|
7412
|
+
"png"
|
|
7413
|
+
],
|
|
7414
|
+
"required": false,
|
|
7415
|
+
"description": "Image encoding; png produces a PNG data URL and is the only supported value. Omit to use png."
|
|
7416
|
+
}
|
|
7417
|
+
]
|
|
7252
7418
|
},
|
|
7253
7419
|
{
|
|
7254
|
-
"resource": "
|
|
7420
|
+
"resource": "canvas.canvases.nodes",
|
|
7255
7421
|
"method": "list",
|
|
7256
|
-
"summary": "
|
|
7257
|
-
"description": "Read
|
|
7422
|
+
"summary": "Read canvas nodes",
|
|
7423
|
+
"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.",
|
|
7258
7424
|
"http": "GET",
|
|
7259
|
-
"path": "/
|
|
7425
|
+
"path": "/canvas/v1/canvases/{canvas_id}/nodes",
|
|
7260
7426
|
"streaming": "no",
|
|
7261
7427
|
"pagination": false,
|
|
7262
7428
|
"pathParams": [
|
|
7263
7429
|
{
|
|
7264
|
-
"name": "
|
|
7265
|
-
"sdkName": "
|
|
7266
|
-
"description": "
|
|
7430
|
+
"name": "canvas_id",
|
|
7431
|
+
"sdkName": "canvas_id",
|
|
7432
|
+
"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."
|
|
7267
7433
|
}
|
|
7268
7434
|
],
|
|
7269
7435
|
"query": [
|
|
7270
7436
|
{
|
|
7271
|
-
"name": "
|
|
7272
|
-
"type": "
|
|
7273
|
-
"required":
|
|
7274
|
-
"description": "
|
|
7437
|
+
"name": "ids",
|
|
7438
|
+
"type": "string",
|
|
7439
|
+
"required": true,
|
|
7440
|
+
"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."
|
|
7275
7441
|
},
|
|
7276
7442
|
{
|
|
7277
|
-
"name": "
|
|
7443
|
+
"name": "depth",
|
|
7278
7444
|
"type": "integer",
|
|
7279
7445
|
"required": false,
|
|
7280
|
-
"description": "
|
|
7281
|
-
}
|
|
7446
|
+
"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."
|
|
7447
|
+
}
|
|
7448
|
+
]
|
|
7449
|
+
},
|
|
7450
|
+
{
|
|
7451
|
+
"resource": "canvas.canvases",
|
|
7452
|
+
"method": "execute",
|
|
7453
|
+
"summary": "Execute canvas script",
|
|
7454
|
+
"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\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",
|
|
7455
|
+
"http": "POST",
|
|
7456
|
+
"path": "/canvas/v1/canvases/{canvas_id}:execute",
|
|
7457
|
+
"streaming": "no",
|
|
7458
|
+
"pagination": false,
|
|
7459
|
+
"pathParams": [
|
|
7460
|
+
{
|
|
7461
|
+
"name": "canvas_id",
|
|
7462
|
+
"sdkName": "canvas_id",
|
|
7463
|
+
"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."
|
|
7464
|
+
}
|
|
7465
|
+
],
|
|
7466
|
+
"query": [],
|
|
7467
|
+
"body": {
|
|
7468
|
+
"required": true,
|
|
7469
|
+
"fields": [
|
|
7470
|
+
{
|
|
7471
|
+
"name": "script",
|
|
7472
|
+
"type": "string",
|
|
7473
|
+
"required": false,
|
|
7474
|
+
"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."
|
|
7475
|
+
},
|
|
7476
|
+
{
|
|
7477
|
+
"name": "edit_id",
|
|
7478
|
+
"type": "string",
|
|
7479
|
+
"required": false,
|
|
7480
|
+
"description": "Saved failed-script identifier from error.details.edit_id; use with edits instead of script within ten minutes of the failure."
|
|
7481
|
+
},
|
|
7482
|
+
{
|
|
7483
|
+
"name": "edits",
|
|
7484
|
+
"type": "array",
|
|
7485
|
+
"itemType": "object",
|
|
7486
|
+
"required": false,
|
|
7487
|
+
"description": "Text replacements applied to the source identified by edit_id before rerunning; use error line, column or rejection to choose the correction."
|
|
7488
|
+
},
|
|
7489
|
+
{
|
|
7490
|
+
"name": "expected_version",
|
|
7491
|
+
"type": "string",
|
|
7492
|
+
"required": false,
|
|
7493
|
+
"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."
|
|
7494
|
+
}
|
|
7495
|
+
]
|
|
7496
|
+
}
|
|
7497
|
+
},
|
|
7498
|
+
{
|
|
7499
|
+
"resource": "cut.exports",
|
|
7500
|
+
"method": "retrieve",
|
|
7501
|
+
"summary": "Retrieve video export",
|
|
7502
|
+
"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.",
|
|
7503
|
+
"http": "GET",
|
|
7504
|
+
"path": "/cut/v1/exports/{export_id}",
|
|
7505
|
+
"streaming": "no",
|
|
7506
|
+
"pagination": false,
|
|
7507
|
+
"pathParams": [
|
|
7508
|
+
{
|
|
7509
|
+
"name": "export_id",
|
|
7510
|
+
"sdkName": "export_id",
|
|
7511
|
+
"description": "Export identifier returned by its create or list operation; use the id, not a display name."
|
|
7512
|
+
}
|
|
7513
|
+
],
|
|
7514
|
+
"query": []
|
|
7515
|
+
},
|
|
7516
|
+
{
|
|
7517
|
+
"resource": "cut.exports",
|
|
7518
|
+
"method": "cancel",
|
|
7519
|
+
"summary": "Cancel video export",
|
|
7520
|
+
"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.",
|
|
7521
|
+
"http": "POST",
|
|
7522
|
+
"path": "/cut/v1/exports/{export_id}:cancel",
|
|
7523
|
+
"streaming": "no",
|
|
7524
|
+
"pagination": false,
|
|
7525
|
+
"pathParams": [
|
|
7526
|
+
{
|
|
7527
|
+
"name": "export_id",
|
|
7528
|
+
"sdkName": "export_id",
|
|
7529
|
+
"description": "Export identifier returned by its create or list operation; use the id, not a display name."
|
|
7530
|
+
}
|
|
7531
|
+
],
|
|
7532
|
+
"query": []
|
|
7533
|
+
},
|
|
7534
|
+
{
|
|
7535
|
+
"resource": "cut.projects",
|
|
7536
|
+
"method": "list",
|
|
7537
|
+
"summary": "List projects",
|
|
7538
|
+
"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.",
|
|
7539
|
+
"http": "GET",
|
|
7540
|
+
"path": "/cut/v1/projects",
|
|
7541
|
+
"streaming": "no",
|
|
7542
|
+
"pagination": false,
|
|
7543
|
+
"pathParams": [],
|
|
7544
|
+
"query": [
|
|
7545
|
+
{
|
|
7546
|
+
"name": "page_size",
|
|
7547
|
+
"type": "integer",
|
|
7548
|
+
"required": false,
|
|
7549
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
7550
|
+
},
|
|
7551
|
+
{
|
|
7552
|
+
"name": "page_token",
|
|
7553
|
+
"type": "string",
|
|
7554
|
+
"required": false,
|
|
7555
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
7556
|
+
},
|
|
7557
|
+
{
|
|
7558
|
+
"name": "filter",
|
|
7559
|
+
"type": "string",
|
|
7560
|
+
"required": false,
|
|
7561
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
7562
|
+
},
|
|
7563
|
+
{
|
|
7564
|
+
"name": "order_by",
|
|
7565
|
+
"type": "string",
|
|
7566
|
+
"required": false,
|
|
7567
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
7568
|
+
}
|
|
7569
|
+
]
|
|
7570
|
+
},
|
|
7571
|
+
{
|
|
7572
|
+
"resource": "cut.projects",
|
|
7573
|
+
"method": "create",
|
|
7574
|
+
"summary": "Create project",
|
|
7575
|
+
"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.",
|
|
7576
|
+
"http": "POST",
|
|
7577
|
+
"path": "/cut/v1/projects",
|
|
7578
|
+
"streaming": "no",
|
|
7579
|
+
"pagination": false,
|
|
7580
|
+
"pathParams": [],
|
|
7581
|
+
"query": [],
|
|
7582
|
+
"body": {
|
|
7583
|
+
"required": true,
|
|
7584
|
+
"fields": [
|
|
7585
|
+
{
|
|
7586
|
+
"name": "name",
|
|
7587
|
+
"type": "string",
|
|
7588
|
+
"required": true,
|
|
7589
|
+
"description": "Human-readable project name; required and must contain non-whitespace text."
|
|
7590
|
+
},
|
|
7591
|
+
{
|
|
7592
|
+
"name": "labels",
|
|
7593
|
+
"type": "object",
|
|
7594
|
+
"required": false,
|
|
7595
|
+
"description": "User-defined string labels for organizing projects; label keys retain their original spelling."
|
|
7596
|
+
},
|
|
7597
|
+
{
|
|
7598
|
+
"name": "settings",
|
|
7599
|
+
"type": "object",
|
|
7600
|
+
"required": true,
|
|
7601
|
+
"description": "Dimensions and frame rate for a new editing project."
|
|
7602
|
+
},
|
|
7603
|
+
{
|
|
7604
|
+
"name": "bindings",
|
|
7605
|
+
"type": "array",
|
|
7606
|
+
"itemType": "object",
|
|
7607
|
+
"required": true,
|
|
7608
|
+
"description": "Accessible library bindings; exactly one read_write entry must have default_upload true."
|
|
7609
|
+
}
|
|
7610
|
+
]
|
|
7611
|
+
}
|
|
7612
|
+
},
|
|
7613
|
+
{
|
|
7614
|
+
"resource": "cut.projects",
|
|
7615
|
+
"method": "delete",
|
|
7616
|
+
"summary": "Delete project",
|
|
7617
|
+
"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.",
|
|
7618
|
+
"http": "DELETE",
|
|
7619
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
7620
|
+
"streaming": "no",
|
|
7621
|
+
"pagination": false,
|
|
7622
|
+
"pathParams": [
|
|
7623
|
+
{
|
|
7624
|
+
"name": "project_id",
|
|
7625
|
+
"sdkName": "project_id",
|
|
7626
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7627
|
+
}
|
|
7628
|
+
],
|
|
7629
|
+
"query": []
|
|
7630
|
+
},
|
|
7631
|
+
{
|
|
7632
|
+
"resource": "cut.projects",
|
|
7633
|
+
"method": "retrieve",
|
|
7634
|
+
"summary": "Retrieve project",
|
|
7635
|
+
"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.",
|
|
7636
|
+
"http": "GET",
|
|
7637
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
7638
|
+
"streaming": "no",
|
|
7639
|
+
"pagination": false,
|
|
7640
|
+
"pathParams": [
|
|
7641
|
+
{
|
|
7642
|
+
"name": "project_id",
|
|
7643
|
+
"sdkName": "project_id",
|
|
7644
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7645
|
+
}
|
|
7646
|
+
],
|
|
7647
|
+
"query": [
|
|
7648
|
+
{
|
|
7649
|
+
"name": "expand",
|
|
7650
|
+
"type": "string",
|
|
7651
|
+
"required": false,
|
|
7652
|
+
"description": "Comma-separated expansions: timeline includes clips, exports includes render jobs, versions includes saved snapshots."
|
|
7653
|
+
}
|
|
7654
|
+
]
|
|
7655
|
+
},
|
|
7656
|
+
{
|
|
7657
|
+
"resource": "cut.projects",
|
|
7658
|
+
"method": "update",
|
|
7659
|
+
"summary": "Update project metadata",
|
|
7660
|
+
"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.",
|
|
7661
|
+
"http": "PATCH",
|
|
7662
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
7663
|
+
"streaming": "no",
|
|
7664
|
+
"pagination": false,
|
|
7665
|
+
"pathParams": [
|
|
7666
|
+
{
|
|
7667
|
+
"name": "project_id",
|
|
7668
|
+
"sdkName": "project_id",
|
|
7669
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7670
|
+
}
|
|
7671
|
+
],
|
|
7672
|
+
"query": [],
|
|
7673
|
+
"body": {
|
|
7674
|
+
"required": true,
|
|
7675
|
+
"fields": [
|
|
7676
|
+
{
|
|
7677
|
+
"name": "name",
|
|
7678
|
+
"type": "string",
|
|
7679
|
+
"required": false,
|
|
7680
|
+
"description": "Replacement display name when update_mask includes name."
|
|
7681
|
+
},
|
|
7682
|
+
{
|
|
7683
|
+
"name": "labels",
|
|
7684
|
+
"type": "object",
|
|
7685
|
+
"required": false,
|
|
7686
|
+
"description": "User-defined string labels for organizing projects; label keys retain their original spelling."
|
|
7687
|
+
},
|
|
7688
|
+
{
|
|
7689
|
+
"name": "update_mask",
|
|
7690
|
+
"type": "array",
|
|
7691
|
+
"itemType": "string",
|
|
7692
|
+
"enum": [
|
|
7693
|
+
"name",
|
|
7694
|
+
"labels"
|
|
7695
|
+
],
|
|
7696
|
+
"required": true,
|
|
7697
|
+
"description": "Metadata fields to replace; name changes the display name and labels replaces all labels."
|
|
7698
|
+
}
|
|
7699
|
+
]
|
|
7700
|
+
}
|
|
7701
|
+
},
|
|
7702
|
+
{
|
|
7703
|
+
"resource": "cut.projects.analysis",
|
|
7704
|
+
"method": "create",
|
|
7705
|
+
"summary": "Analyze project media",
|
|
7706
|
+
"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.",
|
|
7707
|
+
"http": "POST",
|
|
7708
|
+
"path": "/cut/v1/projects/{project_id}/analysis",
|
|
7709
|
+
"streaming": "no",
|
|
7710
|
+
"pagination": false,
|
|
7711
|
+
"pathParams": [
|
|
7712
|
+
{
|
|
7713
|
+
"name": "project_id",
|
|
7714
|
+
"sdkName": "project_id",
|
|
7715
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7716
|
+
}
|
|
7717
|
+
],
|
|
7718
|
+
"query": [],
|
|
7719
|
+
"body": {
|
|
7720
|
+
"required": true,
|
|
7721
|
+
"fields": [
|
|
7722
|
+
{
|
|
7723
|
+
"name": "media",
|
|
7724
|
+
"type": "array",
|
|
7725
|
+
"itemType": "object",
|
|
7726
|
+
"required": false,
|
|
7727
|
+
"description": "Bound-library assets to analyze; omission selects project media."
|
|
7728
|
+
},
|
|
7729
|
+
{
|
|
7730
|
+
"name": "kinds",
|
|
7731
|
+
"type": "array",
|
|
7732
|
+
"itemType": "string",
|
|
7733
|
+
"enum": [
|
|
7734
|
+
"silence",
|
|
7735
|
+
"filler",
|
|
7736
|
+
"scenes"
|
|
7737
|
+
],
|
|
7738
|
+
"required": true,
|
|
7739
|
+
"description": "Analysis types to request for the selected source assets."
|
|
7740
|
+
}
|
|
7741
|
+
]
|
|
7742
|
+
}
|
|
7743
|
+
},
|
|
7744
|
+
{
|
|
7745
|
+
"resource": "cut.projects.bindings",
|
|
7746
|
+
"method": "list",
|
|
7747
|
+
"summary": "List library bindings",
|
|
7748
|
+
"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.",
|
|
7749
|
+
"http": "GET",
|
|
7750
|
+
"path": "/cut/v1/projects/{project_id}/bindings",
|
|
7751
|
+
"streaming": "no",
|
|
7752
|
+
"pagination": false,
|
|
7753
|
+
"pathParams": [
|
|
7754
|
+
{
|
|
7755
|
+
"name": "project_id",
|
|
7756
|
+
"sdkName": "project_id",
|
|
7757
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7758
|
+
}
|
|
7759
|
+
],
|
|
7760
|
+
"query": []
|
|
7761
|
+
},
|
|
7762
|
+
{
|
|
7763
|
+
"resource": "cut.projects.bindings",
|
|
7764
|
+
"method": "create",
|
|
7765
|
+
"summary": "Bind media library",
|
|
7766
|
+
"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.",
|
|
7767
|
+
"http": "POST",
|
|
7768
|
+
"path": "/cut/v1/projects/{project_id}/bindings",
|
|
7769
|
+
"streaming": "no",
|
|
7770
|
+
"pagination": false,
|
|
7771
|
+
"pathParams": [
|
|
7772
|
+
{
|
|
7773
|
+
"name": "project_id",
|
|
7774
|
+
"sdkName": "project_id",
|
|
7775
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7776
|
+
}
|
|
7777
|
+
],
|
|
7778
|
+
"query": [],
|
|
7779
|
+
"body": {
|
|
7780
|
+
"required": true,
|
|
7781
|
+
"fields": [
|
|
7782
|
+
{
|
|
7783
|
+
"name": "binding",
|
|
7784
|
+
"type": "object",
|
|
7785
|
+
"required": true,
|
|
7786
|
+
"description": "A named project link to a media library. Exactly one read_write binding must be default_upload."
|
|
7787
|
+
}
|
|
7788
|
+
]
|
|
7789
|
+
}
|
|
7790
|
+
},
|
|
7791
|
+
{
|
|
7792
|
+
"resource": "cut.projects.bindings",
|
|
7793
|
+
"method": "delete",
|
|
7794
|
+
"summary": "Remove library binding",
|
|
7795
|
+
"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.",
|
|
7796
|
+
"http": "DELETE",
|
|
7797
|
+
"path": "/cut/v1/projects/{project_id}/bindings/{name}",
|
|
7798
|
+
"streaming": "no",
|
|
7799
|
+
"pagination": false,
|
|
7800
|
+
"pathParams": [
|
|
7801
|
+
{
|
|
7802
|
+
"name": "project_id",
|
|
7803
|
+
"sdkName": "project_id",
|
|
7804
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7805
|
+
},
|
|
7806
|
+
{
|
|
7807
|
+
"name": "name",
|
|
7808
|
+
"sdkName": "name",
|
|
7809
|
+
"description": "Project-local binding alias from bindings.list; detach only after removing all clips that reference its library."
|
|
7810
|
+
}
|
|
7811
|
+
],
|
|
7812
|
+
"query": []
|
|
7813
|
+
},
|
|
7814
|
+
{
|
|
7815
|
+
"resource": "cut.projects.exports",
|
|
7816
|
+
"method": "list",
|
|
7817
|
+
"summary": "List project exports",
|
|
7818
|
+
"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.",
|
|
7819
|
+
"http": "GET",
|
|
7820
|
+
"path": "/cut/v1/projects/{project_id}/exports",
|
|
7821
|
+
"streaming": "no",
|
|
7822
|
+
"pagination": false,
|
|
7823
|
+
"pathParams": [
|
|
7824
|
+
{
|
|
7825
|
+
"name": "project_id",
|
|
7826
|
+
"sdkName": "project_id",
|
|
7827
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7828
|
+
}
|
|
7829
|
+
],
|
|
7830
|
+
"query": [
|
|
7831
|
+
{
|
|
7832
|
+
"name": "page_size",
|
|
7833
|
+
"type": "integer",
|
|
7834
|
+
"required": false,
|
|
7835
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
7836
|
+
},
|
|
7837
|
+
{
|
|
7838
|
+
"name": "page_token",
|
|
7839
|
+
"type": "string",
|
|
7840
|
+
"required": false,
|
|
7841
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
7842
|
+
},
|
|
7843
|
+
{
|
|
7844
|
+
"name": "filter",
|
|
7845
|
+
"type": "string",
|
|
7846
|
+
"required": false,
|
|
7847
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
7848
|
+
},
|
|
7849
|
+
{
|
|
7850
|
+
"name": "order_by",
|
|
7851
|
+
"type": "string",
|
|
7852
|
+
"required": false,
|
|
7853
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
7854
|
+
}
|
|
7855
|
+
]
|
|
7856
|
+
},
|
|
7857
|
+
{
|
|
7858
|
+
"resource": "cut.projects.exports",
|
|
7859
|
+
"method": "create",
|
|
7860
|
+
"summary": "Create video export",
|
|
7861
|
+
"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.",
|
|
7862
|
+
"http": "POST",
|
|
7863
|
+
"path": "/cut/v1/projects/{project_id}/exports",
|
|
7864
|
+
"streaming": "no",
|
|
7865
|
+
"pagination": false,
|
|
7866
|
+
"pathParams": [
|
|
7867
|
+
{
|
|
7868
|
+
"name": "project_id",
|
|
7869
|
+
"sdkName": "project_id",
|
|
7870
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7871
|
+
}
|
|
7872
|
+
],
|
|
7873
|
+
"query": [],
|
|
7874
|
+
"body": {
|
|
7875
|
+
"required": true,
|
|
7876
|
+
"fields": [
|
|
7877
|
+
{
|
|
7878
|
+
"name": "output",
|
|
7879
|
+
"type": "object",
|
|
7880
|
+
"required": false,
|
|
7881
|
+
"description": "Rendering options for an exported video."
|
|
7882
|
+
},
|
|
7883
|
+
{
|
|
7884
|
+
"name": "binding",
|
|
7885
|
+
"type": "string",
|
|
7886
|
+
"required": false,
|
|
7887
|
+
"description": "Writable binding name used as the export destination; omission uses default_upload."
|
|
7888
|
+
},
|
|
7889
|
+
{
|
|
7890
|
+
"name": "revision",
|
|
7891
|
+
"type": "integer",
|
|
7892
|
+
"required": false,
|
|
7893
|
+
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
7894
|
+
}
|
|
7895
|
+
]
|
|
7896
|
+
}
|
|
7897
|
+
},
|
|
7898
|
+
{
|
|
7899
|
+
"resource": "cut.projects.frames",
|
|
7900
|
+
"method": "list",
|
|
7901
|
+
"summary": "Render preview frames",
|
|
7902
|
+
"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. Fetch the returned image URLs before expires_at; render again when they expire.",
|
|
7903
|
+
"http": "GET",
|
|
7904
|
+
"path": "/cut/v1/projects/{project_id}/frames",
|
|
7905
|
+
"streaming": "no",
|
|
7906
|
+
"pagination": false,
|
|
7907
|
+
"pathParams": [
|
|
7908
|
+
{
|
|
7909
|
+
"name": "project_id",
|
|
7910
|
+
"sdkName": "project_id",
|
|
7911
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7912
|
+
}
|
|
7913
|
+
],
|
|
7914
|
+
"query": [
|
|
7915
|
+
{
|
|
7916
|
+
"name": "at",
|
|
7917
|
+
"type": "string",
|
|
7918
|
+
"required": true,
|
|
7919
|
+
"description": "Required comma-separated non-negative project times in seconds, for example 12,15.5."
|
|
7920
|
+
},
|
|
7921
|
+
{
|
|
7922
|
+
"name": "scale",
|
|
7923
|
+
"type": "number",
|
|
7924
|
+
"required": false,
|
|
7925
|
+
"description": "Positive image size multiplier; 0.5 renders at half the project dimensions."
|
|
7926
|
+
},
|
|
7927
|
+
{
|
|
7928
|
+
"name": "revision",
|
|
7929
|
+
"type": "integer",
|
|
7930
|
+
"required": false,
|
|
7931
|
+
"description": "Optional committed project revision from state or execute; omission selects the current revision."
|
|
7932
|
+
}
|
|
7933
|
+
]
|
|
7934
|
+
},
|
|
7935
|
+
{
|
|
7936
|
+
"resource": "cut.projects.media",
|
|
7937
|
+
"method": "import",
|
|
7938
|
+
"summary": "Import project media",
|
|
7939
|
+
"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.",
|
|
7940
|
+
"http": "POST",
|
|
7941
|
+
"path": "/cut/v1/projects/{project_id}/media:import",
|
|
7942
|
+
"streaming": "no",
|
|
7943
|
+
"pagination": false,
|
|
7944
|
+
"pathParams": [
|
|
7945
|
+
{
|
|
7946
|
+
"name": "project_id",
|
|
7947
|
+
"sdkName": "project_id",
|
|
7948
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7949
|
+
}
|
|
7950
|
+
],
|
|
7951
|
+
"query": [],
|
|
7952
|
+
"body": {
|
|
7953
|
+
"required": true,
|
|
7954
|
+
"fields": [
|
|
7955
|
+
{
|
|
7956
|
+
"name": "binding",
|
|
7957
|
+
"type": "string",
|
|
7958
|
+
"required": false,
|
|
7959
|
+
"description": "Writable binding name from project bindings; omission uses default_upload."
|
|
7960
|
+
},
|
|
7961
|
+
{
|
|
7962
|
+
"name": "source",
|
|
7963
|
+
"type": "object",
|
|
7964
|
+
"required": true,
|
|
7965
|
+
"description": "Exactly one input source for the imported asset."
|
|
7966
|
+
},
|
|
7967
|
+
{
|
|
7968
|
+
"name": "display_name",
|
|
7969
|
+
"type": "string",
|
|
7970
|
+
"required": false,
|
|
7971
|
+
"description": "Optional human-readable display name for the new media asset."
|
|
7972
|
+
}
|
|
7973
|
+
]
|
|
7974
|
+
}
|
|
7975
|
+
},
|
|
7976
|
+
{
|
|
7977
|
+
"resource": "cut.projects",
|
|
7978
|
+
"method": "retrieveState",
|
|
7979
|
+
"summary": "Read editing state",
|
|
7980
|
+
"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.",
|
|
7981
|
+
"http": "GET",
|
|
7982
|
+
"path": "/cut/v1/projects/{project_id}/state",
|
|
7983
|
+
"streaming": "no",
|
|
7984
|
+
"pagination": false,
|
|
7985
|
+
"pathParams": [
|
|
7986
|
+
{
|
|
7987
|
+
"name": "project_id",
|
|
7988
|
+
"sdkName": "project_id",
|
|
7989
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7990
|
+
}
|
|
7991
|
+
],
|
|
7992
|
+
"query": []
|
|
7993
|
+
},
|
|
7994
|
+
{
|
|
7995
|
+
"resource": "cut.projects",
|
|
7996
|
+
"method": "retrieveTimeline",
|
|
7997
|
+
"summary": "Read project timeline",
|
|
7998
|
+
"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.",
|
|
7999
|
+
"http": "GET",
|
|
8000
|
+
"path": "/cut/v1/projects/{project_id}/timeline",
|
|
8001
|
+
"streaming": "no",
|
|
8002
|
+
"pagination": false,
|
|
8003
|
+
"pathParams": [
|
|
8004
|
+
{
|
|
8005
|
+
"name": "project_id",
|
|
8006
|
+
"sdkName": "project_id",
|
|
8007
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8008
|
+
}
|
|
8009
|
+
],
|
|
8010
|
+
"query": [
|
|
8011
|
+
{
|
|
8012
|
+
"name": "view",
|
|
8013
|
+
"type": "string",
|
|
8014
|
+
"enum": [
|
|
8015
|
+
"full",
|
|
8016
|
+
"compact"
|
|
8017
|
+
],
|
|
8018
|
+
"required": false,
|
|
8019
|
+
"description": "full returns structured clips; compact returns compact textual editing context."
|
|
8020
|
+
},
|
|
8021
|
+
{
|
|
8022
|
+
"name": "from",
|
|
8023
|
+
"type": "number",
|
|
8024
|
+
"required": false,
|
|
8025
|
+
"description": "Optional start of the selected project range in seconds; omit for the beginning."
|
|
8026
|
+
},
|
|
8027
|
+
{
|
|
8028
|
+
"name": "to",
|
|
8029
|
+
"type": "number",
|
|
8030
|
+
"required": false,
|
|
8031
|
+
"description": "Optional end of the selected project range in seconds; omit for the end."
|
|
8032
|
+
},
|
|
8033
|
+
{
|
|
8034
|
+
"name": "tracks",
|
|
8035
|
+
"type": "string",
|
|
8036
|
+
"required": false,
|
|
8037
|
+
"description": "Comma-separated track ids from state to include; omit to include every track."
|
|
8038
|
+
}
|
|
8039
|
+
]
|
|
8040
|
+
},
|
|
8041
|
+
{
|
|
8042
|
+
"resource": "cut.projects.versions",
|
|
8043
|
+
"method": "list",
|
|
8044
|
+
"summary": "List saved versions",
|
|
8045
|
+
"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.",
|
|
8046
|
+
"http": "GET",
|
|
8047
|
+
"path": "/cut/v1/projects/{project_id}/versions",
|
|
8048
|
+
"streaming": "no",
|
|
8049
|
+
"pagination": false,
|
|
8050
|
+
"pathParams": [
|
|
8051
|
+
{
|
|
8052
|
+
"name": "project_id",
|
|
8053
|
+
"sdkName": "project_id",
|
|
8054
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8055
|
+
}
|
|
8056
|
+
],
|
|
8057
|
+
"query": [
|
|
8058
|
+
{
|
|
8059
|
+
"name": "page_size",
|
|
8060
|
+
"type": "integer",
|
|
8061
|
+
"required": false,
|
|
8062
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
8063
|
+
},
|
|
8064
|
+
{
|
|
8065
|
+
"name": "page_token",
|
|
8066
|
+
"type": "string",
|
|
8067
|
+
"required": false,
|
|
8068
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
8069
|
+
},
|
|
8070
|
+
{
|
|
8071
|
+
"name": "filter",
|
|
8072
|
+
"type": "string",
|
|
8073
|
+
"required": false,
|
|
8074
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
8075
|
+
},
|
|
8076
|
+
{
|
|
8077
|
+
"name": "order_by",
|
|
8078
|
+
"type": "string",
|
|
8079
|
+
"required": false,
|
|
8080
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
8081
|
+
}
|
|
8082
|
+
]
|
|
8083
|
+
},
|
|
8084
|
+
{
|
|
8085
|
+
"resource": "cut.projects.versions",
|
|
8086
|
+
"method": "create",
|
|
8087
|
+
"summary": "Save project version",
|
|
8088
|
+
"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.",
|
|
8089
|
+
"http": "POST",
|
|
8090
|
+
"path": "/cut/v1/projects/{project_id}/versions",
|
|
8091
|
+
"streaming": "no",
|
|
8092
|
+
"pagination": false,
|
|
8093
|
+
"pathParams": [
|
|
8094
|
+
{
|
|
8095
|
+
"name": "project_id",
|
|
8096
|
+
"sdkName": "project_id",
|
|
8097
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8098
|
+
}
|
|
8099
|
+
],
|
|
8100
|
+
"query": [],
|
|
8101
|
+
"body": {
|
|
8102
|
+
"required": true,
|
|
8103
|
+
"fields": [
|
|
8104
|
+
{
|
|
8105
|
+
"name": "label",
|
|
8106
|
+
"type": "string",
|
|
8107
|
+
"required": false,
|
|
8108
|
+
"description": "Human-readable snapshot label, such as Before captions."
|
|
8109
|
+
}
|
|
8110
|
+
]
|
|
8111
|
+
}
|
|
8112
|
+
},
|
|
8113
|
+
{
|
|
8114
|
+
"resource": "cut.projects",
|
|
8115
|
+
"method": "execute",
|
|
8116
|
+
"summary": "Execute editing script",
|
|
8117
|
+
"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. Use AddTrack, Insert, Update, Delete, Split, Trim, Move, RippleDeleteRange, UpdateTrack, DeleteTrack, SetSettings, AddCaptionsFromTranscript and SetMarker for writes; GetTimeline, GetItem, FindItems, GetMedia, GetTranscript and GetAnalysis read editing context; Print emits text and Preview requests frame previews. All script times are seconds; script object fields use camelCase, for example `media: {libraryId, assetId}`. 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:\n\n```js\nconst t = AddTrack(\"video\");\nInsert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3});\nPrint(t);\n```",
|
|
8118
|
+
"http": "POST",
|
|
8119
|
+
"path": "/cut/v1/projects/{project_id}:execute",
|
|
8120
|
+
"streaming": "no",
|
|
8121
|
+
"pagination": false,
|
|
8122
|
+
"pathParams": [
|
|
8123
|
+
{
|
|
8124
|
+
"name": "project_id",
|
|
8125
|
+
"sdkName": "project_id",
|
|
8126
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8127
|
+
}
|
|
8128
|
+
],
|
|
8129
|
+
"query": [],
|
|
8130
|
+
"body": {
|
|
8131
|
+
"required": true,
|
|
8132
|
+
"fields": [
|
|
8133
|
+
{
|
|
8134
|
+
"name": "script",
|
|
8135
|
+
"type": "string",
|
|
8136
|
+
"required": false,
|
|
8137
|
+
"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."
|
|
8138
|
+
},
|
|
8139
|
+
{
|
|
8140
|
+
"name": "edit_id",
|
|
8141
|
+
"type": "string",
|
|
8142
|
+
"required": false,
|
|
8143
|
+
"description": "Saved failed script identifier from error.details.edit_id; valid for ten minutes."
|
|
8144
|
+
},
|
|
8145
|
+
{
|
|
8146
|
+
"name": "edits",
|
|
8147
|
+
"type": "array",
|
|
8148
|
+
"itemType": "object",
|
|
8149
|
+
"required": false,
|
|
8150
|
+
"description": "Literal replacements applied to the saved source before rerunning."
|
|
8151
|
+
},
|
|
8152
|
+
{
|
|
8153
|
+
"name": "expected_revision",
|
|
8154
|
+
"type": "integer",
|
|
8155
|
+
"required": false,
|
|
8156
|
+
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
8157
|
+
}
|
|
8158
|
+
]
|
|
8159
|
+
}
|
|
8160
|
+
},
|
|
8161
|
+
{
|
|
8162
|
+
"resource": "cut.projects",
|
|
8163
|
+
"method": "undelete",
|
|
8164
|
+
"summary": "Restore deleted project",
|
|
8165
|
+
"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.",
|
|
8166
|
+
"http": "POST",
|
|
8167
|
+
"path": "/cut/v1/projects/{project_id}:undelete",
|
|
8168
|
+
"streaming": "no",
|
|
8169
|
+
"pagination": false,
|
|
8170
|
+
"pathParams": [
|
|
8171
|
+
{
|
|
8172
|
+
"name": "project_id",
|
|
8173
|
+
"sdkName": "project_id",
|
|
8174
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8175
|
+
}
|
|
8176
|
+
],
|
|
8177
|
+
"query": []
|
|
8178
|
+
},
|
|
8179
|
+
{
|
|
8180
|
+
"resource": "cut.versions",
|
|
8181
|
+
"method": "restore",
|
|
8182
|
+
"summary": "Restore saved version",
|
|
8183
|
+
"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.",
|
|
8184
|
+
"http": "POST",
|
|
8185
|
+
"path": "/cut/v1/versions/{version_id}:restore",
|
|
8186
|
+
"streaming": "no",
|
|
8187
|
+
"pagination": false,
|
|
8188
|
+
"pathParams": [
|
|
8189
|
+
{
|
|
8190
|
+
"name": "version_id",
|
|
8191
|
+
"sdkName": "version_id",
|
|
8192
|
+
"description": "Version identifier returned by its create or list operation; use the id, not a display name."
|
|
8193
|
+
}
|
|
8194
|
+
],
|
|
8195
|
+
"query": []
|
|
8196
|
+
},
|
|
8197
|
+
{
|
|
8198
|
+
"resource": "database.databases",
|
|
8199
|
+
"method": "list",
|
|
8200
|
+
"summary": "List databases",
|
|
8201
|
+
"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.",
|
|
8202
|
+
"http": "GET",
|
|
8203
|
+
"path": "/database/v1/databases",
|
|
8204
|
+
"streaming": "no",
|
|
8205
|
+
"pagination": true,
|
|
8206
|
+
"pathParams": [],
|
|
8207
|
+
"query": [
|
|
8208
|
+
{
|
|
8209
|
+
"name": "cursor",
|
|
8210
|
+
"type": "string",
|
|
8211
|
+
"required": false,
|
|
8212
|
+
"description": "Opaque next_cursor from the previous page."
|
|
8213
|
+
},
|
|
8214
|
+
{
|
|
8215
|
+
"name": "limit",
|
|
8216
|
+
"type": "integer",
|
|
8217
|
+
"required": false,
|
|
8218
|
+
"description": "Page size."
|
|
8219
|
+
},
|
|
8220
|
+
{
|
|
8221
|
+
"name": "labels",
|
|
8222
|
+
"type": "object",
|
|
8223
|
+
"required": false,
|
|
8224
|
+
"description": "Exact label match, encoded as labels[purpose]=docs."
|
|
8225
|
+
},
|
|
8226
|
+
{
|
|
8227
|
+
"name": "status",
|
|
8228
|
+
"type": "string",
|
|
8229
|
+
"enum": [
|
|
8230
|
+
"active",
|
|
8231
|
+
"deleting"
|
|
8232
|
+
],
|
|
8233
|
+
"required": false,
|
|
8234
|
+
"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."
|
|
8235
|
+
}
|
|
8236
|
+
]
|
|
8237
|
+
},
|
|
8238
|
+
{
|
|
8239
|
+
"resource": "database.databases",
|
|
8240
|
+
"method": "create",
|
|
8241
|
+
"summary": "Create database",
|
|
8242
|
+
"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.",
|
|
8243
|
+
"http": "POST",
|
|
8244
|
+
"path": "/database/v1/databases",
|
|
8245
|
+
"streaming": "no",
|
|
8246
|
+
"pagination": false,
|
|
8247
|
+
"pathParams": [],
|
|
8248
|
+
"query": [],
|
|
8249
|
+
"body": {
|
|
8250
|
+
"required": true,
|
|
8251
|
+
"fields": [
|
|
8252
|
+
{
|
|
8253
|
+
"name": "name",
|
|
8254
|
+
"type": "string",
|
|
8255
|
+
"required": true,
|
|
8256
|
+
"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."
|
|
8257
|
+
},
|
|
8258
|
+
{
|
|
8259
|
+
"name": "labels",
|
|
8260
|
+
"type": "object",
|
|
8261
|
+
"required": false,
|
|
8262
|
+
"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."
|
|
8263
|
+
}
|
|
8264
|
+
]
|
|
8265
|
+
}
|
|
8266
|
+
},
|
|
8267
|
+
{
|
|
8268
|
+
"resource": "database.databases",
|
|
8269
|
+
"method": "delete",
|
|
8270
|
+
"summary": "Delete database",
|
|
8271
|
+
"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.",
|
|
8272
|
+
"http": "DELETE",
|
|
8273
|
+
"path": "/database/v1/databases/{database_id}",
|
|
8274
|
+
"streaming": "no",
|
|
8275
|
+
"pagination": false,
|
|
8276
|
+
"pathParams": [
|
|
8277
|
+
{
|
|
8278
|
+
"name": "database_id",
|
|
8279
|
+
"sdkName": "database_id",
|
|
8280
|
+
"description": "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted."
|
|
8281
|
+
}
|
|
8282
|
+
],
|
|
8283
|
+
"query": []
|
|
8284
|
+
},
|
|
8285
|
+
{
|
|
8286
|
+
"resource": "database.databases",
|
|
8287
|
+
"method": "retrieve",
|
|
8288
|
+
"summary": "Get database",
|
|
8289
|
+
"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.",
|
|
8290
|
+
"http": "GET",
|
|
8291
|
+
"path": "/database/v1/databases/{database_id}",
|
|
8292
|
+
"streaming": "no",
|
|
8293
|
+
"pagination": false,
|
|
8294
|
+
"pathParams": [
|
|
8295
|
+
{
|
|
8296
|
+
"name": "database_id",
|
|
8297
|
+
"sdkName": "database_id",
|
|
8298
|
+
"description": "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted."
|
|
8299
|
+
}
|
|
8300
|
+
],
|
|
8301
|
+
"query": []
|
|
8302
|
+
},
|
|
8303
|
+
{
|
|
8304
|
+
"resource": "database.databases",
|
|
8305
|
+
"method": "update",
|
|
8306
|
+
"summary": "Update database",
|
|
8307
|
+
"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.",
|
|
8308
|
+
"http": "PATCH",
|
|
8309
|
+
"path": "/database/v1/databases/{database_id}",
|
|
8310
|
+
"streaming": "no",
|
|
8311
|
+
"pagination": false,
|
|
8312
|
+
"pathParams": [
|
|
8313
|
+
{
|
|
8314
|
+
"name": "database_id",
|
|
8315
|
+
"sdkName": "database_id",
|
|
8316
|
+
"description": "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted."
|
|
8317
|
+
}
|
|
8318
|
+
],
|
|
8319
|
+
"query": [],
|
|
8320
|
+
"body": {
|
|
8321
|
+
"required": true,
|
|
8322
|
+
"fields": [
|
|
8323
|
+
{
|
|
8324
|
+
"name": "name",
|
|
8325
|
+
"type": "string",
|
|
8326
|
+
"required": false,
|
|
8327
|
+
"description": "New display name, 1–64 visible characters after trimming. Omit it to keep the current name."
|
|
8328
|
+
},
|
|
8329
|
+
{
|
|
8330
|
+
"name": "labels",
|
|
8331
|
+
"type": "object",
|
|
8332
|
+
"required": false,
|
|
8333
|
+
"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."
|
|
8334
|
+
}
|
|
8335
|
+
]
|
|
8336
|
+
}
|
|
8337
|
+
},
|
|
8338
|
+
{
|
|
8339
|
+
"resource": "database.databases.events",
|
|
8340
|
+
"method": "list",
|
|
8341
|
+
"summary": "List events",
|
|
8342
|
+
"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.",
|
|
8343
|
+
"http": "GET",
|
|
8344
|
+
"path": "/database/v1/databases/{database_id}/events",
|
|
8345
|
+
"streaming": "no",
|
|
8346
|
+
"pagination": false,
|
|
8347
|
+
"pathParams": [
|
|
8348
|
+
{
|
|
8349
|
+
"name": "database_id",
|
|
8350
|
+
"sdkName": "database_id",
|
|
8351
|
+
"description": "Identifier of the database to act on: the id (db_…) returned by databaseCreateDatabase or databaseListDatabases. A display name is not accepted."
|
|
8352
|
+
}
|
|
8353
|
+
],
|
|
8354
|
+
"query": [
|
|
8355
|
+
{
|
|
8356
|
+
"name": "after_seq",
|
|
8357
|
+
"type": "integer",
|
|
8358
|
+
"required": false,
|
|
8359
|
+
"description": "With order=asc, return only events with seq greater than this value. Cannot be combined with before_seq."
|
|
8360
|
+
},
|
|
8361
|
+
{
|
|
8362
|
+
"name": "limit",
|
|
8363
|
+
"type": "integer",
|
|
8364
|
+
"required": false,
|
|
8365
|
+
"description": "Page size."
|
|
8366
|
+
},
|
|
7282
8367
|
{
|
|
7283
8368
|
"name": "order",
|
|
7284
8369
|
"type": "string",
|
|
@@ -8118,7 +9203,7 @@ export const operations = [
|
|
|
8118
9203
|
"resource": "file.files",
|
|
8119
9204
|
"method": "create",
|
|
8120
9205
|
"summary": "Upload file",
|
|
8121
|
-
"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
|
|
9206
|
+
"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.",
|
|
8122
9207
|
"http": "POST",
|
|
8123
9208
|
"path": "/file/v1/files",
|
|
8124
9209
|
"streaming": "no",
|
|
@@ -8140,23 +9225,16 @@ export const operations = [
|
|
|
8140
9225
|
"type": "string",
|
|
8141
9226
|
"enum": [
|
|
8142
9227
|
"user_data",
|
|
8143
|
-
"assistants",
|
|
8144
9228
|
"vision"
|
|
8145
9229
|
],
|
|
8146
9230
|
"required": true,
|
|
8147
|
-
"description": "Purpose label stored with the file: user_data
|
|
9231
|
+
"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."
|
|
8148
9232
|
},
|
|
8149
9233
|
{
|
|
8150
9234
|
"name": "expires_after",
|
|
8151
9235
|
"type": "object",
|
|
8152
9236
|
"required": false,
|
|
8153
9237
|
"description": "Optional expiry relative to created_at. Files without an expiry persist until deleted."
|
|
8154
|
-
},
|
|
8155
|
-
{
|
|
8156
|
-
"name": "praxis",
|
|
8157
|
-
"type": "object",
|
|
8158
|
-
"required": false,
|
|
8159
|
-
"description": "Own-face extensions. Use at most one expiry setting."
|
|
8160
9238
|
}
|
|
8161
9239
|
]
|
|
8162
9240
|
}
|
|
@@ -8219,7 +9297,7 @@ export const operations = [
|
|
|
8219
9297
|
"resource": "file.uploads",
|
|
8220
9298
|
"method": "create",
|
|
8221
9299
|
"summary": "Create an upload",
|
|
8222
|
-
"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
|
|
9300
|
+
"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.",
|
|
8223
9301
|
"http": "POST",
|
|
8224
9302
|
"path": "/file/v1/uploads",
|
|
8225
9303
|
"streaming": "no",
|
|
@@ -8252,11 +9330,10 @@ export const operations = [
|
|
|
8252
9330
|
"type": "string",
|
|
8253
9331
|
"enum": [
|
|
8254
9332
|
"user_data",
|
|
8255
|
-
"assistants",
|
|
8256
9333
|
"vision"
|
|
8257
9334
|
],
|
|
8258
9335
|
"required": true,
|
|
8259
|
-
"description": "Use user_data for conversation attachments,
|
|
9336
|
+
"description": "Use user_data for conversation attachments, or vision for PNG, JPEG, GIF and WebP images."
|
|
8260
9337
|
},
|
|
8261
9338
|
{
|
|
8262
9339
|
"name": "expires_after",
|
|
@@ -9436,7 +10513,7 @@ export const operations = [
|
|
|
9436
10513
|
"name": "overwrite",
|
|
9437
10514
|
"type": "boolean",
|
|
9438
10515
|
"required": false,
|
|
9439
|
-
"description": "Allow replacing an existing public_id, preserving its asset_id and increasing its version. False returns the existing resource without replacing it; defaults to true."
|
|
10516
|
+
"description": "Allow replacing an existing public_id, preserving its asset_id and increasing its version. Only the latest version is deliverable; old version URLs return 404. Create a new public_id to retain old deliveries. False returns the existing resource without replacing it; defaults to true."
|
|
9440
10517
|
},
|
|
9441
10518
|
{
|
|
9442
10519
|
"name": "tags",
|
|
@@ -9494,7 +10571,8 @@ export const operations = [
|
|
|
9494
10571
|
{
|
|
9495
10572
|
"name": "file_id",
|
|
9496
10573
|
"type": "string",
|
|
9497
|
-
"required": true
|
|
10574
|
+
"required": true,
|
|
10575
|
+
"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."
|
|
9498
10576
|
},
|
|
9499
10577
|
{
|
|
9500
10578
|
"name": "public_id",
|
|
@@ -9548,7 +10626,7 @@ export const operations = [
|
|
|
9548
10626
|
"name": "overwrite",
|
|
9549
10627
|
"type": "boolean",
|
|
9550
10628
|
"required": false,
|
|
9551
|
-
"description": "Allow replacing an existing public_id, preserving its asset_id and increasing its version. False returns the existing resource without replacing it; defaults to true."
|
|
10629
|
+
"description": "Allow replacing an existing public_id, preserving its asset_id and increasing its version. Only the latest version is deliverable; old version URLs return 404. Create a new public_id to retain old deliveries. False returns the existing resource without replacing it; defaults to true."
|
|
9552
10630
|
},
|
|
9553
10631
|
{
|
|
9554
10632
|
"name": "tags",
|
|
@@ -10065,7 +11143,7 @@ export const operations = [
|
|
|
10065
11143
|
"name": "expression",
|
|
10066
11144
|
"type": "string",
|
|
10067
11145
|
"required": false,
|
|
10068
|
-
"description": "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets."
|
|
11146
|
+
"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."
|
|
10069
11147
|
},
|
|
10070
11148
|
{
|
|
10071
11149
|
"name": "sort_by",
|
|
@@ -10211,6 +11289,70 @@ export const operations = [
|
|
|
10211
11289
|
]
|
|
10212
11290
|
}
|
|
10213
11291
|
},
|
|
11292
|
+
{
|
|
11293
|
+
"resource": "meta.docs",
|
|
11294
|
+
"method": "search",
|
|
11295
|
+
"summary": "Search platform documentation",
|
|
11296
|
+
"description": "Find guides and references by keyword before reading them with praxis.meta.docs.retrieve. Public; no API key required. Matches documentation titles, headings and page text without case sensitivity; all query words must occur. q is required; limit defaults to 20 and accepts 1–50. lang defaults to zh or use en for English. Returns paths, page titles, canonical URLs and short matching snippets; no matches returns an empty array.",
|
|
11297
|
+
"http": "GET",
|
|
11298
|
+
"path": "/meta/v1/docs/search",
|
|
11299
|
+
"streaming": "no",
|
|
11300
|
+
"pagination": false,
|
|
11301
|
+
"pathParams": [],
|
|
11302
|
+
"query": [
|
|
11303
|
+
{
|
|
11304
|
+
"name": "q",
|
|
11305
|
+
"type": "string",
|
|
11306
|
+
"required": true,
|
|
11307
|
+
"description": "Keywords describing the syntax or guide needed, for example export or workflow."
|
|
11308
|
+
},
|
|
11309
|
+
{
|
|
11310
|
+
"name": "limit",
|
|
11311
|
+
"type": "integer",
|
|
11312
|
+
"required": false,
|
|
11313
|
+
"description": "Maximum number of matching pages returned; integer 1–50, default 20."
|
|
11314
|
+
},
|
|
11315
|
+
{
|
|
11316
|
+
"name": "lang",
|
|
11317
|
+
"type": "string",
|
|
11318
|
+
"enum": [
|
|
11319
|
+
"zh",
|
|
11320
|
+
"en"
|
|
11321
|
+
],
|
|
11322
|
+
"required": false,
|
|
11323
|
+
"description": "Documentation language: zh for Chinese (default), en for English."
|
|
11324
|
+
}
|
|
11325
|
+
]
|
|
11326
|
+
},
|
|
11327
|
+
{
|
|
11328
|
+
"resource": "meta.docs",
|
|
11329
|
+
"method": "retrieve",
|
|
11330
|
+
"summary": "Read documentation Markdown",
|
|
11331
|
+
"description": "Read a platform guide or reference before implementing an unfamiliar capability. Public; no API key required. Take path from praxis.meta.docs.search, or use developers/automation/guides/write-workflow. Append #heading-id to path to read only that section, including its subsections. Encode the hash as %23 over HTTP; SDK callers pass it in the path string. lang defaults to zh; en selects the English page. Unknown pages or anchors return DOC_NOT_FOUND; search again for a valid path.",
|
|
11332
|
+
"http": "GET",
|
|
11333
|
+
"path": "/meta/v1/docs/{path}",
|
|
11334
|
+
"streaming": "no",
|
|
11335
|
+
"pagination": false,
|
|
11336
|
+
"pathParams": [
|
|
11337
|
+
{
|
|
11338
|
+
"name": "path",
|
|
11339
|
+
"sdkName": "path",
|
|
11340
|
+
"description": "Slash-separated documentation path from docs.search; optionally append #heading-id to select a section."
|
|
11341
|
+
}
|
|
11342
|
+
],
|
|
11343
|
+
"query": [
|
|
11344
|
+
{
|
|
11345
|
+
"name": "lang",
|
|
11346
|
+
"type": "string",
|
|
11347
|
+
"enum": [
|
|
11348
|
+
"zh",
|
|
11349
|
+
"en"
|
|
11350
|
+
],
|
|
11351
|
+
"required": false,
|
|
11352
|
+
"description": "Documentation language: zh for Chinese (default), en for English."
|
|
11353
|
+
}
|
|
11354
|
+
]
|
|
11355
|
+
},
|
|
10214
11356
|
{
|
|
10215
11357
|
"resource": "meta.health",
|
|
10216
11358
|
"method": "retrieve",
|
|
@@ -11575,7 +12717,8 @@ export const operations = [
|
|
|
11575
12717
|
"openai.images.edits",
|
|
11576
12718
|
"openai.images.generations",
|
|
11577
12719
|
"openai.responses",
|
|
11578
|
-
"openai.videos"
|
|
12720
|
+
"openai.videos",
|
|
12721
|
+
"typesafe.systemone"
|
|
11579
12722
|
],
|
|
11580
12723
|
"required": false,
|
|
11581
12724
|
"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."
|
|
@@ -12150,6 +13293,47 @@ export const operations = [
|
|
|
12150
13293
|
],
|
|
12151
13294
|
"query": []
|
|
12152
13295
|
},
|
|
13296
|
+
{
|
|
13297
|
+
"resource": "model.systemone",
|
|
13298
|
+
"method": "create",
|
|
13299
|
+
"summary": "Ask structured decision questions",
|
|
13300
|
+
"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.",
|
|
13301
|
+
"http": "POST",
|
|
13302
|
+
"path": "/model/v1/systemone",
|
|
13303
|
+
"streaming": "no",
|
|
13304
|
+
"pagination": false,
|
|
13305
|
+
"pathParams": [],
|
|
13306
|
+
"query": [],
|
|
13307
|
+
"body": {
|
|
13308
|
+
"required": true,
|
|
13309
|
+
"fields": [
|
|
13310
|
+
{
|
|
13311
|
+
"name": "model",
|
|
13312
|
+
"type": "string",
|
|
13313
|
+
"required": true,
|
|
13314
|
+
"description": "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response."
|
|
13315
|
+
},
|
|
13316
|
+
{
|
|
13317
|
+
"name": "state",
|
|
13318
|
+
"type": "object",
|
|
13319
|
+
"required": true,
|
|
13320
|
+
"description": "Shared content evaluated by every question, supplied as text, a JSON object or an array."
|
|
13321
|
+
},
|
|
13322
|
+
{
|
|
13323
|
+
"name": "questions",
|
|
13324
|
+
"type": "object",
|
|
13325
|
+
"required": true,
|
|
13326
|
+
"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."
|
|
13327
|
+
},
|
|
13328
|
+
{
|
|
13329
|
+
"name": "assets",
|
|
13330
|
+
"type": "object",
|
|
13331
|
+
"required": false,
|
|
13332
|
+
"description": "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported."
|
|
13333
|
+
}
|
|
13334
|
+
]
|
|
13335
|
+
}
|
|
13336
|
+
},
|
|
12153
13337
|
{
|
|
12154
13338
|
"resource": "model.videos",
|
|
12155
13339
|
"method": "list",
|