@deepraxis/sdk 0.1.1-dev.d25d171 → 0.1.1-dev.de0a917
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 +219 -47
- package/README.md +1 -1
- package/dist/automation.d.ts +61 -0
- package/dist/core/client.d.ts +11 -1
- package/dist/core/client.js +13 -0
- package/dist/core/transport.d.ts +9 -0
- package/dist/core/transport.js +13 -2
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +482 -108
- package/dist/generated/sdk.gen.js +1991 -671
- package/dist/generated/types.gen.d.ts +34106 -28059
- 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/helpers/sandbox-templates.d.ts +121 -0
- package/dist/helpers/sandbox-templates.js +60 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +3 -0
- package/dist/operations.generated.d.ts +2054 -469
- package/dist/operations.generated.js +2421 -464
- package/dist/resources.generated.d.ts +511 -383
- package/dist/resources.generated.js +135 -26
- 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",
|
|
@@ -106,7 +108,7 @@ export const operations = [
|
|
|
106
108
|
"name": "multiagent",
|
|
107
109
|
"type": "object",
|
|
108
110
|
"required": false,
|
|
109
|
-
"description": "A
|
|
111
|
+
"description": "Coordinator roster. A bare string agent id is equivalent to {type: \"agent\", id}; omitting its version pins the referenced agent's current saved version when this roster is saved. {type: \"self\"} refers to this agent. Specify a concrete version to pin it explicitly."
|
|
110
112
|
},
|
|
111
113
|
{
|
|
112
114
|
"name": "skills",
|
|
@@ -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."
|
|
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",
|
|
@@ -157,6 +161,12 @@ export const operations = [
|
|
|
157
161
|
"required": false,
|
|
158
162
|
"description": "Praxis extension: default subagent model ID, pinned in the agent revision. Call model overrides this; otherwise it overrides the roster member model or the parent model for built-ins. Null clears the default. /agent/v1 only."
|
|
159
163
|
},
|
|
164
|
+
{
|
|
165
|
+
"name": "image_model",
|
|
166
|
+
"type": "string",
|
|
167
|
+
"required": false,
|
|
168
|
+
"description": "Model used by the imagine image tool; defaults to gpt-image-2 when unset. Only models that can generate images are accepted. Omit to preserve; null clears the configured model. /agent/v1 only."
|
|
169
|
+
},
|
|
160
170
|
{
|
|
161
171
|
"name": "subagents",
|
|
162
172
|
"type": "array",
|
|
@@ -175,7 +185,7 @@ export const operations = [
|
|
|
175
185
|
"name": "settings",
|
|
176
186
|
"type": "object",
|
|
177
187
|
"required": false,
|
|
178
|
-
"description": "
|
|
188
|
+
"description": "Agent runtime settings follow Claude Code managed settings. Praxis freezes output-style selection for each new session; inline output_styles extend file-based styles. Omit settings to keep saved settings; null clears them."
|
|
179
189
|
},
|
|
180
190
|
{
|
|
181
191
|
"name": "models",
|
|
@@ -187,7 +197,7 @@ export const operations = [
|
|
|
187
197
|
"name": "avatar",
|
|
188
198
|
"type": "string",
|
|
189
199
|
"required": false,
|
|
190
|
-
"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."
|
|
191
201
|
},
|
|
192
202
|
{
|
|
193
203
|
"name": "environment_id",
|
|
@@ -212,6 +222,13 @@ export const operations = [
|
|
|
212
222
|
],
|
|
213
223
|
"required": false,
|
|
214
224
|
"description": "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor."
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "output_styles",
|
|
228
|
+
"type": "array",
|
|
229
|
+
"itemType": "object",
|
|
230
|
+
"required": false,
|
|
231
|
+
"description": "Inline custom output styles, including for agents without a computer. Omit to keep the saved list; null or [] clears it. Same-name precedence is inline, project files, personal files, then plugins. Selection is settings.outputStyle; styles apply to main conversations and are frozen per session."
|
|
215
232
|
}
|
|
216
233
|
]
|
|
217
234
|
}
|
|
@@ -220,7 +237,7 @@ export const operations = [
|
|
|
220
237
|
"resource": "agent.agents",
|
|
221
238
|
"method": "retrieve",
|
|
222
239
|
"summary": "Get agent",
|
|
223
|
-
"description": "Read
|
|
240
|
+
"description": "Read the agent configuration currently effective for new sessions. By default, version equals active_version and latest_version identifies the newest saved version, including an unapplied save. Use latest_version for optimistic concurrency when updating. Pass version as a positive integer to read that saved version; version=active is equivalent to omission. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so tools can be sent back unchanged to agents.update. Use agents.versions.list to enumerate saved versions.",
|
|
224
241
|
"http": "GET",
|
|
225
242
|
"path": "/agent/v1/agents/{agent_id}",
|
|
226
243
|
"streaming": "no",
|
|
@@ -229,7 +246,7 @@ export const operations = [
|
|
|
229
246
|
{
|
|
230
247
|
"name": "agent_id",
|
|
231
248
|
"sdkName": "agent_id",
|
|
232
|
-
"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."
|
|
249
|
+
"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_…."
|
|
233
250
|
}
|
|
234
251
|
],
|
|
235
252
|
"query": [
|
|
@@ -237,7 +254,7 @@ export const operations = [
|
|
|
237
254
|
"name": "version",
|
|
238
255
|
"type": "number",
|
|
239
256
|
"required": false,
|
|
240
|
-
"description": "Agent version to read
|
|
257
|
+
"description": "Agent version to read. Omit, or send active, for the currently effective version used by new sessions. Send an integer of at least 1 from agents.versions.list to read that saved version. The default response also includes latest_version, the newest saved version number."
|
|
241
258
|
}
|
|
242
259
|
]
|
|
243
260
|
},
|
|
@@ -245,7 +262,7 @@ export const operations = [
|
|
|
245
262
|
"resource": "agent.agents",
|
|
246
263
|
"method": "update",
|
|
247
264
|
"summary": "Update agent",
|
|
248
|
-
"description": "
|
|
265
|
+
"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.",
|
|
249
266
|
"http": "POST",
|
|
250
267
|
"path": "/agent/v1/agents/{agent_id}",
|
|
251
268
|
"streaming": "no",
|
|
@@ -254,7 +271,7 @@ export const operations = [
|
|
|
254
271
|
{
|
|
255
272
|
"name": "agent_id",
|
|
256
273
|
"sdkName": "agent_id",
|
|
257
|
-
"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."
|
|
274
|
+
"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_…."
|
|
258
275
|
}
|
|
259
276
|
],
|
|
260
277
|
"query": [],
|
|
@@ -284,13 +301,13 @@ export const operations = [
|
|
|
284
301
|
"name": "model",
|
|
285
302
|
"type": "object",
|
|
286
303
|
"required": false,
|
|
287
|
-
"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."
|
|
304
|
+
"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."
|
|
288
305
|
},
|
|
289
306
|
{
|
|
290
307
|
"name": "multiagent",
|
|
291
308
|
"type": "object",
|
|
292
309
|
"required": false,
|
|
293
|
-
"description": "A
|
|
310
|
+
"description": "Coordinator roster. A bare string agent id is equivalent to {type: \"agent\", id}; omitting its version pins the referenced agent's current saved version when this roster is saved. {type: \"self\"} refers to this agent. Specify a concrete version to pin it explicitly."
|
|
294
311
|
},
|
|
295
312
|
{
|
|
296
313
|
"name": "name",
|
|
@@ -322,19 +339,19 @@ export const operations = [
|
|
|
322
339
|
"name": "version",
|
|
323
340
|
"type": "number",
|
|
324
341
|
"required": false,
|
|
325
|
-
"description": "
|
|
342
|
+
"description": "Newest saved version used for optimistic concurrency. Obtain latest_version from the default retrieve or update response, or version from versions.list. A stale value returns 409; omit for an unconditional update."
|
|
326
343
|
},
|
|
327
344
|
{
|
|
328
345
|
"name": "apply",
|
|
329
346
|
"type": "boolean",
|
|
330
347
|
"required": false,
|
|
331
|
-
"description": "Defaults to true: apply
|
|
348
|
+
"description": "Defaults to true: apply a newly saved configuration version. Set false to save without changing active_version. An unchanged configuration is a no-op, including note-only updates; use versions.apply to activate a saved version."
|
|
332
349
|
},
|
|
333
350
|
{
|
|
334
351
|
"name": "version_note",
|
|
335
352
|
"type": "string",
|
|
336
353
|
"required": false,
|
|
337
|
-
"description": "Optional change explanation
|
|
354
|
+
"description": "Optional change explanation, at most 280 characters. Recorded only when a configuration change creates a new immutable version. A note-only update is a no-op returning 200 and the current effective version. Null is equivalent to omission."
|
|
338
355
|
},
|
|
339
356
|
{
|
|
340
357
|
"name": "bindings",
|
|
@@ -347,11 +364,13 @@ export const operations = [
|
|
|
347
364
|
"name": "kind",
|
|
348
365
|
"type": "string",
|
|
349
366
|
"enum": [
|
|
367
|
+
"general",
|
|
350
368
|
"personal",
|
|
351
|
-
"service"
|
|
369
|
+
"service",
|
|
370
|
+
"assume"
|
|
352
371
|
],
|
|
353
372
|
"required": false,
|
|
354
|
-
"description": "Immutable agent kind. personal
|
|
373
|
+
"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."
|
|
355
374
|
},
|
|
356
375
|
{
|
|
357
376
|
"name": "computer_id",
|
|
@@ -365,6 +384,12 @@ export const operations = [
|
|
|
365
384
|
"required": false,
|
|
366
385
|
"description": "Praxis extension: default subagent model ID, pinned in the agent revision. Call model overrides this; otherwise it overrides the roster member model or the parent model for built-ins. Null clears the default. /agent/v1 only."
|
|
367
386
|
},
|
|
387
|
+
{
|
|
388
|
+
"name": "image_model",
|
|
389
|
+
"type": "string",
|
|
390
|
+
"required": false,
|
|
391
|
+
"description": "Model used by the imagine image tool; defaults to gpt-image-2 when unset. Only models that can generate images are accepted. Omit to preserve; null clears the configured model. /agent/v1 only."
|
|
392
|
+
},
|
|
368
393
|
{
|
|
369
394
|
"name": "subagents",
|
|
370
395
|
"type": "array",
|
|
@@ -383,7 +408,7 @@ export const operations = [
|
|
|
383
408
|
"name": "settings",
|
|
384
409
|
"type": "object",
|
|
385
410
|
"required": false,
|
|
386
|
-
"description": "
|
|
411
|
+
"description": "Agent runtime settings follow Claude Code managed settings. Praxis freezes output-style selection for each new session; inline output_styles extend file-based styles. Omit settings to keep saved settings; null clears them."
|
|
387
412
|
},
|
|
388
413
|
{
|
|
389
414
|
"name": "models",
|
|
@@ -395,7 +420,7 @@ export const operations = [
|
|
|
395
420
|
"name": "avatar",
|
|
396
421
|
"type": "string",
|
|
397
422
|
"required": false,
|
|
398
|
-
"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.
|
|
423
|
+
"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."
|
|
399
424
|
},
|
|
400
425
|
{
|
|
401
426
|
"name": "environment_id",
|
|
@@ -420,10 +445,35 @@ export const operations = [
|
|
|
420
445
|
],
|
|
421
446
|
"required": false,
|
|
422
447
|
"description": "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor."
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"name": "output_styles",
|
|
451
|
+
"type": "array",
|
|
452
|
+
"itemType": "object",
|
|
453
|
+
"required": false,
|
|
454
|
+
"description": "Inline custom output styles, including for agents without a computer. Omit to keep the saved list; null or [] clears it. Same-name precedence is inline, project files, personal files, then plugins. Selection is settings.outputStyle; styles apply to main conversations and are frozen per session."
|
|
423
455
|
}
|
|
424
456
|
]
|
|
425
457
|
}
|
|
426
458
|
},
|
|
459
|
+
{
|
|
460
|
+
"resource": "agent.agents",
|
|
461
|
+
"method": "retrieveAppearance",
|
|
462
|
+
"summary": "Get agent appearance",
|
|
463
|
+
"description": "Read the saved chat appearance of a service agent.\n\nAgent Kit calls this from the page with a customer access token of this agent; your API key and console members can read it too. A token of another agent returns 404. The body is the same as the embed appearance read; a missing appearance returns the agent's own name and avatar only. Responses are private and cacheable for 60 seconds.",
|
|
464
|
+
"http": "GET",
|
|
465
|
+
"path": "/agent/v1/agents/{agent_id}/appearance",
|
|
466
|
+
"streaming": "no",
|
|
467
|
+
"pagination": false,
|
|
468
|
+
"pathParams": [
|
|
469
|
+
{
|
|
470
|
+
"name": "agent_id",
|
|
471
|
+
"sdkName": "agent_id",
|
|
472
|
+
"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_…."
|
|
473
|
+
}
|
|
474
|
+
],
|
|
475
|
+
"query": []
|
|
476
|
+
},
|
|
427
477
|
{
|
|
428
478
|
"resource": "agent.agents",
|
|
429
479
|
"method": "archive",
|
|
@@ -437,11 +487,64 @@ export const operations = [
|
|
|
437
487
|
{
|
|
438
488
|
"name": "agent_id",
|
|
439
489
|
"sdkName": "agent_id",
|
|
440
|
-
"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."
|
|
490
|
+
"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_…."
|
|
441
491
|
}
|
|
442
492
|
],
|
|
443
493
|
"query": []
|
|
444
494
|
},
|
|
495
|
+
{
|
|
496
|
+
"resource": "agent.agents.customers",
|
|
497
|
+
"method": "list",
|
|
498
|
+
"summary": "List customers",
|
|
499
|
+
"description": "List the customers of a service agent, identified and anonymous, most recently seen first.\n\nCall this from your backend with your API key, or from the console. Customers follow Shopify Admin customers (list, retrieve, block, sign-out and data deletion of the people who use your storefront), so that experience applies. The list includes customers who signed in but have not started a session yet, and customers recorded under your own ids by embed tokens before customer sign-in existed; an id first seen that way is identified unless it starts with anon_. Unlike Shopify, a customer can be anonymous: a visitor admitted with the publishable key gets an anon_ id, and when it later signs in with anonymous_access_token it is merged: merged_into names the identified customer, and its sessions count toward that customer. Filter with q (a case-sensitive customer id prefix), type (identified or anonymous) and blocked (true or false). limit is 1 to 100, default 20; reuse next_page with the same filters and limit. A customer access token gets 404. Example: GET /agent/v1/agents/agent_example/customers?type=identified&blocked=false&limit=50.",
|
|
500
|
+
"http": "GET",
|
|
501
|
+
"path": "/agent/v1/agents/{agent_id}/customers",
|
|
502
|
+
"streaming": "no",
|
|
503
|
+
"pagination": false,
|
|
504
|
+
"pathParams": [
|
|
505
|
+
{
|
|
506
|
+
"name": "agent_id",
|
|
507
|
+
"sdkName": "agent_id",
|
|
508
|
+
"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_…."
|
|
509
|
+
}
|
|
510
|
+
],
|
|
511
|
+
"query": [
|
|
512
|
+
{
|
|
513
|
+
"name": "limit",
|
|
514
|
+
"type": "integer",
|
|
515
|
+
"required": false,
|
|
516
|
+
"description": "Maximum customers per page, 1 to 100; defaults to 20."
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"name": "page",
|
|
520
|
+
"type": "string",
|
|
521
|
+
"required": false,
|
|
522
|
+
"description": "next_page from the previous response with the same q, type, blocked and limit."
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "q",
|
|
526
|
+
"type": "string",
|
|
527
|
+
"required": false,
|
|
528
|
+
"description": "Case-sensitive literal prefix of the customer id; omit for all customers."
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"name": "type",
|
|
532
|
+
"type": "string",
|
|
533
|
+
"enum": [
|
|
534
|
+
"identified",
|
|
535
|
+
"anonymous"
|
|
536
|
+
],
|
|
537
|
+
"required": false,
|
|
538
|
+
"description": "Only identified or only anonymous customers; omit for both."
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"name": "blocked",
|
|
542
|
+
"type": "boolean",
|
|
543
|
+
"required": false,
|
|
544
|
+
"description": "true for blocked customers only, false for customers who are not blocked; omit for both."
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
445
548
|
{
|
|
446
549
|
"resource": "agent.agents.customers.auth.accessTokens",
|
|
447
550
|
"method": "create",
|
|
@@ -455,7 +558,7 @@ export const operations = [
|
|
|
455
558
|
{
|
|
456
559
|
"name": "agent_id",
|
|
457
560
|
"sdkName": "agent_id",
|
|
458
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
561
|
+
"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_…."
|
|
459
562
|
}
|
|
460
563
|
],
|
|
461
564
|
"query": [],
|
|
@@ -477,7 +580,7 @@ export const operations = [
|
|
|
477
580
|
{
|
|
478
581
|
"name": "agent_id",
|
|
479
582
|
"sdkName": "agent_id",
|
|
480
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
583
|
+
"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_…."
|
|
481
584
|
}
|
|
482
585
|
],
|
|
483
586
|
"query": []
|
|
@@ -495,7 +598,7 @@ export const operations = [
|
|
|
495
598
|
{
|
|
496
599
|
"name": "agent_id",
|
|
497
600
|
"sdkName": "agent_id",
|
|
498
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
601
|
+
"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_…."
|
|
499
602
|
}
|
|
500
603
|
],
|
|
501
604
|
"query": []
|
|
@@ -513,7 +616,7 @@ export const operations = [
|
|
|
513
616
|
{
|
|
514
617
|
"name": "agent_id",
|
|
515
618
|
"sdkName": "agent_id",
|
|
516
|
-
"description": "Service agent id (agent_…) or its short identity number, from agent creation or listing."
|
|
619
|
+
"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_…."
|
|
517
620
|
}
|
|
518
621
|
],
|
|
519
622
|
"query": [],
|
|
@@ -591,61 +694,24 @@ export const operations = [
|
|
|
591
694
|
}
|
|
592
695
|
},
|
|
593
696
|
{
|
|
594
|
-
"resource": "agent.agents.
|
|
595
|
-
"method": "list",
|
|
596
|
-
"summary": "List End Users",
|
|
597
|
-
"description": "List users who have sessions or token issuance history on a service agent.\n\nOrdered by last_active_at and external_user_id descending. q is a case-sensitive literal prefix, including underscores. limit is 1–100, default 20. Reuse next_page with the same organization, agent, q and limit. Preemptively blocked users without history do not appear. End-user credentials and inaccessible or personal agents return 404.",
|
|
598
|
-
"http": "GET",
|
|
599
|
-
"path": "/agent/v1/agents/{agent_id}/end_users",
|
|
600
|
-
"streaming": "no",
|
|
601
|
-
"pagination": false,
|
|
602
|
-
"pathParams": [
|
|
603
|
-
{
|
|
604
|
-
"name": "agent_id",
|
|
605
|
-
"sdkName": "agent_id",
|
|
606
|
-
"description": "Active service agent identifier from agent creation or listing."
|
|
607
|
-
}
|
|
608
|
-
],
|
|
609
|
-
"query": [
|
|
610
|
-
{
|
|
611
|
-
"name": "limit",
|
|
612
|
-
"type": "integer",
|
|
613
|
-
"required": false,
|
|
614
|
-
"description": "Maximum users per page; defaults to 20."
|
|
615
|
-
},
|
|
616
|
-
{
|
|
617
|
-
"name": "page",
|
|
618
|
-
"type": "string",
|
|
619
|
-
"required": false,
|
|
620
|
-
"description": "next_page from the previous response with the same agent, q and limit."
|
|
621
|
-
},
|
|
622
|
-
{
|
|
623
|
-
"name": "q",
|
|
624
|
-
"type": "string",
|
|
625
|
-
"required": false,
|
|
626
|
-
"description": "Case-sensitive literal prefix of external_user_id; omit or use an empty string for all users."
|
|
627
|
-
}
|
|
628
|
-
]
|
|
629
|
-
},
|
|
630
|
-
{
|
|
631
|
-
"resource": "agent.agents.endUsers",
|
|
697
|
+
"resource": "agent.agents.customers",
|
|
632
698
|
"method": "delete",
|
|
633
|
-
"summary": "Delete
|
|
634
|
-
"description": "Delete a
|
|
699
|
+
"summary": "Delete customer data",
|
|
700
|
+
"description": "Delete a customer's data from one service agent after explicit confirmation.\n\nDevelop only. Set confirm to the exact customer id; a missing or different confirm returns 400 naming the value to send. Returns 202 with a pending task id; poll the deletion endpoint. Concurrent requests reuse the unfinished task; retry DELETE after failure to resume it. Tokens are revoked and the customer is blocked before a seven-day recovery snapshot is verified; sessions including child sessions, conversation data, grants and feedback are then removed. A block that existed before stays; a temporary block is removed on success. File attachments are retained. Example: DELETE /agent/v1/agents/agent_example/customers/cus_8f2a91?confirm=cus_8f2a91.",
|
|
635
701
|
"http": "DELETE",
|
|
636
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
702
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}",
|
|
637
703
|
"streaming": "no",
|
|
638
704
|
"pagination": false,
|
|
639
705
|
"pathParams": [
|
|
640
706
|
{
|
|
641
707
|
"name": "agent_id",
|
|
642
708
|
"sdkName": "agent_id",
|
|
643
|
-
"description": "Active service agent
|
|
709
|
+
"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_…."
|
|
644
710
|
},
|
|
645
711
|
{
|
|
646
|
-
"name": "
|
|
647
|
-
"sdkName": "
|
|
648
|
-
"description": "
|
|
712
|
+
"name": "customer_id",
|
|
713
|
+
"sdkName": "customer_id",
|
|
714
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
649
715
|
}
|
|
650
716
|
],
|
|
651
717
|
"query": [
|
|
@@ -653,121 +719,121 @@ export const operations = [
|
|
|
653
719
|
"name": "confirm",
|
|
654
720
|
"type": "string",
|
|
655
721
|
"required": true,
|
|
656
|
-
"description": "Must
|
|
722
|
+
"description": "Must equal the customer_id path parameter exactly, confirming the destructive deletion."
|
|
657
723
|
}
|
|
658
724
|
]
|
|
659
725
|
},
|
|
660
726
|
{
|
|
661
|
-
"resource": "agent.agents.
|
|
727
|
+
"resource": "agent.agents.customers",
|
|
662
728
|
"method": "retrieve",
|
|
663
|
-
"summary": "Get
|
|
664
|
-
"description": "
|
|
729
|
+
"summary": "Get customer",
|
|
730
|
+
"description": "Retrieve one customer of a service agent with its twenty most recently updated sessions.\n\nUse the customer id from the list or your own customer_id. An unknown customer returns 404 CUSTOMER_NOT_FOUND, and so does a customer access token. Unlike Shopify, an identified customer's session_count, cost and recent_sessions include the sessions of anonymous customers merged into it; the merged anonymous customer still shows its own sessions and its merged_into.",
|
|
665
731
|
"http": "GET",
|
|
666
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
732
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}",
|
|
667
733
|
"streaming": "no",
|
|
668
734
|
"pagination": false,
|
|
669
735
|
"pathParams": [
|
|
670
736
|
{
|
|
671
737
|
"name": "agent_id",
|
|
672
738
|
"sdkName": "agent_id",
|
|
673
|
-
"description": "Active service agent
|
|
739
|
+
"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_…."
|
|
674
740
|
},
|
|
675
741
|
{
|
|
676
|
-
"name": "
|
|
677
|
-
"sdkName": "
|
|
678
|
-
"description": "
|
|
742
|
+
"name": "customer_id",
|
|
743
|
+
"sdkName": "customer_id",
|
|
744
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
679
745
|
}
|
|
680
746
|
],
|
|
681
747
|
"query": []
|
|
682
748
|
},
|
|
683
749
|
{
|
|
684
|
-
"resource": "agent.agents.
|
|
750
|
+
"resource": "agent.agents.customers.block",
|
|
685
751
|
"method": "create",
|
|
686
|
-
"summary": "Block
|
|
687
|
-
"description": "Block
|
|
752
|
+
"summary": "Block customer",
|
|
753
|
+
"description": "Block a customer and end every sign-in it has on this agent.\n\nBlocks the customer, then ends every live sign-in the way logout does: each access token is revoked and its open event streams close. From then on grant_codes, access_tokens, renew and new sessions for this customer return CUSTOMER_BLOCKED until you unblock it. Idempotent: a repeat keeps the first block time and revokes whatever is still live. If credential revocation fails the request returns 502 and the customer stays blocked; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.",
|
|
688
754
|
"http": "POST",
|
|
689
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
755
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}/block",
|
|
690
756
|
"streaming": "no",
|
|
691
757
|
"pagination": false,
|
|
692
758
|
"pathParams": [
|
|
693
759
|
{
|
|
694
760
|
"name": "agent_id",
|
|
695
761
|
"sdkName": "agent_id",
|
|
696
|
-
"description": "Active service agent
|
|
762
|
+
"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_…."
|
|
697
763
|
},
|
|
698
764
|
{
|
|
699
|
-
"name": "
|
|
700
|
-
"sdkName": "
|
|
701
|
-
"description": "
|
|
765
|
+
"name": "customer_id",
|
|
766
|
+
"sdkName": "customer_id",
|
|
767
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
702
768
|
}
|
|
703
769
|
],
|
|
704
770
|
"query": []
|
|
705
771
|
},
|
|
706
772
|
{
|
|
707
|
-
"resource": "agent.agents.
|
|
773
|
+
"resource": "agent.agents.customers",
|
|
708
774
|
"method": "retrieveDeletion",
|
|
709
|
-
"summary": "Get
|
|
710
|
-
"description": "Poll the latest deletion task
|
|
775
|
+
"summary": "Get customer deletion",
|
|
776
|
+
"description": "Poll the latest deletion task of a customer, including after its data has been removed.\n\nUse the same agent_id and customer id as the confirmed DELETE. Status is pending, snapshotting, deleting, done or failed. Counts are empty until a verified snapshot exists. snapshot_key is an operator recovery reference retained for seven days, not a download URL. A customer access token and a missing task return 404.",
|
|
711
777
|
"http": "GET",
|
|
712
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
778
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}/deletion",
|
|
713
779
|
"streaming": "no",
|
|
714
780
|
"pagination": false,
|
|
715
781
|
"pathParams": [
|
|
716
782
|
{
|
|
717
783
|
"name": "agent_id",
|
|
718
784
|
"sdkName": "agent_id",
|
|
719
|
-
"description": "Active service agent
|
|
785
|
+
"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
786
|
},
|
|
721
787
|
{
|
|
722
|
-
"name": "
|
|
723
|
-
"sdkName": "
|
|
724
|
-
"description": "
|
|
788
|
+
"name": "customer_id",
|
|
789
|
+
"sdkName": "customer_id",
|
|
790
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
725
791
|
}
|
|
726
792
|
],
|
|
727
793
|
"query": []
|
|
728
794
|
},
|
|
729
795
|
{
|
|
730
|
-
"resource": "agent.agents.
|
|
796
|
+
"resource": "agent.agents.customers.revokeTokens",
|
|
731
797
|
"method": "create",
|
|
732
|
-
"summary": "Revoke
|
|
733
|
-
"description": "
|
|
798
|
+
"summary": "Revoke customer tokens",
|
|
799
|
+
"description": "Sign a customer out everywhere without blocking it.\n\nEnds every live sign-in of the customer, revoking each access token and closing its open event streams; the customer can sign in again right away. Returns the number of access tokens this request revoked; a repeat returns 0. Credential revocation failure returns 502; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.",
|
|
734
800
|
"http": "POST",
|
|
735
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
801
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}/revoke_tokens",
|
|
736
802
|
"streaming": "no",
|
|
737
803
|
"pagination": false,
|
|
738
804
|
"pathParams": [
|
|
739
805
|
{
|
|
740
806
|
"name": "agent_id",
|
|
741
807
|
"sdkName": "agent_id",
|
|
742
|
-
"description": "Active service agent
|
|
808
|
+
"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
809
|
},
|
|
744
810
|
{
|
|
745
|
-
"name": "
|
|
746
|
-
"sdkName": "
|
|
747
|
-
"description": "
|
|
811
|
+
"name": "customer_id",
|
|
812
|
+
"sdkName": "customer_id",
|
|
813
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
748
814
|
}
|
|
749
815
|
],
|
|
750
816
|
"query": []
|
|
751
817
|
},
|
|
752
818
|
{
|
|
753
|
-
"resource": "agent.agents.
|
|
819
|
+
"resource": "agent.agents.customers.unblock",
|
|
754
820
|
"method": "create",
|
|
755
|
-
"summary": "Unblock
|
|
756
|
-
"description": "Allow
|
|
821
|
+
"summary": "Unblock customer",
|
|
822
|
+
"description": "Allow a blocked customer to sign in and start sessions again.\n\nIdempotent. Access tokens revoked while the customer was blocked stay revoked; sign the customer in again with a new grant code. An unknown customer returns 404 CUSTOMER_NOT_FOUND.",
|
|
757
823
|
"http": "POST",
|
|
758
|
-
"path": "/agent/v1/agents/{agent_id}/
|
|
824
|
+
"path": "/agent/v1/agents/{agent_id}/customers/{customer_id}/unblock",
|
|
759
825
|
"streaming": "no",
|
|
760
826
|
"pagination": false,
|
|
761
827
|
"pathParams": [
|
|
762
828
|
{
|
|
763
829
|
"name": "agent_id",
|
|
764
830
|
"sdkName": "agent_id",
|
|
765
|
-
"description": "Active service agent
|
|
831
|
+
"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
832
|
},
|
|
767
833
|
{
|
|
768
|
-
"name": "
|
|
769
|
-
"sdkName": "
|
|
770
|
-
"description": "
|
|
834
|
+
"name": "customer_id",
|
|
835
|
+
"sdkName": "customer_id",
|
|
836
|
+
"description": "Customer id from customer listing, or your own customer_id."
|
|
771
837
|
}
|
|
772
838
|
],
|
|
773
839
|
"query": []
|
|
@@ -785,7 +851,7 @@ export const operations = [
|
|
|
785
851
|
{
|
|
786
852
|
"name": "agent_id",
|
|
787
853
|
"sdkName": "agent_id",
|
|
788
|
-
"description": "Agent id from creation or listing."
|
|
854
|
+
"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_…."
|
|
789
855
|
}
|
|
790
856
|
],
|
|
791
857
|
"query": []
|
|
@@ -794,7 +860,7 @@ export const operations = [
|
|
|
794
860
|
"resource": "agent.agents.versions",
|
|
795
861
|
"method": "list",
|
|
796
862
|
"summary": "List agent versions",
|
|
797
|
-
"description": "List the saved versions of one agent, in pages of at most 100 (default 20). Each item is the full agent definition at that version, so you can compare
|
|
863
|
+
"description": "List the saved versions of one agent in ascending version number, oldest first, in pages of at most 100 (default 20). Each item is the full agent definition at that saved version, so you can compare configurations. active is true only for the item new sessions use. active_version on every item is the same agent-level currently effective version; it is not that item's version. Use agents.retrieve with version to read a single saved version; agent_id comes from agents.list or agents.create. Pass next_page as page to continue.",
|
|
798
864
|
"http": "GET",
|
|
799
865
|
"path": "/agent/v1/agents/{agent_id}/versions",
|
|
800
866
|
"streaming": "no",
|
|
@@ -803,7 +869,7 @@ export const operations = [
|
|
|
803
869
|
{
|
|
804
870
|
"name": "agent_id",
|
|
805
871
|
"sdkName": "agent_id",
|
|
806
|
-
"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."
|
|
872
|
+
"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_…."
|
|
807
873
|
}
|
|
808
874
|
],
|
|
809
875
|
"query": [
|
|
@@ -825,7 +891,7 @@ export const operations = [
|
|
|
825
891
|
"resource": "agent.agents.versions",
|
|
826
892
|
"method": "apply",
|
|
827
893
|
"summary": "Apply Agent Version",
|
|
828
|
-
"description": "Apply a version from agents.versions.list
|
|
894
|
+
"description": "Apply a saved version from agents.versions.list for new sessions and newly issued tokens, without creating a version. Existing sessions and tokens retain their version. The response contains the effective configuration with version equal to active_version and latest_version naming the newest saved version. Missing versions return 404; archived agents return 409. For example, POST /agent/v1/agents/{agent_id}/versions/2/apply with no body.",
|
|
829
895
|
"http": "POST",
|
|
830
896
|
"path": "/agent/v1/agents/{agent_id}/versions/{version}/apply",
|
|
831
897
|
"streaming": "no",
|
|
@@ -834,7 +900,7 @@ export const operations = [
|
|
|
834
900
|
{
|
|
835
901
|
"name": "agent_id",
|
|
836
902
|
"sdkName": "agent_id",
|
|
837
|
-
"description": "Agent identifier from agents.create or agents.list."
|
|
903
|
+
"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_…."
|
|
838
904
|
},
|
|
839
905
|
{
|
|
840
906
|
"name": "version",
|
|
@@ -874,7 +940,7 @@ export const operations = [
|
|
|
874
940
|
"resource": "agent.computers",
|
|
875
941
|
"method": "create",
|
|
876
942
|
"summary": "Create Computer",
|
|
877
|
-
"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.",
|
|
943
|
+
"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.",
|
|
878
944
|
"http": "POST",
|
|
879
945
|
"path": "/agent/v1/computers",
|
|
880
946
|
"streaming": "no",
|
|
@@ -1300,7 +1366,7 @@ export const operations = [
|
|
|
1300
1366
|
"resource": "agent.deployments",
|
|
1301
1367
|
"method": "create",
|
|
1302
1368
|
"summary": "Create deployment",
|
|
1303
|
-
"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.",
|
|
1369
|
+
"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.",
|
|
1304
1370
|
"http": "POST",
|
|
1305
1371
|
"path": "/agent/v1/deployments",
|
|
1306
1372
|
"streaming": "no",
|
|
@@ -1377,7 +1443,7 @@ export const operations = [
|
|
|
1377
1443
|
"name": "target",
|
|
1378
1444
|
"type": "object",
|
|
1379
1445
|
"required": false,
|
|
1380
|
-
"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."
|
|
1446
|
+
"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."
|
|
1381
1447
|
}
|
|
1382
1448
|
]
|
|
1383
1449
|
}
|
|
@@ -1487,7 +1553,7 @@ export const operations = [
|
|
|
1487
1553
|
"name": "target",
|
|
1488
1554
|
"type": "object",
|
|
1489
1555
|
"required": false,
|
|
1490
|
-
"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."
|
|
1556
|
+
"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."
|
|
1491
1557
|
}
|
|
1492
1558
|
]
|
|
1493
1559
|
}
|
|
@@ -1565,84 +1631,47 @@ export const operations = [
|
|
|
1565
1631
|
"query": []
|
|
1566
1632
|
},
|
|
1567
1633
|
{
|
|
1568
|
-
"resource": "agent.
|
|
1569
|
-
"method": "retrieveAppearance",
|
|
1570
|
-
"summary": "Read chat appearance",
|
|
1571
|
-
"description": "Load saved appearance for an iframe or Hosted chat page. Supply an end-user embed token as Bearer authorization, or a console-issued publishable key in Praxis-Publishable-Key before anonymous token issuance. The credential selects the agent; identity_number and agent_id query parameters are rejected with 400. Missing appearance returns an empty object. Kit option names retain camelCase. Responses are private and cacheable for 60 seconds. Component hosts configure Kit in their own code instead.",
|
|
1572
|
-
"http": "GET",
|
|
1573
|
-
"path": "/agent/v1/embed/appearance",
|
|
1574
|
-
"streaming": "no",
|
|
1575
|
-
"pagination": false,
|
|
1576
|
-
"pathParams": [],
|
|
1577
|
-
"query": []
|
|
1578
|
-
},
|
|
1579
|
-
{
|
|
1580
|
-
"resource": "agent.embed.exchange",
|
|
1581
|
-
"method": "create",
|
|
1582
|
-
"summary": "Exchange Hosted Code",
|
|
1583
|
-
"description": "Redeem a single-use hosted link credential for an end-user token.\n\nRead code from the c fragment parameter of hosted_url returned by embed token creation with hosted true, then remove the fragment before exchanging. No Authorization header is required; the code authenticates this request. The code expires after 60 seconds and is consumed atomically on exchange, so concurrent attempts have only one winner. Expired, used and unknown codes return the same 404 body. Keep the token in memory and return to the host website for a fresh link when it expires; exchange cannot refresh it. Requests are IP limited per minute using the anonymous entrypoint budget (default 20). Example body is {\"code\":\"<code from hosted_url>\"}.",
|
|
1584
|
-
"http": "POST",
|
|
1585
|
-
"path": "/agent/v1/embed/exchange",
|
|
1586
|
-
"streaming": "no",
|
|
1587
|
-
"pagination": false,
|
|
1588
|
-
"pathParams": [],
|
|
1589
|
-
"query": [],
|
|
1590
|
-
"body": {
|
|
1591
|
-
"required": true,
|
|
1592
|
-
"fields": [
|
|
1593
|
-
{
|
|
1594
|
-
"name": "code",
|
|
1595
|
-
"type": "string",
|
|
1596
|
-
"required": true,
|
|
1597
|
-
"description": "Single-use credential from the c fragment parameter of hosted_url returned by embed token creation. Valid for 60 seconds."
|
|
1598
|
-
}
|
|
1599
|
-
]
|
|
1600
|
-
}
|
|
1601
|
-
},
|
|
1602
|
-
{
|
|
1603
|
-
"resource": "agent.embedTokens",
|
|
1634
|
+
"resource": "agent.environments",
|
|
1604
1635
|
"method": "list",
|
|
1605
|
-
"summary": "List
|
|
1606
|
-
"description": "List
|
|
1636
|
+
"summary": "List environments",
|
|
1637
|
+
"description": "List execution environments: the built-in recipes and the tenant-owned cloud environments that a session can run in. Archived environments are hidden unless include_archived is true. Pages hold at most 100 items (default 20); pass next_page as page to continue. Use the returned id as environment_id when creating a session.",
|
|
1607
1638
|
"http": "GET",
|
|
1608
|
-
"path": "/agent/v1/
|
|
1639
|
+
"path": "/agent/v1/environments",
|
|
1609
1640
|
"streaming": "no",
|
|
1610
1641
|
"pagination": false,
|
|
1611
1642
|
"pathParams": [],
|
|
1612
1643
|
"query": [
|
|
1613
1644
|
{
|
|
1614
|
-
"name": "
|
|
1615
|
-
"type": "
|
|
1616
|
-
"
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
"name": "external_user_id",
|
|
1621
|
-
"type": "string",
|
|
1645
|
+
"name": "include_archived",
|
|
1646
|
+
"type": "boolean",
|
|
1647
|
+
"enum": [
|
|
1648
|
+
false,
|
|
1649
|
+
true
|
|
1650
|
+
],
|
|
1622
1651
|
"required": false,
|
|
1623
|
-
"description": "
|
|
1652
|
+
"description": "Include archived environments in the response"
|
|
1624
1653
|
},
|
|
1625
1654
|
{
|
|
1626
1655
|
"name": "limit",
|
|
1627
|
-
"type": "
|
|
1656
|
+
"type": "number",
|
|
1628
1657
|
"required": false,
|
|
1629
|
-
"description": "
|
|
1658
|
+
"description": "Number of items per page."
|
|
1630
1659
|
},
|
|
1631
1660
|
{
|
|
1632
1661
|
"name": "page",
|
|
1633
1662
|
"type": "string",
|
|
1634
1663
|
"required": false,
|
|
1635
|
-
"description": "next_page
|
|
1664
|
+
"description": "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400."
|
|
1636
1665
|
}
|
|
1637
1666
|
]
|
|
1638
1667
|
},
|
|
1639
1668
|
{
|
|
1640
|
-
"resource": "agent.
|
|
1669
|
+
"resource": "agent.environments",
|
|
1641
1670
|
"method": "create",
|
|
1642
|
-
"summary": "Create
|
|
1643
|
-
"description": "
|
|
1671
|
+
"summary": "Create environment",
|
|
1672
|
+
"description": "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported. config.template must name an available sandbox template, otherwise 400 lists the available ones.",
|
|
1644
1673
|
"http": "POST",
|
|
1645
|
-
"path": "/agent/v1/
|
|
1674
|
+
"path": "/agent/v1/environments",
|
|
1646
1675
|
"streaming": "no",
|
|
1647
1676
|
"pagination": false,
|
|
1648
1677
|
"pathParams": [],
|
|
@@ -1651,221 +1680,60 @@ export const operations = [
|
|
|
1651
1680
|
"required": true,
|
|
1652
1681
|
"fields": [
|
|
1653
1682
|
{
|
|
1654
|
-
"name": "
|
|
1655
|
-
"type": "boolean",
|
|
1656
|
-
"required": false,
|
|
1657
|
-
"description": "Set true to also return a hosted chat URL with a single-use credential valid for 60 seconds. Defaults to false; the agent must have an identity_number."
|
|
1658
|
-
},
|
|
1659
|
-
{
|
|
1660
|
-
"name": "agent",
|
|
1661
|
-
"type": "string",
|
|
1662
|
-
"required": true,
|
|
1663
|
-
"description": "Service agent ID or identity_number from agent retrieval; it must belong to your organization and be active."
|
|
1664
|
-
},
|
|
1665
|
-
{
|
|
1666
|
-
"name": "version",
|
|
1667
|
-
"type": "integer",
|
|
1668
|
-
"required": false,
|
|
1669
|
-
"description": "Existing agent version to pin. Omit to pin the latest version at issuance."
|
|
1670
|
-
},
|
|
1671
|
-
{
|
|
1672
|
-
"name": "external_user_id",
|
|
1683
|
+
"name": "name",
|
|
1673
1684
|
"type": "string",
|
|
1674
1685
|
"required": true,
|
|
1675
|
-
"description": "
|
|
1676
|
-
},
|
|
1677
|
-
{
|
|
1678
|
-
"name": "ttl_seconds",
|
|
1679
|
-
"type": "integer",
|
|
1680
|
-
"required": false,
|
|
1681
|
-
"description": "Token lifetime in seconds. Defaults to the embed policy TTL and cannot exceed its maximum or 3600 seconds."
|
|
1682
|
-
},
|
|
1683
|
-
{
|
|
1684
|
-
"name": "budget_cents",
|
|
1685
|
-
"type": "integer",
|
|
1686
|
-
"required": false,
|
|
1687
|
-
"description": "Session budget in cents. Defaults to the embed policy session budget and cannot exceed its maximum."
|
|
1688
|
-
},
|
|
1689
|
-
{
|
|
1690
|
-
"name": "system_message",
|
|
1691
|
-
"type": "array",
|
|
1692
|
-
"itemType": "object",
|
|
1693
|
-
"required": false,
|
|
1694
|
-
"description": "Optional host context as text blocks, limited to 8192 UTF-8 bytes in total."
|
|
1686
|
+
"description": "Human-readable name for the environment"
|
|
1695
1687
|
},
|
|
1696
1688
|
{
|
|
1697
|
-
"name": "
|
|
1689
|
+
"name": "config",
|
|
1698
1690
|
"type": "object",
|
|
1699
1691
|
"required": false,
|
|
1700
|
-
"description": "
|
|
1692
|
+
"description": "Environment configuration"
|
|
1701
1693
|
},
|
|
1702
1694
|
{
|
|
1703
|
-
"name": "
|
|
1704
|
-
"type": "
|
|
1705
|
-
"itemType": "string",
|
|
1695
|
+
"name": "description",
|
|
1696
|
+
"type": "string",
|
|
1706
1697
|
"required": false,
|
|
1707
|
-
"description": "Optional
|
|
1698
|
+
"description": "Optional description of the environment"
|
|
1708
1699
|
},
|
|
1709
1700
|
{
|
|
1710
1701
|
"name": "metadata",
|
|
1711
1702
|
"type": "object",
|
|
1712
1703
|
"required": false,
|
|
1713
|
-
"description": "
|
|
1714
|
-
}
|
|
1715
|
-
]
|
|
1716
|
-
}
|
|
1717
|
-
},
|
|
1718
|
-
{
|
|
1719
|
-
"resource": "agent.embedTokens.anonymous",
|
|
1720
|
-
"method": "create",
|
|
1721
|
-
"summary": "Issue anonymous visitor token",
|
|
1722
|
-
"description": "Obtain a short-lived embedding token for a visitor without an account using the agent owner's publishable key.\n\nNo Authorization header is required. Send the browser Origin allowed by the agent policy. Save a returned visitor_secret and reuse it for refreshes; only new visitors receive one. Unknown secrets create new visitors, and extra fields including visitor_id return 400. Issuance uses the key creator's organization membership, the key session budget and the smaller of the policy TTL maximum and 3600 seconds. IP requests are limited per minute (default 20); UTC daily session and spending caps are checked across the key's primary sessions created that day. Token issuance itself does not create a session or charge usage; subsequent sessions bill the host organization. Example body: {\"publishable_key\":\"pk_praxis_example\"}.",
|
|
1723
|
-
"http": "POST",
|
|
1724
|
-
"path": "/agent/v1/embed_tokens/anonymous",
|
|
1725
|
-
"streaming": "no",
|
|
1726
|
-
"pagination": false,
|
|
1727
|
-
"pathParams": [],
|
|
1728
|
-
"query": [],
|
|
1729
|
-
"body": {
|
|
1730
|
-
"required": true,
|
|
1731
|
-
"fields": [
|
|
1732
|
-
{
|
|
1733
|
-
"name": "publishable_key",
|
|
1734
|
-
"type": "string",
|
|
1735
|
-
"required": true,
|
|
1736
|
-
"description": "Public key created by the service agent owner; safe to include in browser code."
|
|
1737
|
-
},
|
|
1738
|
-
{
|
|
1739
|
-
"name": "visitor_secret",
|
|
1740
|
-
"type": "string",
|
|
1741
|
-
"required": false,
|
|
1742
|
-
"description": "Secret returned by a previous anonymous issuance for this key. Omit for a new visitor; an unknown secret creates a new visitor."
|
|
1704
|
+
"description": "Free-form string key/value pairs."
|
|
1743
1705
|
}
|
|
1744
1706
|
]
|
|
1745
1707
|
}
|
|
1746
1708
|
},
|
|
1747
1709
|
{
|
|
1748
|
-
"resource": "agent.
|
|
1749
|
-
"method": "
|
|
1750
|
-
"summary": "
|
|
1751
|
-
"description": "
|
|
1752
|
-
"http": "
|
|
1753
|
-
"path": "/agent/v1/
|
|
1710
|
+
"resource": "agent.environments",
|
|
1711
|
+
"method": "retrieve",
|
|
1712
|
+
"summary": "Get environment",
|
|
1713
|
+
"description": "Read one environment's configuration and status by id. Built-in environments are readable but never editable; tenant-owned ones can be updated or archived. environment_id comes from environments.list or environments.create.",
|
|
1714
|
+
"http": "GET",
|
|
1715
|
+
"path": "/agent/v1/environments/{environment_id}",
|
|
1754
1716
|
"streaming": "no",
|
|
1755
1717
|
"pagination": false,
|
|
1756
1718
|
"pathParams": [
|
|
1757
1719
|
{
|
|
1758
|
-
"name": "
|
|
1759
|
-
"sdkName": "
|
|
1760
|
-
"description": "
|
|
1720
|
+
"name": "environment_id",
|
|
1721
|
+
"sdkName": "environment_id",
|
|
1722
|
+
"description": "Environment id, as returned by environments.create or environments.list. Built-in environments can be read but not changed."
|
|
1761
1723
|
}
|
|
1762
1724
|
],
|
|
1763
1725
|
"query": []
|
|
1764
1726
|
},
|
|
1765
1727
|
{
|
|
1766
1728
|
"resource": "agent.environments",
|
|
1767
|
-
"method": "
|
|
1768
|
-
"summary": "
|
|
1769
|
-
"description": "
|
|
1770
|
-
"http": "
|
|
1771
|
-
"path": "/agent/v1/environments",
|
|
1729
|
+
"method": "update",
|
|
1730
|
+
"summary": "Update environment",
|
|
1731
|
+
"description": "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value. A changed config.template must name an available sandbox template, otherwise 400 lists the available ones.",
|
|
1732
|
+
"http": "POST",
|
|
1733
|
+
"path": "/agent/v1/environments/{environment_id}",
|
|
1772
1734
|
"streaming": "no",
|
|
1773
1735
|
"pagination": false,
|
|
1774
|
-
"pathParams": [
|
|
1775
|
-
"query": [
|
|
1776
|
-
{
|
|
1777
|
-
"name": "include_archived",
|
|
1778
|
-
"type": "boolean",
|
|
1779
|
-
"enum": [
|
|
1780
|
-
false,
|
|
1781
|
-
true
|
|
1782
|
-
],
|
|
1783
|
-
"required": false,
|
|
1784
|
-
"description": "Include archived environments in the response"
|
|
1785
|
-
},
|
|
1786
|
-
{
|
|
1787
|
-
"name": "limit",
|
|
1788
|
-
"type": "number",
|
|
1789
|
-
"required": false,
|
|
1790
|
-
"description": "Number of items per page."
|
|
1791
|
-
},
|
|
1792
|
-
{
|
|
1793
|
-
"name": "page",
|
|
1794
|
-
"type": "string",
|
|
1795
|
-
"required": false,
|
|
1796
|
-
"description": "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400."
|
|
1797
|
-
}
|
|
1798
|
-
]
|
|
1799
|
-
},
|
|
1800
|
-
{
|
|
1801
|
-
"resource": "agent.environments",
|
|
1802
|
-
"method": "create",
|
|
1803
|
-
"summary": "Create environment",
|
|
1804
|
-
"description": "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported. config.template must name an available sandbox template, otherwise 400 lists the available ones.",
|
|
1805
|
-
"http": "POST",
|
|
1806
|
-
"path": "/agent/v1/environments",
|
|
1807
|
-
"streaming": "no",
|
|
1808
|
-
"pagination": false,
|
|
1809
|
-
"pathParams": [],
|
|
1810
|
-
"query": [],
|
|
1811
|
-
"body": {
|
|
1812
|
-
"required": true,
|
|
1813
|
-
"fields": [
|
|
1814
|
-
{
|
|
1815
|
-
"name": "name",
|
|
1816
|
-
"type": "string",
|
|
1817
|
-
"required": true,
|
|
1818
|
-
"description": "Human-readable name for the environment"
|
|
1819
|
-
},
|
|
1820
|
-
{
|
|
1821
|
-
"name": "config",
|
|
1822
|
-
"type": "object",
|
|
1823
|
-
"required": false,
|
|
1824
|
-
"description": "Environment configuration"
|
|
1825
|
-
},
|
|
1826
|
-
{
|
|
1827
|
-
"name": "description",
|
|
1828
|
-
"type": "string",
|
|
1829
|
-
"required": false,
|
|
1830
|
-
"description": "Optional description of the environment"
|
|
1831
|
-
},
|
|
1832
|
-
{
|
|
1833
|
-
"name": "metadata",
|
|
1834
|
-
"type": "object",
|
|
1835
|
-
"required": false,
|
|
1836
|
-
"description": "Free-form string key/value pairs."
|
|
1837
|
-
}
|
|
1838
|
-
]
|
|
1839
|
-
}
|
|
1840
|
-
},
|
|
1841
|
-
{
|
|
1842
|
-
"resource": "agent.environments",
|
|
1843
|
-
"method": "retrieve",
|
|
1844
|
-
"summary": "Get environment",
|
|
1845
|
-
"description": "Read one environment's configuration and status by id. Built-in environments are readable but never editable; tenant-owned ones can be updated or archived. environment_id comes from environments.list or environments.create.",
|
|
1846
|
-
"http": "GET",
|
|
1847
|
-
"path": "/agent/v1/environments/{environment_id}",
|
|
1848
|
-
"streaming": "no",
|
|
1849
|
-
"pagination": false,
|
|
1850
|
-
"pathParams": [
|
|
1851
|
-
{
|
|
1852
|
-
"name": "environment_id",
|
|
1853
|
-
"sdkName": "environment_id",
|
|
1854
|
-
"description": "Environment id, as returned by environments.create or environments.list. Built-in environments can be read but not changed."
|
|
1855
|
-
}
|
|
1856
|
-
],
|
|
1857
|
-
"query": []
|
|
1858
|
-
},
|
|
1859
|
-
{
|
|
1860
|
-
"resource": "agent.environments",
|
|
1861
|
-
"method": "update",
|
|
1862
|
-
"summary": "Update environment",
|
|
1863
|
-
"description": "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value. A changed config.template must name an available sandbox template, otherwise 400 lists the available ones.",
|
|
1864
|
-
"http": "POST",
|
|
1865
|
-
"path": "/agent/v1/environments/{environment_id}",
|
|
1866
|
-
"streaming": "no",
|
|
1867
|
-
"pagination": false,
|
|
1868
|
-
"pathParams": [
|
|
1736
|
+
"pathParams": [
|
|
1869
1737
|
{
|
|
1870
1738
|
"name": "environment_id",
|
|
1871
1739
|
"sdkName": "environment_id",
|
|
@@ -2050,7 +1918,7 @@ export const operations = [
|
|
|
2050
1918
|
"resource": "agent.sessions",
|
|
2051
1919
|
"method": "create",
|
|
2052
1920
|
"summary": "Create session",
|
|
2053
|
-
"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
|
|
1921
|
+
"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.",
|
|
2054
1922
|
"http": "POST",
|
|
2055
1923
|
"path": "/agent/v1/sessions",
|
|
2056
1924
|
"streaming": "no",
|
|
@@ -2339,7 +2207,7 @@ export const operations = [
|
|
|
2339
2207
|
"resource": "agent.sessions",
|
|
2340
2208
|
"method": "compact",
|
|
2341
2209
|
"summary": "Compact Session (Extension)",
|
|
2342
|
-
"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.",
|
|
2210
|
+
"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.",
|
|
2343
2211
|
"http": "POST",
|
|
2344
2212
|
"path": "/agent/v1/sessions/{session_id}/compact",
|
|
2345
2213
|
"streaming": "no",
|
|
@@ -2391,7 +2259,7 @@ export const operations = [
|
|
|
2391
2259
|
"resource": "agent.sessions.compactions",
|
|
2392
2260
|
"method": "list",
|
|
2393
2261
|
"summary": "List Session Compactions (Extension)",
|
|
2394
|
-
"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.",
|
|
2262
|
+
"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.",
|
|
2395
2263
|
"http": "GET",
|
|
2396
2264
|
"path": "/agent/v1/sessions/{session_id}/compactions",
|
|
2397
2265
|
"streaming": "no",
|
|
@@ -2603,9 +2471,9 @@ export const operations = [
|
|
|
2603
2471
|
"query": [
|
|
2604
2472
|
{
|
|
2605
2473
|
"name": "limit",
|
|
2606
|
-
"type": "
|
|
2474
|
+
"type": "integer",
|
|
2607
2475
|
"required": false,
|
|
2608
|
-
"description": "Number of
|
|
2476
|
+
"description": "Number of resources per page, from 1 to 100; defaults to 100."
|
|
2609
2477
|
},
|
|
2610
2478
|
{
|
|
2611
2479
|
"name": "page",
|
|
@@ -3653,7 +3521,7 @@ export const operations = [
|
|
|
3653
3521
|
"resource": "application.workers.grants",
|
|
3654
3522
|
"method": "create",
|
|
3655
3523
|
"summary": "Create grant",
|
|
3656
|
-
"description": "
|
|
3524
|
+
"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).",
|
|
3657
3525
|
"http": "POST",
|
|
3658
3526
|
"path": "/application/v1/workers/{worker_id}/grants",
|
|
3659
3527
|
"streaming": "no",
|
|
@@ -3673,7 +3541,13 @@ export const operations = [
|
|
|
3673
3541
|
"name": "resource",
|
|
3674
3542
|
"type": "object",
|
|
3675
3543
|
"required": true,
|
|
3676
|
-
"description": "Resource to grant."
|
|
3544
|
+
"description": "Resource to grant. Each (type, id) may be granted once per Worker; duplicates return GRANT_CONFLICT (409)."
|
|
3545
|
+
},
|
|
3546
|
+
{
|
|
3547
|
+
"name": "alias",
|
|
3548
|
+
"type": "string",
|
|
3549
|
+
"required": false,
|
|
3550
|
+
"description": "Optional name, unique within this Worker. Available for reuse after the grant is deleted."
|
|
3677
3551
|
},
|
|
3678
3552
|
{
|
|
3679
3553
|
"name": "access",
|
|
@@ -3683,7 +3557,7 @@ export const operations = [
|
|
|
3683
3557
|
"read_write"
|
|
3684
3558
|
],
|
|
3685
3559
|
"required": true,
|
|
3686
|
-
"description": "Access level."
|
|
3560
|
+
"description": "Access level; models accepts read only."
|
|
3687
3561
|
}
|
|
3688
3562
|
]
|
|
3689
3563
|
}
|
|
@@ -3965,7 +3839,7 @@ export const operations = [
|
|
|
3965
3839
|
"resource": "automation.actions",
|
|
3966
3840
|
"method": "list",
|
|
3967
3841
|
"summary": "List actions",
|
|
3968
|
-
"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.",
|
|
3842
|
+
"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.",
|
|
3969
3843
|
"http": "GET",
|
|
3970
3844
|
"path": "/automation/v1/actions",
|
|
3971
3845
|
"streaming": "no",
|
|
@@ -4107,7 +3981,7 @@ export const operations = [
|
|
|
4107
3981
|
"name": "timeout_ms",
|
|
4108
3982
|
"type": "number",
|
|
4109
3983
|
"required": false,
|
|
4110
|
-
"description": "Positive integer milliseconds; code defaults to and is capped at
|
|
3984
|
+
"description": "Positive integer milliseconds; code defaults to and is capped at 300,000. container/shell are not yet available."
|
|
4111
3985
|
},
|
|
4112
3986
|
{
|
|
4113
3987
|
"name": "implementation",
|
|
@@ -4134,7 +4008,7 @@ export const operations = [
|
|
|
4134
4008
|
"resource": "automation.actions",
|
|
4135
4009
|
"method": "retrieve",
|
|
4136
4010
|
"summary": "Get an Action with its current input and output JSON Schemas",
|
|
4137
|
-
"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.",
|
|
4011
|
+
"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.",
|
|
4138
4012
|
"http": "GET",
|
|
4139
4013
|
"path": "/automation/v1/actions/{ns}/{name}",
|
|
4140
4014
|
"streaming": "no",
|
|
@@ -4157,7 +4031,7 @@ export const operations = [
|
|
|
4157
4031
|
"resource": "automation.actions",
|
|
4158
4032
|
"method": "update",
|
|
4159
4033
|
"summary": "Update an action",
|
|
4160
|
-
"description": "Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to
|
|
4034
|
+
"description": "Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to 300000, and message to null. Incompatible normal updates return 422 SCHEMA_INCOMPATIBLE with issues; unchanged contents retain the existing revision.",
|
|
4161
4035
|
"http": "PUT",
|
|
4162
4036
|
"path": "/automation/v1/actions/{ns}/{name}",
|
|
4163
4037
|
"streaming": "no",
|
|
@@ -4226,7 +4100,7 @@ export const operations = [
|
|
|
4226
4100
|
"name": "timeout_ms",
|
|
4227
4101
|
"type": "number",
|
|
4228
4102
|
"required": false,
|
|
4229
|
-
"description": "Positive integer milliseconds; code defaults to and is capped at
|
|
4103
|
+
"description": "Positive integer milliseconds; code defaults to and is capped at 300,000. container/shell are not yet available."
|
|
4230
4104
|
},
|
|
4231
4105
|
{
|
|
4232
4106
|
"name": "implementation",
|
|
@@ -4550,6 +4424,177 @@ export const operations = [
|
|
|
4550
4424
|
"fields": []
|
|
4551
4425
|
}
|
|
4552
4426
|
},
|
|
4427
|
+
{
|
|
4428
|
+
"resource": "automation.humanTasks",
|
|
4429
|
+
"method": "list",
|
|
4430
|
+
"summary": "List human tasks",
|
|
4431
|
+
"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.",
|
|
4432
|
+
"http": "GET",
|
|
4433
|
+
"path": "/automation/v1/human-tasks",
|
|
4434
|
+
"streaming": "no",
|
|
4435
|
+
"pagination": true,
|
|
4436
|
+
"pathParams": [],
|
|
4437
|
+
"query": [
|
|
4438
|
+
{
|
|
4439
|
+
"name": "limit",
|
|
4440
|
+
"type": "integer",
|
|
4441
|
+
"required": false,
|
|
4442
|
+
"description": "Page size, 1–100, default 50."
|
|
4443
|
+
},
|
|
4444
|
+
{
|
|
4445
|
+
"name": "cursor",
|
|
4446
|
+
"type": "string",
|
|
4447
|
+
"required": false,
|
|
4448
|
+
"description": "The next_cursor of the previous page; omit for the first page."
|
|
4449
|
+
},
|
|
4450
|
+
{
|
|
4451
|
+
"name": "status",
|
|
4452
|
+
"type": "array",
|
|
4453
|
+
"itemType": "string",
|
|
4454
|
+
"enum": [
|
|
4455
|
+
"open",
|
|
4456
|
+
"completed",
|
|
4457
|
+
"expired",
|
|
4458
|
+
"cancelled"
|
|
4459
|
+
],
|
|
4460
|
+
"required": false,
|
|
4461
|
+
"description": "Filter by status, comma-separated: open, completed, expired, cancelled. Defaults to open."
|
|
4462
|
+
},
|
|
4463
|
+
{
|
|
4464
|
+
"name": "run_id",
|
|
4465
|
+
"type": "string",
|
|
4466
|
+
"required": false,
|
|
4467
|
+
"description": "Only tasks opened by this run (run_)."
|
|
4468
|
+
},
|
|
4469
|
+
{
|
|
4470
|
+
"name": "scope",
|
|
4471
|
+
"type": "string",
|
|
4472
|
+
"enum": [
|
|
4473
|
+
"assigned",
|
|
4474
|
+
"all"
|
|
4475
|
+
],
|
|
4476
|
+
"required": false,
|
|
4477
|
+
"description": "assigned (default) lists only tasks assigned to the caller; all lists every task of the organization."
|
|
4478
|
+
}
|
|
4479
|
+
]
|
|
4480
|
+
},
|
|
4481
|
+
{
|
|
4482
|
+
"resource": "automation.humanTasks",
|
|
4483
|
+
"method": "retrieve",
|
|
4484
|
+
"summary": "Retrieve a human task",
|
|
4485
|
+
"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.",
|
|
4486
|
+
"http": "GET",
|
|
4487
|
+
"path": "/automation/v1/human-tasks/{id}",
|
|
4488
|
+
"streaming": "no",
|
|
4489
|
+
"pagination": false,
|
|
4490
|
+
"pathParams": [
|
|
4491
|
+
{
|
|
4492
|
+
"name": "id",
|
|
4493
|
+
"sdkName": "id",
|
|
4494
|
+
"description": "Human task ID (htask_), from the list or the run's waits."
|
|
4495
|
+
}
|
|
4496
|
+
],
|
|
4497
|
+
"query": []
|
|
4498
|
+
},
|
|
4499
|
+
{
|
|
4500
|
+
"resource": "automation.humanTasks",
|
|
4501
|
+
"method": "cancel",
|
|
4502
|
+
"summary": "Cancel a human task",
|
|
4503
|
+
"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.",
|
|
4504
|
+
"http": "POST",
|
|
4505
|
+
"path": "/automation/v1/human-tasks/{id}/cancel",
|
|
4506
|
+
"streaming": "no",
|
|
4507
|
+
"pagination": false,
|
|
4508
|
+
"pathParams": [
|
|
4509
|
+
{
|
|
4510
|
+
"name": "id",
|
|
4511
|
+
"sdkName": "id",
|
|
4512
|
+
"description": "Human task ID (htask_)."
|
|
4513
|
+
}
|
|
4514
|
+
],
|
|
4515
|
+
"query": [],
|
|
4516
|
+
"body": {
|
|
4517
|
+
"required": false,
|
|
4518
|
+
"fields": [
|
|
4519
|
+
{
|
|
4520
|
+
"name": "reason",
|
|
4521
|
+
"type": "string",
|
|
4522
|
+
"required": false,
|
|
4523
|
+
"description": "Optional cancellation reason, at most 500 characters."
|
|
4524
|
+
}
|
|
4525
|
+
]
|
|
4526
|
+
}
|
|
4527
|
+
},
|
|
4528
|
+
{
|
|
4529
|
+
"resource": "automation.humanTasks",
|
|
4530
|
+
"method": "delegate",
|
|
4531
|
+
"summary": "Delegate a human task",
|
|
4532
|
+
"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.",
|
|
4533
|
+
"http": "POST",
|
|
4534
|
+
"path": "/automation/v1/human-tasks/{id}/delegate",
|
|
4535
|
+
"streaming": "no",
|
|
4536
|
+
"pagination": false,
|
|
4537
|
+
"pathParams": [
|
|
4538
|
+
{
|
|
4539
|
+
"name": "id",
|
|
4540
|
+
"sdkName": "id",
|
|
4541
|
+
"description": "Human task ID (htask_)."
|
|
4542
|
+
}
|
|
4543
|
+
],
|
|
4544
|
+
"query": [],
|
|
4545
|
+
"body": {
|
|
4546
|
+
"required": true,
|
|
4547
|
+
"fields": [
|
|
4548
|
+
{
|
|
4549
|
+
"name": "to_user",
|
|
4550
|
+
"type": "string",
|
|
4551
|
+
"required": true,
|
|
4552
|
+
"description": "User ID taking over; cannot already be an assignee, nor the initiator unless self-approval is allowed."
|
|
4553
|
+
}
|
|
4554
|
+
]
|
|
4555
|
+
}
|
|
4556
|
+
},
|
|
4557
|
+
{
|
|
4558
|
+
"resource": "automation.humanTasks",
|
|
4559
|
+
"method": "respond",
|
|
4560
|
+
"summary": "Respond to a human task",
|
|
4561
|
+
"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.",
|
|
4562
|
+
"http": "POST",
|
|
4563
|
+
"path": "/automation/v1/human-tasks/{id}/respond",
|
|
4564
|
+
"streaming": "no",
|
|
4565
|
+
"pagination": false,
|
|
4566
|
+
"pathParams": [
|
|
4567
|
+
{
|
|
4568
|
+
"name": "id",
|
|
4569
|
+
"sdkName": "id",
|
|
4570
|
+
"description": "Human task ID (htask_)."
|
|
4571
|
+
}
|
|
4572
|
+
],
|
|
4573
|
+
"query": [],
|
|
4574
|
+
"body": {
|
|
4575
|
+
"required": true,
|
|
4576
|
+
"fields": [
|
|
4577
|
+
{
|
|
4578
|
+
"name": "action_id",
|
|
4579
|
+
"type": "string",
|
|
4580
|
+
"required": true,
|
|
4581
|
+
"description": "The chosen action ID from the task's actions, for example approve."
|
|
4582
|
+
},
|
|
4583
|
+
{
|
|
4584
|
+
"name": "values",
|
|
4585
|
+
"type": "object",
|
|
4586
|
+
"required": false,
|
|
4587
|
+
"description": "Any JSON object whose keys are strings and whose values are any JSON value."
|
|
4588
|
+
},
|
|
4589
|
+
{
|
|
4590
|
+
"name": "comment",
|
|
4591
|
+
"type": "string",
|
|
4592
|
+
"required": false,
|
|
4593
|
+
"description": "Comment of at most 4000 characters; required when the action has require_comment true."
|
|
4594
|
+
}
|
|
4595
|
+
]
|
|
4596
|
+
}
|
|
4597
|
+
},
|
|
4553
4598
|
{
|
|
4554
4599
|
"resource": "automation.resolve",
|
|
4555
4600
|
"method": "retrieve",
|
|
@@ -4730,7 +4775,7 @@ export const operations = [
|
|
|
4730
4775
|
"resource": "automation.runs",
|
|
4731
4776
|
"method": "create",
|
|
4732
4777
|
"summary": "Run a published target or execute draft source",
|
|
4733
|
-
"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
|
|
4778
|
+
"description": "Execute a published script or workflow with target, or test unpublished code directly with source and language (ts for TypeScript, yaml for workflow YAML), without first saving or publishing a definition. Minimal script: `export default async ({ file_id }: { file_id: string }) => { const result = await call(\"ocr\", { document: { type: \"file\", file_id } }); return result; }`; send it as source with language=\"ts\", input={\"file_id\":\"<uploaded file ID>\"} and wait=0, using a PDF or image already uploaded to your account. To call a platform API directly in the same script, use the praxis SDK object, for example `praxis.model.ocr.create({ body: { model: \"glm-ocr\", document: { type: \"file\", file_id } } })`; Action IDs are strings passed to call(), not SDK methods such as praxis.ocr(...). praxis, call, invoke, console and codemode are module-scope bindings, not on globalThis, and need no import; invoke(\"namespace/name\", input) starts a child run. target and source are mutually exclusive; target accepts ns/name@version, @tag or @range and defaults to latest when @ is omitted. Source/input validation precedes run creation, so a separate validate call is optional. input defaults to {} and must match the input schema and fit within 1 MiB. wait is 0–60 seconds (default 0): a terminal run returns 200, otherwise 202. Use the returned id with praxis.automation.runs.retrieve and inspect status, output and error; acceptance does not mean successful completion. For long-running, background or batch work, use wait: 0 and poll the run, or split work into child runs or a workflow; wait only controls the response wait and does not extend execution limits. Actions time out after 5 min (run-sandbox after 6 h); scripts have a 30 min wall-clock limit and a 30 s CPU limit; workflows default to 24 h and allow up to 30 days. Each run can start at most 1,000 child runs, with at most 100 active at once; nesting depth is limited to 10. Idempotency-Key is scoped to tenant, method and path for 24 hours, excluding wait from the fingerprint; replay returns the current run with Idempotent-Replayed: true, changed contents return 422 and an in-flight request returns 409. With language=yaml, source is a workflow YAML: the run input is . in the first step, and the shape is described in create workflow. Error details are in errors[] (pointer, detail, hint). New non-deterministic run IDs contain 78 characters, compared with 46 for legacy random IDs; treat IDs as opaque strings. Historical and deterministic IDs remain valid; same-millisecond order is not guaranteed.",
|
|
4734
4779
|
"http": "POST",
|
|
4735
4780
|
"path": "/automation/v1/runs",
|
|
4736
4781
|
"streaming": "no",
|
|
@@ -5222,7 +5267,7 @@ export const operations = [
|
|
|
5222
5267
|
"resource": "automation.scripts",
|
|
5223
5268
|
"method": "create",
|
|
5224
5269
|
"summary": "Create a script",
|
|
5225
|
-
"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.",
|
|
5270
|
+
"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.",
|
|
5226
5271
|
"http": "POST",
|
|
5227
5272
|
"path": "/automation/v1/scripts",
|
|
5228
5273
|
"streaming": "no",
|
|
@@ -5479,39 +5524,129 @@ export const operations = [
|
|
|
5479
5524
|
}
|
|
5480
5525
|
},
|
|
5481
5526
|
{
|
|
5482
|
-
"resource": "automation.scripts.
|
|
5527
|
+
"resource": "automation.scripts.vaults",
|
|
5483
5528
|
"method": "list",
|
|
5484
|
-
"summary": "List script
|
|
5485
|
-
"description": "
|
|
5529
|
+
"summary": "List script vault bindings",
|
|
5530
|
+
"description": "Inspect the whole vaults attached to a saved script, including archived definitions, without reading secret values. Obtain ns and name from automation.scripts.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.",
|
|
5486
5531
|
"http": "GET",
|
|
5487
|
-
"path": "/automation/v1/scripts/{ns}/{name}/
|
|
5532
|
+
"path": "/automation/v1/scripts/{ns}/{name}/vaults",
|
|
5488
5533
|
"streaming": "no",
|
|
5489
|
-
"pagination":
|
|
5534
|
+
"pagination": false,
|
|
5490
5535
|
"pathParams": [
|
|
5491
5536
|
{
|
|
5492
5537
|
"name": "ns",
|
|
5493
5538
|
"sdkName": "ns",
|
|
5494
|
-
"description": "Namespace
|
|
5539
|
+
"description": "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions."
|
|
5495
5540
|
},
|
|
5496
5541
|
{
|
|
5497
5542
|
"name": "name",
|
|
5498
5543
|
"sdkName": "name",
|
|
5499
|
-
"description": "
|
|
5544
|
+
"description": "Resource name from automation.scripts.list or create; combine with ns to identify the saved script."
|
|
5500
5545
|
}
|
|
5501
5546
|
],
|
|
5502
|
-
"query": [
|
|
5547
|
+
"query": []
|
|
5548
|
+
},
|
|
5549
|
+
{
|
|
5550
|
+
"resource": "automation.scripts.vaults",
|
|
5551
|
+
"method": "delete",
|
|
5552
|
+
"summary": "Delete a script vault binding",
|
|
5553
|
+
"description": "Remove the vault assignment from this saved script without deleting the vault or its secrets. Obtain aliases from automation.scripts.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.",
|
|
5554
|
+
"http": "DELETE",
|
|
5555
|
+
"path": "/automation/v1/scripts/{ns}/{name}/vaults/{alias}",
|
|
5556
|
+
"streaming": "no",
|
|
5557
|
+
"pagination": false,
|
|
5558
|
+
"pathParams": [
|
|
5503
5559
|
{
|
|
5504
|
-
"name": "
|
|
5505
|
-
"
|
|
5506
|
-
"
|
|
5507
|
-
"description": "Page size: integer 1–100, default 25."
|
|
5560
|
+
"name": "ns",
|
|
5561
|
+
"sdkName": "ns",
|
|
5562
|
+
"description": "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions."
|
|
5508
5563
|
},
|
|
5509
5564
|
{
|
|
5510
|
-
"name": "
|
|
5511
|
-
"
|
|
5512
|
-
"
|
|
5513
|
-
|
|
5514
|
-
|
|
5565
|
+
"name": "name",
|
|
5566
|
+
"sdkName": "name",
|
|
5567
|
+
"description": "Resource name from automation.scripts.list or create; combine with ns to identify the saved script."
|
|
5568
|
+
},
|
|
5569
|
+
{
|
|
5570
|
+
"name": "alias",
|
|
5571
|
+
"sdkName": "alias",
|
|
5572
|
+
"description": "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter."
|
|
5573
|
+
}
|
|
5574
|
+
],
|
|
5575
|
+
"query": []
|
|
5576
|
+
},
|
|
5577
|
+
{
|
|
5578
|
+
"resource": "automation.scripts.vaults",
|
|
5579
|
+
"method": "set",
|
|
5580
|
+
"summary": "Set a script vault binding",
|
|
5581
|
+
"description": "Attach an entire active vault in your organization to a saved script, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {\"vault\":\"Production\"}.",
|
|
5582
|
+
"http": "PUT",
|
|
5583
|
+
"path": "/automation/v1/scripts/{ns}/{name}/vaults/{alias}",
|
|
5584
|
+
"streaming": "no",
|
|
5585
|
+
"pagination": false,
|
|
5586
|
+
"pathParams": [
|
|
5587
|
+
{
|
|
5588
|
+
"name": "ns",
|
|
5589
|
+
"sdkName": "ns",
|
|
5590
|
+
"description": "Namespace from automation.scripts.list or create; identifies the saved script, independently of versions."
|
|
5591
|
+
},
|
|
5592
|
+
{
|
|
5593
|
+
"name": "name",
|
|
5594
|
+
"sdkName": "name",
|
|
5595
|
+
"description": "Resource name from automation.scripts.list or create; combine with ns to identify the saved script."
|
|
5596
|
+
},
|
|
5597
|
+
{
|
|
5598
|
+
"name": "alias",
|
|
5599
|
+
"sdkName": "alias",
|
|
5600
|
+
"description": "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter."
|
|
5601
|
+
}
|
|
5602
|
+
],
|
|
5603
|
+
"query": [],
|
|
5604
|
+
"body": {
|
|
5605
|
+
"required": true,
|
|
5606
|
+
"fields": [
|
|
5607
|
+
{
|
|
5608
|
+
"name": "vault",
|
|
5609
|
+
"type": "string",
|
|
5610
|
+
"required": true,
|
|
5611
|
+
"description": "Active vault ID or exact display name from praxis.vault.vaults.list in your organization. Use an ID if display names are duplicated."
|
|
5612
|
+
}
|
|
5613
|
+
]
|
|
5614
|
+
}
|
|
5615
|
+
},
|
|
5616
|
+
{
|
|
5617
|
+
"resource": "automation.scripts.versions",
|
|
5618
|
+
"method": "list",
|
|
5619
|
+
"summary": "List script versions",
|
|
5620
|
+
"description": "Page through immutable schemas and locked dependencies in descending semantic-version order. Lists omit source by default; only expand=source includes full source, and other values return 400. Detail endpoints retain full source.",
|
|
5621
|
+
"http": "GET",
|
|
5622
|
+
"path": "/automation/v1/scripts/{ns}/{name}/versions",
|
|
5623
|
+
"streaming": "no",
|
|
5624
|
+
"pagination": true,
|
|
5625
|
+
"pathParams": [
|
|
5626
|
+
{
|
|
5627
|
+
"name": "ns",
|
|
5628
|
+
"sdkName": "ns",
|
|
5629
|
+
"description": "Namespace, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63} for existing references, including historical dotted names; new names must match [a-z0-9][a-z0-9_-]{0,63}. praxis is reserved for built-in Actions."
|
|
5630
|
+
},
|
|
5631
|
+
{
|
|
5632
|
+
"name": "name",
|
|
5633
|
+
"sdkName": "name",
|
|
5634
|
+
"description": "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63} for existing references, including historical dotted names; new names must match [a-z0-9][a-z0-9_-]{0,63}."
|
|
5635
|
+
}
|
|
5636
|
+
],
|
|
5637
|
+
"query": [
|
|
5638
|
+
{
|
|
5639
|
+
"name": "limit",
|
|
5640
|
+
"type": "integer",
|
|
5641
|
+
"required": false,
|
|
5642
|
+
"description": "Page size: integer 1–100, default 25."
|
|
5643
|
+
},
|
|
5644
|
+
{
|
|
5645
|
+
"name": "cursor",
|
|
5646
|
+
"type": "string",
|
|
5647
|
+
"required": false,
|
|
5648
|
+
"description": "Opaque next_cursor from the previous page; keep the original filters when paging."
|
|
5649
|
+
},
|
|
5515
5650
|
{
|
|
5516
5651
|
"name": "expand",
|
|
5517
5652
|
"type": "string",
|
|
@@ -6171,7 +6306,7 @@ export const operations = [
|
|
|
6171
6306
|
"resource": "automation.validate",
|
|
6172
6307
|
"method": "create",
|
|
6173
6308
|
"summary": "Validate a definition",
|
|
6174
|
-
"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.",
|
|
6309
|
+
"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.",
|
|
6175
6310
|
"http": "POST",
|
|
6176
6311
|
"path": "/automation/v1/validate",
|
|
6177
6312
|
"streaming": "no",
|
|
@@ -6278,7 +6413,7 @@ export const operations = [
|
|
|
6278
6413
|
"resource": "automation.workflows",
|
|
6279
6414
|
"method": "create",
|
|
6280
6415
|
"summary": "Create a workflow",
|
|
6281
|
-
"description": "Save a YAML workflow as an editable draft
|
|
6416
|
+
"description": "Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax. Save a YAML workflow as an editable draft; this does not validate, publish or run it, so check it with validate (kind=workflow) first. Minimal draft: document with dsl (\"1.0.3\"), namespace, name and version, plus a do list of steps, for example document: {dsl: \"1.0.3\", namespace: demo, name: add, version: \"1.0.0\"} and do: [{first: {call: demo/add-one, with: {n: \"${ .n }\"}}}]. call: <ns/name> calls an Action directly (bare name for built-ins such as ocr) and with is the Action input; the input contract is at current_revision.input_schema in the get-action response. run: starts a saved script or child workflow. The run input is . in the first step, and expressions are jq written as a whole ${ ... } string. Limits: Action 5 min (run-sandbox 6 h), workflow 24 h by default and 30 days at most, payload 1 MiB. Test the draft by sending its source and language=yaml to praxis.automation.runs.create. To pause for a person, call praxis/approval (it opens a human task; the step output is the decision); agents answer with praxis.automation.humanTasks.respond on behalf of their user. Guide: /docs/developers/automation/guides/approvals Guide: /docs/developers/automation/guides/write-workflow. Error details are in the errors[] of the response (pointer, detail, hint). Choose your own namespace without registering it first; praxis is reserved for built-in Actions. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. run.workflow accepts ns/name@range or {namespace, name, version, input}; run.script uses the same reference shape as a platform extension. Object namespace, name and version are required; version accepts an exact version, dist-tag or range, locked at publication. Object input defaults to {} and supports expressions; string references retain task-level with. run.await defaults to true and returns the child output. With false, the child uses detach and the task immediately returns {run_id}; parent cancellation does not cascade. Inline script.code returns DEFINITION_INVALID with a detail asking you to save a script and reference it first. raise.error retains its type URI, status, title and detail in the run error.",
|
|
6282
6417
|
"http": "POST",
|
|
6283
6418
|
"path": "/automation/v1/workflows",
|
|
6284
6419
|
"streaming": "no",
|
|
@@ -6348,7 +6483,7 @@ export const operations = [
|
|
|
6348
6483
|
"resource": "automation.workflows",
|
|
6349
6484
|
"method": "update",
|
|
6350
6485
|
"summary": "Update a workflow draft",
|
|
6351
|
-
"description": "Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.",
|
|
6486
|
+
"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.",
|
|
6352
6487
|
"http": "PATCH",
|
|
6353
6488
|
"path": "/automation/v1/workflows/{ns}/{name}",
|
|
6354
6489
|
"streaming": "no",
|
|
@@ -6534,6 +6669,96 @@ export const operations = [
|
|
|
6534
6669
|
"fields": []
|
|
6535
6670
|
}
|
|
6536
6671
|
},
|
|
6672
|
+
{
|
|
6673
|
+
"resource": "automation.workflows.vaults",
|
|
6674
|
+
"method": "list",
|
|
6675
|
+
"summary": "List workflow vault bindings",
|
|
6676
|
+
"description": "Inspect the whole vaults attached to a saved workflow, including archived definitions, without reading secret values. Obtain ns and name from automation.workflows.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.",
|
|
6677
|
+
"http": "GET",
|
|
6678
|
+
"path": "/automation/v1/workflows/{ns}/{name}/vaults",
|
|
6679
|
+
"streaming": "no",
|
|
6680
|
+
"pagination": false,
|
|
6681
|
+
"pathParams": [
|
|
6682
|
+
{
|
|
6683
|
+
"name": "ns",
|
|
6684
|
+
"sdkName": "ns",
|
|
6685
|
+
"description": "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions."
|
|
6686
|
+
},
|
|
6687
|
+
{
|
|
6688
|
+
"name": "name",
|
|
6689
|
+
"sdkName": "name",
|
|
6690
|
+
"description": "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow."
|
|
6691
|
+
}
|
|
6692
|
+
],
|
|
6693
|
+
"query": []
|
|
6694
|
+
},
|
|
6695
|
+
{
|
|
6696
|
+
"resource": "automation.workflows.vaults",
|
|
6697
|
+
"method": "delete",
|
|
6698
|
+
"summary": "Delete a workflow vault binding",
|
|
6699
|
+
"description": "Remove the vault assignment from this saved workflow without deleting the vault or its secrets. Obtain aliases from automation.workflows.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.",
|
|
6700
|
+
"http": "DELETE",
|
|
6701
|
+
"path": "/automation/v1/workflows/{ns}/{name}/vaults/{alias}",
|
|
6702
|
+
"streaming": "no",
|
|
6703
|
+
"pagination": false,
|
|
6704
|
+
"pathParams": [
|
|
6705
|
+
{
|
|
6706
|
+
"name": "ns",
|
|
6707
|
+
"sdkName": "ns",
|
|
6708
|
+
"description": "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions."
|
|
6709
|
+
},
|
|
6710
|
+
{
|
|
6711
|
+
"name": "name",
|
|
6712
|
+
"sdkName": "name",
|
|
6713
|
+
"description": "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow."
|
|
6714
|
+
},
|
|
6715
|
+
{
|
|
6716
|
+
"name": "alias",
|
|
6717
|
+
"sdkName": "alias",
|
|
6718
|
+
"description": "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter."
|
|
6719
|
+
}
|
|
6720
|
+
],
|
|
6721
|
+
"query": []
|
|
6722
|
+
},
|
|
6723
|
+
{
|
|
6724
|
+
"resource": "automation.workflows.vaults",
|
|
6725
|
+
"method": "set",
|
|
6726
|
+
"summary": "Set a workflow vault binding",
|
|
6727
|
+
"description": "Attach an entire active vault in your organization to a saved workflow, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {\"vault\":\"Production\"}.",
|
|
6728
|
+
"http": "PUT",
|
|
6729
|
+
"path": "/automation/v1/workflows/{ns}/{name}/vaults/{alias}",
|
|
6730
|
+
"streaming": "no",
|
|
6731
|
+
"pagination": false,
|
|
6732
|
+
"pathParams": [
|
|
6733
|
+
{
|
|
6734
|
+
"name": "ns",
|
|
6735
|
+
"sdkName": "ns",
|
|
6736
|
+
"description": "Namespace from automation.workflows.list or create; identifies the saved workflow, independently of versions."
|
|
6737
|
+
},
|
|
6738
|
+
{
|
|
6739
|
+
"name": "name",
|
|
6740
|
+
"sdkName": "name",
|
|
6741
|
+
"description": "Resource name from automation.workflows.list or create; combine with ns to identify the saved workflow."
|
|
6742
|
+
},
|
|
6743
|
+
{
|
|
6744
|
+
"name": "alias",
|
|
6745
|
+
"sdkName": "alias",
|
|
6746
|
+
"description": "Binding alias chosen by the caller: 1–40 lowercase letters, digits or hyphens, beginning with a letter."
|
|
6747
|
+
}
|
|
6748
|
+
],
|
|
6749
|
+
"query": [],
|
|
6750
|
+
"body": {
|
|
6751
|
+
"required": true,
|
|
6752
|
+
"fields": [
|
|
6753
|
+
{
|
|
6754
|
+
"name": "vault",
|
|
6755
|
+
"type": "string",
|
|
6756
|
+
"required": true,
|
|
6757
|
+
"description": "Active vault ID or exact display name from praxis.vault.vaults.list in your organization. Use an ID if display names are duplicated."
|
|
6758
|
+
}
|
|
6759
|
+
]
|
|
6760
|
+
}
|
|
6761
|
+
},
|
|
6537
6762
|
{
|
|
6538
6763
|
"resource": "automation.workflows.versions",
|
|
6539
6764
|
"method": "list",
|
|
@@ -6586,7 +6811,7 @@ export const operations = [
|
|
|
6586
6811
|
"publish"
|
|
6587
6812
|
],
|
|
6588
6813
|
"summary": "Publish a workflow version",
|
|
6589
|
-
"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.",
|
|
6814
|
+
"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).",
|
|
6590
6815
|
"http": "POST",
|
|
6591
6816
|
"path": "/automation/v1/workflows/{ns}/{name}/versions",
|
|
6592
6817
|
"streaming": "no",
|
|
@@ -7215,51 +7440,1172 @@ export const operations = [
|
|
|
7215
7440
|
"query": []
|
|
7216
7441
|
},
|
|
7217
7442
|
{
|
|
7218
|
-
"resource": "browser.sessions",
|
|
7219
|
-
"method": "stream",
|
|
7220
|
-
"summary": "订阅会话动态",
|
|
7221
|
-
"description": "SSE:event 为 snapshot、session、pages、action、event 或 end,data 为对应 JSON。先发送 snapshot 快照,再推送实时变化和 ping 注释;end 后关闭。不支持按 Last-Event-ID 历史重放。",
|
|
7222
|
-
"http": "GET",
|
|
7223
|
-
"path": "/browser/v1/sessions/{sessionId}/stream",
|
|
7224
|
-
"streaming": "always",
|
|
7443
|
+
"resource": "browser.sessions",
|
|
7444
|
+
"method": "stream",
|
|
7445
|
+
"summary": "订阅会话动态",
|
|
7446
|
+
"description": "SSE:event 为 snapshot、session、pages、action、event 或 end,data 为对应 JSON。先发送 snapshot 快照,再推送实时变化和 ping 注释;end 后关闭。不支持按 Last-Event-ID 历史重放。",
|
|
7447
|
+
"http": "GET",
|
|
7448
|
+
"path": "/browser/v1/sessions/{sessionId}/stream",
|
|
7449
|
+
"streaming": "always",
|
|
7450
|
+
"pagination": false,
|
|
7451
|
+
"pathParams": [
|
|
7452
|
+
{
|
|
7453
|
+
"name": "sessionId",
|
|
7454
|
+
"sdkName": "sessionId",
|
|
7455
|
+
"description": "浏览器会话 ID;使用创建或列出会话返回的 id,以 bss_ 开头。"
|
|
7456
|
+
}
|
|
7457
|
+
],
|
|
7458
|
+
"query": []
|
|
7459
|
+
},
|
|
7460
|
+
{
|
|
7461
|
+
"resource": "browser.sessions.viewer",
|
|
7462
|
+
"method": "create",
|
|
7463
|
+
"summary": "更新查看者心跳",
|
|
7464
|
+
"description": "登记运行中会话的观看者仍在线,以免无人连接时因空闲被释放。观看页面可见期间为同一观看者重复发送相同 viewerId;停止观看后停止发送,过期心跳不再计为在线。",
|
|
7465
|
+
"http": "POST",
|
|
7466
|
+
"path": "/browser/v1/sessions/{sessionId}/viewer",
|
|
7467
|
+
"streaming": "no",
|
|
7468
|
+
"pagination": false,
|
|
7469
|
+
"pathParams": [
|
|
7470
|
+
{
|
|
7471
|
+
"name": "sessionId",
|
|
7472
|
+
"sdkName": "sessionId",
|
|
7473
|
+
"description": "浏览器会话 ID;使用创建或列出会话返回的 id,以 bss_ 开头。"
|
|
7474
|
+
}
|
|
7475
|
+
],
|
|
7476
|
+
"query": [],
|
|
7477
|
+
"body": {
|
|
7478
|
+
"required": true,
|
|
7479
|
+
"fields": [
|
|
7480
|
+
{
|
|
7481
|
+
"name": "viewerId",
|
|
7482
|
+
"type": "string",
|
|
7483
|
+
"required": true,
|
|
7484
|
+
"description": "当前观看者的稳定标识;同一观看者重复心跳应使用相同值,长度为 1–128 个 UTF-16 代码单元。"
|
|
7485
|
+
}
|
|
7486
|
+
]
|
|
7487
|
+
}
|
|
7488
|
+
},
|
|
7489
|
+
{
|
|
7490
|
+
"resource": "canvas.canvases",
|
|
7491
|
+
"method": "list",
|
|
7492
|
+
"summary": "List canvases",
|
|
7493
|
+
"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.",
|
|
7494
|
+
"http": "GET",
|
|
7495
|
+
"path": "/canvas/v1/canvases",
|
|
7496
|
+
"streaming": "no",
|
|
7497
|
+
"pagination": true,
|
|
7498
|
+
"pathParams": [],
|
|
7499
|
+
"query": [
|
|
7500
|
+
{
|
|
7501
|
+
"name": "limit",
|
|
7502
|
+
"type": "integer",
|
|
7503
|
+
"required": false,
|
|
7504
|
+
"description": "Maximum canvases to return per page, from 1 to 100; defaults to 50 when omitted."
|
|
7505
|
+
},
|
|
7506
|
+
{
|
|
7507
|
+
"name": "cursor",
|
|
7508
|
+
"type": "string",
|
|
7509
|
+
"required": false,
|
|
7510
|
+
"description": "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null."
|
|
7511
|
+
},
|
|
7512
|
+
{
|
|
7513
|
+
"name": "collection_id",
|
|
7514
|
+
"type": "string",
|
|
7515
|
+
"required": false,
|
|
7516
|
+
"description": "Filter to a collection id from collections.list, or the literal none for uncategorized canvases. Omit to list all canvases; keep the same filter when following next_cursor."
|
|
7517
|
+
}
|
|
7518
|
+
]
|
|
7519
|
+
},
|
|
7520
|
+
{
|
|
7521
|
+
"resource": "canvas.canvases",
|
|
7522
|
+
"method": "create",
|
|
7523
|
+
"summary": "Create canvas",
|
|
7524
|
+
"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.",
|
|
7525
|
+
"http": "POST",
|
|
7526
|
+
"path": "/canvas/v1/canvases",
|
|
7527
|
+
"streaming": "no",
|
|
7528
|
+
"pagination": false,
|
|
7529
|
+
"pathParams": [],
|
|
7530
|
+
"query": [],
|
|
7531
|
+
"body": {
|
|
7532
|
+
"required": false,
|
|
7533
|
+
"fields": [
|
|
7534
|
+
{
|
|
7535
|
+
"name": "name",
|
|
7536
|
+
"type": "string",
|
|
7537
|
+
"required": false,
|
|
7538
|
+
"description": "Display name for the new canvas, at most 200 characters; omission uses Untitled."
|
|
7539
|
+
}
|
|
7540
|
+
]
|
|
7541
|
+
}
|
|
7542
|
+
},
|
|
7543
|
+
{
|
|
7544
|
+
"resource": "canvas.canvases",
|
|
7545
|
+
"method": "delete",
|
|
7546
|
+
"summary": "Delete canvas",
|
|
7547
|
+
"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.",
|
|
7548
|
+
"http": "DELETE",
|
|
7549
|
+
"path": "/canvas/v1/canvases/{canvas_id}",
|
|
7550
|
+
"streaming": "no",
|
|
7551
|
+
"pagination": false,
|
|
7552
|
+
"pathParams": [
|
|
7553
|
+
{
|
|
7554
|
+
"name": "canvas_id",
|
|
7555
|
+
"sdkName": "canvas_id",
|
|
7556
|
+
"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."
|
|
7557
|
+
}
|
|
7558
|
+
],
|
|
7559
|
+
"query": []
|
|
7560
|
+
},
|
|
7561
|
+
{
|
|
7562
|
+
"resource": "canvas.canvases",
|
|
7563
|
+
"method": "retrieve",
|
|
7564
|
+
"summary": "Retrieve canvas",
|
|
7565
|
+
"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.",
|
|
7566
|
+
"http": "GET",
|
|
7567
|
+
"path": "/canvas/v1/canvases/{canvas_id}",
|
|
7568
|
+
"streaming": "no",
|
|
7569
|
+
"pagination": false,
|
|
7570
|
+
"pathParams": [
|
|
7571
|
+
{
|
|
7572
|
+
"name": "canvas_id",
|
|
7573
|
+
"sdkName": "canvas_id",
|
|
7574
|
+
"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."
|
|
7575
|
+
}
|
|
7576
|
+
],
|
|
7577
|
+
"query": []
|
|
7578
|
+
},
|
|
7579
|
+
{
|
|
7580
|
+
"resource": "canvas.canvases",
|
|
7581
|
+
"method": "update",
|
|
7582
|
+
"summary": "Update canvas",
|
|
7583
|
+
"description": "Rename a canvas or move it to a collection without editing its design content. Use a canvas id from canvases.list and a collection id from collections.list. Send collection_id=null to make it uncategorized; omit either field to preserve its current value. A canvas belongs to at most one collection. The destination must belong to your organization. Renaming keeps the canvas version unchanged.",
|
|
7584
|
+
"http": "PATCH",
|
|
7585
|
+
"path": "/canvas/v1/canvases/{canvas_id}",
|
|
7586
|
+
"streaming": "no",
|
|
7587
|
+
"pagination": false,
|
|
7588
|
+
"pathParams": [
|
|
7589
|
+
{
|
|
7590
|
+
"name": "canvas_id",
|
|
7591
|
+
"sdkName": "canvas_id",
|
|
7592
|
+
"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."
|
|
7593
|
+
}
|
|
7594
|
+
],
|
|
7595
|
+
"query": [],
|
|
7596
|
+
"body": {
|
|
7597
|
+
"required": true,
|
|
7598
|
+
"fields": [
|
|
7599
|
+
{
|
|
7600
|
+
"name": "name",
|
|
7601
|
+
"type": "string",
|
|
7602
|
+
"required": false,
|
|
7603
|
+
"description": "New canvas display name; surrounding whitespace is trimmed, blank names use Untitled, and omission preserves the current name."
|
|
7604
|
+
},
|
|
7605
|
+
{
|
|
7606
|
+
"name": "collection_id",
|
|
7607
|
+
"type": "string",
|
|
7608
|
+
"required": false,
|
|
7609
|
+
"description": "Move to this collection id from collections.list; null removes the canvas from its collection. Omission preserves the current assignment."
|
|
7610
|
+
}
|
|
7611
|
+
]
|
|
7612
|
+
}
|
|
7613
|
+
},
|
|
7614
|
+
{
|
|
7615
|
+
"resource": "canvas.canvases.images",
|
|
7616
|
+
"method": "list",
|
|
7617
|
+
"summary": "Render canvas nodes",
|
|
7618
|
+
"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.",
|
|
7619
|
+
"http": "GET",
|
|
7620
|
+
"path": "/canvas/v1/canvases/{canvas_id}/images",
|
|
7621
|
+
"streaming": "no",
|
|
7622
|
+
"pagination": false,
|
|
7623
|
+
"pathParams": [
|
|
7624
|
+
{
|
|
7625
|
+
"name": "canvas_id",
|
|
7626
|
+
"sdkName": "canvas_id",
|
|
7627
|
+
"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."
|
|
7628
|
+
}
|
|
7629
|
+
],
|
|
7630
|
+
"query": [
|
|
7631
|
+
{
|
|
7632
|
+
"name": "version",
|
|
7633
|
+
"type": "string",
|
|
7634
|
+
"required": false,
|
|
7635
|
+
"description": "Decimal version from versions.list, or its earliest_restorable_version, for a read-only historical snapshot; omit to read current state. Unavailable versions return VERSION_NOT_FOUND."
|
|
7636
|
+
},
|
|
7637
|
+
{
|
|
7638
|
+
"name": "ids",
|
|
7639
|
+
"type": "string",
|
|
7640
|
+
"required": true,
|
|
7641
|
+
"description": "Comma-separated list of 1–4 node ids to render, from retrieve, execute.created or execute.screenshots."
|
|
7642
|
+
},
|
|
7643
|
+
{
|
|
7644
|
+
"name": "scale",
|
|
7645
|
+
"type": "number",
|
|
7646
|
+
"required": false,
|
|
7647
|
+
"description": "Output pixel scale relative to canvas dimensions, from 0.25 to 4 inclusive; defaults to 1 when omitted."
|
|
7648
|
+
},
|
|
7649
|
+
{
|
|
7650
|
+
"name": "format",
|
|
7651
|
+
"type": "string",
|
|
7652
|
+
"enum": [
|
|
7653
|
+
"png"
|
|
7654
|
+
],
|
|
7655
|
+
"required": false,
|
|
7656
|
+
"description": "Image encoding; png produces a PNG data URL and is the only supported value. Omit to use png."
|
|
7657
|
+
}
|
|
7658
|
+
]
|
|
7659
|
+
},
|
|
7660
|
+
{
|
|
7661
|
+
"resource": "canvas.canvases.nodes",
|
|
7662
|
+
"method": "list",
|
|
7663
|
+
"summary": "Read canvas nodes",
|
|
7664
|
+
"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.",
|
|
7665
|
+
"http": "GET",
|
|
7666
|
+
"path": "/canvas/v1/canvases/{canvas_id}/nodes",
|
|
7667
|
+
"streaming": "no",
|
|
7668
|
+
"pagination": false,
|
|
7669
|
+
"pathParams": [
|
|
7670
|
+
{
|
|
7671
|
+
"name": "canvas_id",
|
|
7672
|
+
"sdkName": "canvas_id",
|
|
7673
|
+
"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."
|
|
7674
|
+
}
|
|
7675
|
+
],
|
|
7676
|
+
"query": [
|
|
7677
|
+
{
|
|
7678
|
+
"name": "version",
|
|
7679
|
+
"type": "string",
|
|
7680
|
+
"required": false,
|
|
7681
|
+
"description": "Decimal version from versions.list, or its earliest_restorable_version, for a read-only historical snapshot; omit to read current state. Unavailable versions return VERSION_NOT_FOUND."
|
|
7682
|
+
},
|
|
7683
|
+
{
|
|
7684
|
+
"name": "ids",
|
|
7685
|
+
"type": "string",
|
|
7686
|
+
"required": true,
|
|
7687
|
+
"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."
|
|
7688
|
+
},
|
|
7689
|
+
{
|
|
7690
|
+
"name": "depth",
|
|
7691
|
+
"type": "integer",
|
|
7692
|
+
"required": false,
|
|
7693
|
+
"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."
|
|
7694
|
+
}
|
|
7695
|
+
]
|
|
7696
|
+
},
|
|
7697
|
+
{
|
|
7698
|
+
"resource": "canvas.canvases.versions",
|
|
7699
|
+
"method": "list",
|
|
7700
|
+
"summary": "List canvas versions",
|
|
7701
|
+
"description": "Inspect retained edits before restoring a canvas or reading historical nodes and images. Supply a canvas_id from canvases.list or create. Results include successful execute, import and restore commits since history was enabled, newest first. limit is 1–100 and defaults to 30; pass next_cursor as cursor until it is null. All versions from the last 30 days are retained unless the 256 MiB history budget requires pruning; the newest 100 versions are always retained regardless of age or size. earliest_restorable_version is the oldest readable and restorable version, including the state immediately before the first retained commit; null means no history has been recorded. Listing does not change the canvas.",
|
|
7702
|
+
"http": "GET",
|
|
7703
|
+
"path": "/canvas/v1/canvases/{canvas_id}/versions",
|
|
7704
|
+
"streaming": "no",
|
|
7705
|
+
"pagination": false,
|
|
7706
|
+
"pathParams": [
|
|
7707
|
+
{
|
|
7708
|
+
"name": "canvas_id",
|
|
7709
|
+
"sdkName": "canvas_id",
|
|
7710
|
+
"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."
|
|
7711
|
+
}
|
|
7712
|
+
],
|
|
7713
|
+
"query": [
|
|
7714
|
+
{
|
|
7715
|
+
"name": "limit",
|
|
7716
|
+
"type": "integer",
|
|
7717
|
+
"required": false,
|
|
7718
|
+
"description": "Maximum commits to return, from 1 to 100 inclusive; omission uses 30."
|
|
7719
|
+
},
|
|
7720
|
+
{
|
|
7721
|
+
"name": "cursor",
|
|
7722
|
+
"type": "string",
|
|
7723
|
+
"required": false,
|
|
7724
|
+
"description": "Copy next_cursor from the preceding page to continue toward older commits; omit for the first page."
|
|
7725
|
+
}
|
|
7726
|
+
]
|
|
7727
|
+
},
|
|
7728
|
+
{
|
|
7729
|
+
"resource": "canvas.canvases",
|
|
7730
|
+
"method": "execute",
|
|
7731
|
+
"summary": "Execute canvas script",
|
|
7732
|
+
"description": "Draw or edit a canvas atomically with a synchronous Pencil execute script. First create a canvas with praxis.canvas.canvases.create and use its id as canvas_id; inspect an existing canvas with retrieve before modifying it. Send exactly one of script (new source) or edit_id (a failed script to patch using edits). Unlike Figma REST, :execute writes design content; nodes use Pencil .pen schema 2.21 (frame/group/rectangle/ellipse/polygon/path/text/icon/ref/note), not Figma node fields.\n\nThe root variable is document. Synchronous functions are Insert / Copy / Update / Replace / Move / Delete / SetVariables / Get / GetVariables / FindEmptySpace / Print / TakeScreenshot; globals persist for the next call. A first frame needs only this body.script:\n\n```js\nconst f = Insert(document, { type: \"frame\", name: \"Hero\", width: 1200, layout: \"vertical\", padding: 48, fill: \"#FFFFFF\" }); Insert(f, { type: \"text\", content: \"Hello\", fontSize: 32, fill: \"#111111\" }); Print(f)\n```\n\nInsert/Copy return the new node id; read the copy with Get(id) — copied descendants get new ids, so change them through Copy's third argument `descendants` keyed by the source node ids. To copy a page and change its title in the same script:\n\n```js canvas-example=\"copy-page\"\nconst page = Insert(document, {type:\"frame\",name:\"Original\",width:320,height:160,layout:\"vertical\",padding:16});\nconst title = Insert(page, {type:\"text\",name:\"Title\",content:\"Original\",fontSize:24});\nconst copy = Copy(page, document, {name:\"Copy\",x:360,descendants:{[title]:{content:\"Updated\"}}});\nPrint(copy); Print(Get(copy).children[0].content);\n```\n\nUse viewer_url to watch the result in Console. TakeScreenshot records node ids in screenshots; call images.list with those ids to fetch PNG data URLs. See the [Canvas execute reference](https://deepraxis.com/en/docs/api/native/canvas/execute) for request fields and results, and the [Canvas node reference](https://deepraxis.com/en/docs/developers/canvas/nodes) for node content.\n\nA successful write increments version by one. Optionally set expected_version to the version from retrieve or nodes.list; on 409 REVISION_CONFLICT read again, merge your intent and retry with the current version. Every script failure rolls back all writes. On 400 SCRIPT_ERROR, SCRIPT_LIMIT or OPS_REJECTED, use error.details.edit_id plus edits to repair and rerun the stored source without resending the entire script; details may include line, column and rejection. On 400 EDIT_EXPIRED the saved script is older than ten minutes: submit a corrected new script. On 429 CANVAS_BUSY, more than four calls are queued for this canvas: wait for pending calls before retrying.\n\nExecution errors include error.details.prints containing output printed before failure, with the same string-array shape and output limit as successful prints; rolled-back writes still create no version.\n",
|
|
7733
|
+
"http": "POST",
|
|
7734
|
+
"path": "/canvas/v1/canvases/{canvas_id}:execute",
|
|
7735
|
+
"streaming": "no",
|
|
7736
|
+
"pagination": false,
|
|
7737
|
+
"pathParams": [
|
|
7738
|
+
{
|
|
7739
|
+
"name": "canvas_id",
|
|
7740
|
+
"sdkName": "canvas_id",
|
|
7741
|
+
"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."
|
|
7742
|
+
}
|
|
7743
|
+
],
|
|
7744
|
+
"query": [],
|
|
7745
|
+
"body": {
|
|
7746
|
+
"required": true,
|
|
7747
|
+
"fields": [
|
|
7748
|
+
{
|
|
7749
|
+
"name": "script",
|
|
7750
|
+
"type": "string",
|
|
7751
|
+
"required": false,
|
|
7752
|
+
"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."
|
|
7753
|
+
},
|
|
7754
|
+
{
|
|
7755
|
+
"name": "edit_id",
|
|
7756
|
+
"type": "string",
|
|
7757
|
+
"required": false,
|
|
7758
|
+
"description": "Saved failed-script identifier from error.details.edit_id; use with edits instead of script within ten minutes of the failure."
|
|
7759
|
+
},
|
|
7760
|
+
{
|
|
7761
|
+
"name": "edits",
|
|
7762
|
+
"type": "array",
|
|
7763
|
+
"itemType": "object",
|
|
7764
|
+
"required": false,
|
|
7765
|
+
"description": "Text replacements applied to the source identified by edit_id before rerunning; use error line, column or rejection to choose the correction."
|
|
7766
|
+
},
|
|
7767
|
+
{
|
|
7768
|
+
"name": "expected_version",
|
|
7769
|
+
"type": "string",
|
|
7770
|
+
"required": false,
|
|
7771
|
+
"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."
|
|
7772
|
+
}
|
|
7773
|
+
]
|
|
7774
|
+
}
|
|
7775
|
+
},
|
|
7776
|
+
{
|
|
7777
|
+
"resource": "canvas.canvases",
|
|
7778
|
+
"method": "restore",
|
|
7779
|
+
"summary": "Restore canvas version",
|
|
7780
|
+
"description": "Recover a canvas after an unwanted edit by restoring a retained version from versions.list or its earliest_restorable_version. This replaces current nodes, variables and themes with the target state and creates one new version; history remains available, so restoring can itself be undone with another restore. Restoring the current version succeeds without creating a version. Optionally guard the write with expected_version from retrieve or nodes.list; if it is stale, inspect current state and retry with the new value. Repeating an unguarded request after another edit can create another restore version. Versions from before history was enabled or outside retention cannot be recovered. Connected viewers resync after a successful restore.",
|
|
7781
|
+
"http": "POST",
|
|
7782
|
+
"path": "/canvas/v1/canvases/{canvas_id}:restore",
|
|
7783
|
+
"streaming": "no",
|
|
7784
|
+
"pagination": false,
|
|
7785
|
+
"pathParams": [
|
|
7786
|
+
{
|
|
7787
|
+
"name": "canvas_id",
|
|
7788
|
+
"sdkName": "canvas_id",
|
|
7789
|
+
"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."
|
|
7790
|
+
}
|
|
7791
|
+
],
|
|
7792
|
+
"query": [],
|
|
7793
|
+
"body": {
|
|
7794
|
+
"required": true,
|
|
7795
|
+
"fields": [
|
|
7796
|
+
{
|
|
7797
|
+
"name": "version",
|
|
7798
|
+
"type": "string",
|
|
7799
|
+
"required": true,
|
|
7800
|
+
"description": "Historical target from versions.list or earliest_restorable_version; restoring the current version creates no new commit."
|
|
7801
|
+
},
|
|
7802
|
+
{
|
|
7803
|
+
"name": "expected_version",
|
|
7804
|
+
"type": "string",
|
|
7805
|
+
"required": false,
|
|
7806
|
+
"description": "Current version from retrieve or nodes.list to guard against concurrent edits; omission applies the restore to whichever version is current."
|
|
7807
|
+
}
|
|
7808
|
+
]
|
|
7809
|
+
}
|
|
7810
|
+
},
|
|
7811
|
+
{
|
|
7812
|
+
"resource": "canvas.collections",
|
|
7813
|
+
"method": "list",
|
|
7814
|
+
"summary": "List collections",
|
|
7815
|
+
"description": "Find collections and ids for filtering or moving canvases. All organization collections are returned in name order in one response; next_cursor is always null. canvas_count excludes deleted canvases. total_count counts all live canvases, rather than collections, and uncategorized_count counts live canvases without a collection. Use canvases.list with collection_id to read a collection or none to read uncategorized canvases.",
|
|
7816
|
+
"http": "GET",
|
|
7817
|
+
"path": "/canvas/v1/collections",
|
|
7818
|
+
"streaming": "no",
|
|
7819
|
+
"pagination": false,
|
|
7820
|
+
"pathParams": [],
|
|
7821
|
+
"query": []
|
|
7822
|
+
},
|
|
7823
|
+
{
|
|
7824
|
+
"resource": "canvas.collections",
|
|
7825
|
+
"method": "create",
|
|
7826
|
+
"summary": "Create collection",
|
|
7827
|
+
"description": "Organize canvases by creating a one-level collection in your organization. Send a name of 1–100 characters after trimming; duplicate names are allowed. Each call creates a new collection, initially containing no canvases. Use canvases.update with its id as collection_id to move existing canvases into it. Collections cannot be nested and an organization can have at most 200.",
|
|
7828
|
+
"http": "POST",
|
|
7829
|
+
"path": "/canvas/v1/collections",
|
|
7830
|
+
"streaming": "no",
|
|
7831
|
+
"pagination": false,
|
|
7832
|
+
"pathParams": [],
|
|
7833
|
+
"query": [],
|
|
7834
|
+
"body": {
|
|
7835
|
+
"required": true,
|
|
7836
|
+
"fields": [
|
|
7837
|
+
{
|
|
7838
|
+
"name": "name",
|
|
7839
|
+
"type": "string",
|
|
7840
|
+
"required": true,
|
|
7841
|
+
"description": "Collection display name, 1–100 characters after trimming surrounding whitespace; duplicate names within the organization are allowed."
|
|
7842
|
+
}
|
|
7843
|
+
]
|
|
7844
|
+
}
|
|
7845
|
+
},
|
|
7846
|
+
{
|
|
7847
|
+
"resource": "canvas.collections",
|
|
7848
|
+
"method": "delete",
|
|
7849
|
+
"summary": "Delete collection",
|
|
7850
|
+
"description": "Remove a collection using an id from collections.list. All its canvases are preserved and become uncategorized, with collection_id set to null; read them using canvases.list with collection_id=none. The removed collection cannot be retrieved again, and repeating deletion returns COLLECTION_NOT_FOUND.",
|
|
7851
|
+
"http": "DELETE",
|
|
7852
|
+
"path": "/canvas/v1/collections/{collection_id}",
|
|
7853
|
+
"streaming": "no",
|
|
7854
|
+
"pagination": false,
|
|
7855
|
+
"pathParams": [
|
|
7856
|
+
{
|
|
7857
|
+
"name": "collection_id",
|
|
7858
|
+
"sdkName": "collection_id",
|
|
7859
|
+
"description": "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier."
|
|
7860
|
+
}
|
|
7861
|
+
],
|
|
7862
|
+
"query": []
|
|
7863
|
+
},
|
|
7864
|
+
{
|
|
7865
|
+
"resource": "canvas.collections",
|
|
7866
|
+
"method": "retrieve",
|
|
7867
|
+
"summary": "Retrieve collection",
|
|
7868
|
+
"description": "Inspect one collection and its current live canvas count using an id from collections.list or collections.create. The collection must belong to the API key organization. To read its canvases, pass the same id as collection_id to canvases.list; this response contains collection metadata only.",
|
|
7869
|
+
"http": "GET",
|
|
7870
|
+
"path": "/canvas/v1/collections/{collection_id}",
|
|
7871
|
+
"streaming": "no",
|
|
7872
|
+
"pagination": false,
|
|
7873
|
+
"pathParams": [
|
|
7874
|
+
{
|
|
7875
|
+
"name": "collection_id",
|
|
7876
|
+
"sdkName": "collection_id",
|
|
7877
|
+
"description": "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier."
|
|
7878
|
+
}
|
|
7879
|
+
],
|
|
7880
|
+
"query": []
|
|
7881
|
+
},
|
|
7882
|
+
{
|
|
7883
|
+
"resource": "canvas.collections",
|
|
7884
|
+
"method": "update",
|
|
7885
|
+
"summary": "Rename collection",
|
|
7886
|
+
"description": "Change the display name of a collection from collections.list without changing its id or canvas assignments. Names contain 1–100 characters after trimming and may match another collection name. This operation does not move canvases; use canvases.update with collection_id for that.",
|
|
7887
|
+
"http": "PATCH",
|
|
7888
|
+
"path": "/canvas/v1/collections/{collection_id}",
|
|
7889
|
+
"streaming": "no",
|
|
7890
|
+
"pagination": false,
|
|
7891
|
+
"pathParams": [
|
|
7892
|
+
{
|
|
7893
|
+
"name": "collection_id",
|
|
7894
|
+
"sdkName": "collection_id",
|
|
7895
|
+
"description": "Collection id from collections.create or collections.list, in the form col_ followed by 16 lowercase letters or digits; a display name is not an identifier."
|
|
7896
|
+
}
|
|
7897
|
+
],
|
|
7898
|
+
"query": [],
|
|
7899
|
+
"body": {
|
|
7900
|
+
"required": true,
|
|
7901
|
+
"fields": [
|
|
7902
|
+
{
|
|
7903
|
+
"name": "name",
|
|
7904
|
+
"type": "string",
|
|
7905
|
+
"required": true,
|
|
7906
|
+
"description": "Collection display name, 1–100 characters after trimming surrounding whitespace; duplicate names within the organization are allowed."
|
|
7907
|
+
}
|
|
7908
|
+
]
|
|
7909
|
+
}
|
|
7910
|
+
},
|
|
7911
|
+
{
|
|
7912
|
+
"resource": "cut.exports",
|
|
7913
|
+
"method": "retrieve",
|
|
7914
|
+
"summary": "Retrieve video export",
|
|
7915
|
+
"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.",
|
|
7916
|
+
"http": "GET",
|
|
7917
|
+
"path": "/cut/v1/exports/{export_id}",
|
|
7918
|
+
"streaming": "no",
|
|
7919
|
+
"pagination": false,
|
|
7920
|
+
"pathParams": [
|
|
7921
|
+
{
|
|
7922
|
+
"name": "export_id",
|
|
7923
|
+
"sdkName": "export_id",
|
|
7924
|
+
"description": "Export identifier returned by its create or list operation; use the id, not a display name."
|
|
7925
|
+
}
|
|
7926
|
+
],
|
|
7927
|
+
"query": []
|
|
7928
|
+
},
|
|
7929
|
+
{
|
|
7930
|
+
"resource": "cut.exports",
|
|
7931
|
+
"method": "cancel",
|
|
7932
|
+
"summary": "Cancel video export",
|
|
7933
|
+
"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.",
|
|
7934
|
+
"http": "POST",
|
|
7935
|
+
"path": "/cut/v1/exports/{export_id}:cancel",
|
|
7936
|
+
"streaming": "no",
|
|
7937
|
+
"pagination": false,
|
|
7938
|
+
"pathParams": [
|
|
7939
|
+
{
|
|
7940
|
+
"name": "export_id",
|
|
7941
|
+
"sdkName": "export_id",
|
|
7942
|
+
"description": "Export identifier returned by its create or list operation; use the id, not a display name."
|
|
7943
|
+
}
|
|
7944
|
+
],
|
|
7945
|
+
"query": []
|
|
7946
|
+
},
|
|
7947
|
+
{
|
|
7948
|
+
"resource": "cut.projects",
|
|
7949
|
+
"method": "list",
|
|
7950
|
+
"summary": "List projects",
|
|
7951
|
+
"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.",
|
|
7952
|
+
"http": "GET",
|
|
7953
|
+
"path": "/cut/v1/projects",
|
|
7954
|
+
"streaming": "no",
|
|
7955
|
+
"pagination": false,
|
|
7956
|
+
"pathParams": [],
|
|
7957
|
+
"query": [
|
|
7958
|
+
{
|
|
7959
|
+
"name": "page_size",
|
|
7960
|
+
"type": "integer",
|
|
7961
|
+
"required": false,
|
|
7962
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
7963
|
+
},
|
|
7964
|
+
{
|
|
7965
|
+
"name": "page_token",
|
|
7966
|
+
"type": "string",
|
|
7967
|
+
"required": false,
|
|
7968
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
7969
|
+
},
|
|
7970
|
+
{
|
|
7971
|
+
"name": "filter",
|
|
7972
|
+
"type": "string",
|
|
7973
|
+
"required": false,
|
|
7974
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
7975
|
+
},
|
|
7976
|
+
{
|
|
7977
|
+
"name": "order_by",
|
|
7978
|
+
"type": "string",
|
|
7979
|
+
"required": false,
|
|
7980
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
7981
|
+
}
|
|
7982
|
+
]
|
|
7983
|
+
},
|
|
7984
|
+
{
|
|
7985
|
+
"resource": "cut.projects",
|
|
7986
|
+
"method": "create",
|
|
7987
|
+
"summary": "Create project",
|
|
7988
|
+
"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.",
|
|
7989
|
+
"http": "POST",
|
|
7990
|
+
"path": "/cut/v1/projects",
|
|
7991
|
+
"streaming": "no",
|
|
7992
|
+
"pagination": false,
|
|
7993
|
+
"pathParams": [],
|
|
7994
|
+
"query": [],
|
|
7995
|
+
"body": {
|
|
7996
|
+
"required": true,
|
|
7997
|
+
"fields": [
|
|
7998
|
+
{
|
|
7999
|
+
"name": "name",
|
|
8000
|
+
"type": "string",
|
|
8001
|
+
"required": true,
|
|
8002
|
+
"description": "Human-readable project name; required and must contain non-whitespace text."
|
|
8003
|
+
},
|
|
8004
|
+
{
|
|
8005
|
+
"name": "labels",
|
|
8006
|
+
"type": "object",
|
|
8007
|
+
"required": false,
|
|
8008
|
+
"description": "User-defined string labels for organizing projects; label keys retain their original spelling."
|
|
8009
|
+
},
|
|
8010
|
+
{
|
|
8011
|
+
"name": "settings",
|
|
8012
|
+
"type": "object",
|
|
8013
|
+
"required": true,
|
|
8014
|
+
"description": "Dimensions and frame rate for a new editing project."
|
|
8015
|
+
},
|
|
8016
|
+
{
|
|
8017
|
+
"name": "bindings",
|
|
8018
|
+
"type": "array",
|
|
8019
|
+
"itemType": "object",
|
|
8020
|
+
"required": true,
|
|
8021
|
+
"description": "Accessible library bindings; exactly one read_write entry must have default_upload true."
|
|
8022
|
+
}
|
|
8023
|
+
]
|
|
8024
|
+
}
|
|
8025
|
+
},
|
|
8026
|
+
{
|
|
8027
|
+
"resource": "cut.projects",
|
|
8028
|
+
"method": "delete",
|
|
8029
|
+
"summary": "Delete project",
|
|
8030
|
+
"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.",
|
|
8031
|
+
"http": "DELETE",
|
|
8032
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
8033
|
+
"streaming": "no",
|
|
8034
|
+
"pagination": false,
|
|
8035
|
+
"pathParams": [
|
|
8036
|
+
{
|
|
8037
|
+
"name": "project_id",
|
|
8038
|
+
"sdkName": "project_id",
|
|
8039
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8040
|
+
}
|
|
8041
|
+
],
|
|
8042
|
+
"query": []
|
|
8043
|
+
},
|
|
8044
|
+
{
|
|
8045
|
+
"resource": "cut.projects",
|
|
8046
|
+
"method": "retrieve",
|
|
8047
|
+
"summary": "Retrieve project",
|
|
8048
|
+
"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.",
|
|
8049
|
+
"http": "GET",
|
|
8050
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
8051
|
+
"streaming": "no",
|
|
8052
|
+
"pagination": false,
|
|
8053
|
+
"pathParams": [
|
|
8054
|
+
{
|
|
8055
|
+
"name": "project_id",
|
|
8056
|
+
"sdkName": "project_id",
|
|
8057
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8058
|
+
}
|
|
8059
|
+
],
|
|
8060
|
+
"query": [
|
|
8061
|
+
{
|
|
8062
|
+
"name": "expand",
|
|
8063
|
+
"type": "string",
|
|
8064
|
+
"required": false,
|
|
8065
|
+
"description": "Comma-separated expansions: timeline includes clips, exports includes render jobs, versions includes saved snapshots."
|
|
8066
|
+
}
|
|
8067
|
+
]
|
|
8068
|
+
},
|
|
8069
|
+
{
|
|
8070
|
+
"resource": "cut.projects",
|
|
8071
|
+
"method": "update",
|
|
8072
|
+
"summary": "Update project metadata",
|
|
8073
|
+
"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.",
|
|
8074
|
+
"http": "PATCH",
|
|
8075
|
+
"path": "/cut/v1/projects/{project_id}",
|
|
8076
|
+
"streaming": "no",
|
|
8077
|
+
"pagination": false,
|
|
8078
|
+
"pathParams": [
|
|
8079
|
+
{
|
|
8080
|
+
"name": "project_id",
|
|
8081
|
+
"sdkName": "project_id",
|
|
8082
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8083
|
+
}
|
|
8084
|
+
],
|
|
8085
|
+
"query": [],
|
|
8086
|
+
"body": {
|
|
8087
|
+
"required": true,
|
|
8088
|
+
"fields": [
|
|
8089
|
+
{
|
|
8090
|
+
"name": "name",
|
|
8091
|
+
"type": "string",
|
|
8092
|
+
"required": false,
|
|
8093
|
+
"description": "Replacement display name when update_mask includes name."
|
|
8094
|
+
},
|
|
8095
|
+
{
|
|
8096
|
+
"name": "labels",
|
|
8097
|
+
"type": "object",
|
|
8098
|
+
"required": false,
|
|
8099
|
+
"description": "User-defined string labels for organizing projects; label keys retain their original spelling."
|
|
8100
|
+
},
|
|
8101
|
+
{
|
|
8102
|
+
"name": "update_mask",
|
|
8103
|
+
"type": "array",
|
|
8104
|
+
"itemType": "string",
|
|
8105
|
+
"enum": [
|
|
8106
|
+
"name",
|
|
8107
|
+
"labels"
|
|
8108
|
+
],
|
|
8109
|
+
"required": true,
|
|
8110
|
+
"description": "Metadata fields to replace; name changes the display name and labels replaces all labels."
|
|
8111
|
+
}
|
|
8112
|
+
]
|
|
8113
|
+
}
|
|
8114
|
+
},
|
|
8115
|
+
{
|
|
8116
|
+
"resource": "cut.projects.analysis",
|
|
8117
|
+
"method": "create",
|
|
8118
|
+
"summary": "Analyze project media",
|
|
8119
|
+
"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.",
|
|
8120
|
+
"http": "POST",
|
|
8121
|
+
"path": "/cut/v1/projects/{project_id}/analysis",
|
|
8122
|
+
"streaming": "no",
|
|
8123
|
+
"pagination": false,
|
|
8124
|
+
"pathParams": [
|
|
8125
|
+
{
|
|
8126
|
+
"name": "project_id",
|
|
8127
|
+
"sdkName": "project_id",
|
|
8128
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8129
|
+
}
|
|
8130
|
+
],
|
|
8131
|
+
"query": [],
|
|
8132
|
+
"body": {
|
|
8133
|
+
"required": true,
|
|
8134
|
+
"fields": [
|
|
8135
|
+
{
|
|
8136
|
+
"name": "media",
|
|
8137
|
+
"type": "array",
|
|
8138
|
+
"itemType": "object",
|
|
8139
|
+
"required": false,
|
|
8140
|
+
"description": "Bound-library assets to analyze; omission selects project media."
|
|
8141
|
+
},
|
|
8142
|
+
{
|
|
8143
|
+
"name": "kinds",
|
|
8144
|
+
"type": "array",
|
|
8145
|
+
"itemType": "string",
|
|
8146
|
+
"enum": [
|
|
8147
|
+
"silence",
|
|
8148
|
+
"filler",
|
|
8149
|
+
"scenes"
|
|
8150
|
+
],
|
|
8151
|
+
"required": true,
|
|
8152
|
+
"description": "Analysis types to request for the selected source assets."
|
|
8153
|
+
}
|
|
8154
|
+
]
|
|
8155
|
+
}
|
|
8156
|
+
},
|
|
8157
|
+
{
|
|
8158
|
+
"resource": "cut.projects.bindings",
|
|
8159
|
+
"method": "list",
|
|
8160
|
+
"summary": "List library bindings",
|
|
8161
|
+
"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.",
|
|
8162
|
+
"http": "GET",
|
|
8163
|
+
"path": "/cut/v1/projects/{project_id}/bindings",
|
|
8164
|
+
"streaming": "no",
|
|
8165
|
+
"pagination": false,
|
|
8166
|
+
"pathParams": [
|
|
8167
|
+
{
|
|
8168
|
+
"name": "project_id",
|
|
8169
|
+
"sdkName": "project_id",
|
|
8170
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8171
|
+
}
|
|
8172
|
+
],
|
|
8173
|
+
"query": []
|
|
8174
|
+
},
|
|
8175
|
+
{
|
|
8176
|
+
"resource": "cut.projects.bindings",
|
|
8177
|
+
"method": "create",
|
|
8178
|
+
"summary": "Bind media library",
|
|
8179
|
+
"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.",
|
|
8180
|
+
"http": "POST",
|
|
8181
|
+
"path": "/cut/v1/projects/{project_id}/bindings",
|
|
8182
|
+
"streaming": "no",
|
|
8183
|
+
"pagination": false,
|
|
8184
|
+
"pathParams": [
|
|
8185
|
+
{
|
|
8186
|
+
"name": "project_id",
|
|
8187
|
+
"sdkName": "project_id",
|
|
8188
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8189
|
+
}
|
|
8190
|
+
],
|
|
8191
|
+
"query": [],
|
|
8192
|
+
"body": {
|
|
8193
|
+
"required": true,
|
|
8194
|
+
"fields": [
|
|
8195
|
+
{
|
|
8196
|
+
"name": "binding",
|
|
8197
|
+
"type": "object",
|
|
8198
|
+
"required": true,
|
|
8199
|
+
"description": "A named project link to a media library. Exactly one read_write binding must be default_upload."
|
|
8200
|
+
}
|
|
8201
|
+
]
|
|
8202
|
+
}
|
|
8203
|
+
},
|
|
8204
|
+
{
|
|
8205
|
+
"resource": "cut.projects.bindings",
|
|
8206
|
+
"method": "delete",
|
|
8207
|
+
"summary": "Remove library binding",
|
|
8208
|
+
"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.",
|
|
8209
|
+
"http": "DELETE",
|
|
8210
|
+
"path": "/cut/v1/projects/{project_id}/bindings/{name}",
|
|
8211
|
+
"streaming": "no",
|
|
8212
|
+
"pagination": false,
|
|
8213
|
+
"pathParams": [
|
|
8214
|
+
{
|
|
8215
|
+
"name": "project_id",
|
|
8216
|
+
"sdkName": "project_id",
|
|
8217
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8218
|
+
},
|
|
8219
|
+
{
|
|
8220
|
+
"name": "name",
|
|
8221
|
+
"sdkName": "name",
|
|
8222
|
+
"description": "Project-local binding alias from bindings.list; detach only after removing all clips that reference its library."
|
|
8223
|
+
}
|
|
8224
|
+
],
|
|
8225
|
+
"query": []
|
|
8226
|
+
},
|
|
8227
|
+
{
|
|
8228
|
+
"resource": "cut.projects.exports",
|
|
8229
|
+
"method": "list",
|
|
8230
|
+
"summary": "List project exports",
|
|
8231
|
+
"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.",
|
|
8232
|
+
"http": "GET",
|
|
8233
|
+
"path": "/cut/v1/projects/{project_id}/exports",
|
|
8234
|
+
"streaming": "no",
|
|
8235
|
+
"pagination": false,
|
|
8236
|
+
"pathParams": [
|
|
8237
|
+
{
|
|
8238
|
+
"name": "project_id",
|
|
8239
|
+
"sdkName": "project_id",
|
|
8240
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8241
|
+
}
|
|
8242
|
+
],
|
|
8243
|
+
"query": [
|
|
8244
|
+
{
|
|
8245
|
+
"name": "page_size",
|
|
8246
|
+
"type": "integer",
|
|
8247
|
+
"required": false,
|
|
8248
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
8249
|
+
},
|
|
8250
|
+
{
|
|
8251
|
+
"name": "page_token",
|
|
8252
|
+
"type": "string",
|
|
8253
|
+
"required": false,
|
|
8254
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
8255
|
+
},
|
|
8256
|
+
{
|
|
8257
|
+
"name": "filter",
|
|
8258
|
+
"type": "string",
|
|
8259
|
+
"required": false,
|
|
8260
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
8261
|
+
},
|
|
8262
|
+
{
|
|
8263
|
+
"name": "order_by",
|
|
8264
|
+
"type": "string",
|
|
8265
|
+
"required": false,
|
|
8266
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
8267
|
+
}
|
|
8268
|
+
]
|
|
8269
|
+
},
|
|
8270
|
+
{
|
|
8271
|
+
"resource": "cut.projects.exports",
|
|
8272
|
+
"method": "create",
|
|
8273
|
+
"summary": "Create video export",
|
|
8274
|
+
"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.",
|
|
8275
|
+
"http": "POST",
|
|
8276
|
+
"path": "/cut/v1/projects/{project_id}/exports",
|
|
8277
|
+
"streaming": "no",
|
|
8278
|
+
"pagination": false,
|
|
8279
|
+
"pathParams": [
|
|
8280
|
+
{
|
|
8281
|
+
"name": "project_id",
|
|
8282
|
+
"sdkName": "project_id",
|
|
8283
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8284
|
+
}
|
|
8285
|
+
],
|
|
8286
|
+
"query": [],
|
|
8287
|
+
"body": {
|
|
8288
|
+
"required": true,
|
|
8289
|
+
"fields": [
|
|
8290
|
+
{
|
|
8291
|
+
"name": "output",
|
|
8292
|
+
"type": "object",
|
|
8293
|
+
"required": false,
|
|
8294
|
+
"description": "Rendering options for an exported video."
|
|
8295
|
+
},
|
|
8296
|
+
{
|
|
8297
|
+
"name": "binding",
|
|
8298
|
+
"type": "string",
|
|
8299
|
+
"required": false,
|
|
8300
|
+
"description": "Writable binding name used as the export destination; omission uses default_upload."
|
|
8301
|
+
},
|
|
8302
|
+
{
|
|
8303
|
+
"name": "revision",
|
|
8304
|
+
"type": "integer",
|
|
8305
|
+
"required": false,
|
|
8306
|
+
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
8307
|
+
}
|
|
8308
|
+
]
|
|
8309
|
+
}
|
|
8310
|
+
},
|
|
8311
|
+
{
|
|
8312
|
+
"resource": "cut.projects.frames",
|
|
8313
|
+
"method": "list",
|
|
8314
|
+
"summary": "Render preview frames",
|
|
8315
|
+
"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.",
|
|
8316
|
+
"http": "GET",
|
|
8317
|
+
"path": "/cut/v1/projects/{project_id}/frames",
|
|
8318
|
+
"streaming": "no",
|
|
8319
|
+
"pagination": false,
|
|
8320
|
+
"pathParams": [
|
|
8321
|
+
{
|
|
8322
|
+
"name": "project_id",
|
|
8323
|
+
"sdkName": "project_id",
|
|
8324
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8325
|
+
}
|
|
8326
|
+
],
|
|
8327
|
+
"query": [
|
|
8328
|
+
{
|
|
8329
|
+
"name": "at",
|
|
8330
|
+
"type": "string",
|
|
8331
|
+
"required": true,
|
|
8332
|
+
"description": "Required comma-separated non-negative project times in seconds, for example 12,15.5."
|
|
8333
|
+
},
|
|
8334
|
+
{
|
|
8335
|
+
"name": "scale",
|
|
8336
|
+
"type": "number",
|
|
8337
|
+
"required": false,
|
|
8338
|
+
"description": "Positive image size multiplier; 0.5 renders at half the project dimensions."
|
|
8339
|
+
},
|
|
8340
|
+
{
|
|
8341
|
+
"name": "revision",
|
|
8342
|
+
"type": "integer",
|
|
8343
|
+
"required": false,
|
|
8344
|
+
"description": "Optional committed project revision from state or execute; omission selects the current revision."
|
|
8345
|
+
}
|
|
8346
|
+
]
|
|
8347
|
+
},
|
|
8348
|
+
{
|
|
8349
|
+
"resource": "cut.projects.media",
|
|
8350
|
+
"method": "import",
|
|
8351
|
+
"summary": "Import project media",
|
|
8352
|
+
"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.",
|
|
8353
|
+
"http": "POST",
|
|
8354
|
+
"path": "/cut/v1/projects/{project_id}/media:import",
|
|
8355
|
+
"streaming": "no",
|
|
8356
|
+
"pagination": false,
|
|
8357
|
+
"pathParams": [
|
|
8358
|
+
{
|
|
8359
|
+
"name": "project_id",
|
|
8360
|
+
"sdkName": "project_id",
|
|
8361
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8362
|
+
}
|
|
8363
|
+
],
|
|
8364
|
+
"query": [],
|
|
8365
|
+
"body": {
|
|
8366
|
+
"required": true,
|
|
8367
|
+
"fields": [
|
|
8368
|
+
{
|
|
8369
|
+
"name": "binding",
|
|
8370
|
+
"type": "string",
|
|
8371
|
+
"required": false,
|
|
8372
|
+
"description": "Writable binding name from project bindings; omission uses default_upload."
|
|
8373
|
+
},
|
|
8374
|
+
{
|
|
8375
|
+
"name": "source",
|
|
8376
|
+
"type": "object",
|
|
8377
|
+
"required": true,
|
|
8378
|
+
"description": "Exactly one input source for the imported asset."
|
|
8379
|
+
},
|
|
8380
|
+
{
|
|
8381
|
+
"name": "display_name",
|
|
8382
|
+
"type": "string",
|
|
8383
|
+
"required": false,
|
|
8384
|
+
"description": "Optional human-readable display name for the new media asset."
|
|
8385
|
+
}
|
|
8386
|
+
]
|
|
8387
|
+
}
|
|
8388
|
+
},
|
|
8389
|
+
{
|
|
8390
|
+
"resource": "cut.projects",
|
|
8391
|
+
"method": "retrieveState",
|
|
8392
|
+
"summary": "Read editing state",
|
|
8393
|
+
"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.",
|
|
8394
|
+
"http": "GET",
|
|
8395
|
+
"path": "/cut/v1/projects/{project_id}/state",
|
|
8396
|
+
"streaming": "no",
|
|
8397
|
+
"pagination": false,
|
|
8398
|
+
"pathParams": [
|
|
8399
|
+
{
|
|
8400
|
+
"name": "project_id",
|
|
8401
|
+
"sdkName": "project_id",
|
|
8402
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8403
|
+
}
|
|
8404
|
+
],
|
|
8405
|
+
"query": []
|
|
8406
|
+
},
|
|
8407
|
+
{
|
|
8408
|
+
"resource": "cut.projects",
|
|
8409
|
+
"method": "retrieveTimeline",
|
|
8410
|
+
"summary": "Read project timeline",
|
|
8411
|
+
"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.",
|
|
8412
|
+
"http": "GET",
|
|
8413
|
+
"path": "/cut/v1/projects/{project_id}/timeline",
|
|
8414
|
+
"streaming": "no",
|
|
8415
|
+
"pagination": false,
|
|
8416
|
+
"pathParams": [
|
|
8417
|
+
{
|
|
8418
|
+
"name": "project_id",
|
|
8419
|
+
"sdkName": "project_id",
|
|
8420
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8421
|
+
}
|
|
8422
|
+
],
|
|
8423
|
+
"query": [
|
|
8424
|
+
{
|
|
8425
|
+
"name": "view",
|
|
8426
|
+
"type": "string",
|
|
8427
|
+
"enum": [
|
|
8428
|
+
"full",
|
|
8429
|
+
"compact"
|
|
8430
|
+
],
|
|
8431
|
+
"required": false,
|
|
8432
|
+
"description": "full returns structured clips; compact returns compact textual editing context."
|
|
8433
|
+
},
|
|
8434
|
+
{
|
|
8435
|
+
"name": "from",
|
|
8436
|
+
"type": "number",
|
|
8437
|
+
"required": false,
|
|
8438
|
+
"description": "Optional start of the selected project range in seconds; omit for the beginning."
|
|
8439
|
+
},
|
|
8440
|
+
{
|
|
8441
|
+
"name": "to",
|
|
8442
|
+
"type": "number",
|
|
8443
|
+
"required": false,
|
|
8444
|
+
"description": "Optional end of the selected project range in seconds; omit for the end."
|
|
8445
|
+
},
|
|
8446
|
+
{
|
|
8447
|
+
"name": "tracks",
|
|
8448
|
+
"type": "string",
|
|
8449
|
+
"required": false,
|
|
8450
|
+
"description": "Comma-separated track ids from state to include; omit to include every track."
|
|
8451
|
+
}
|
|
8452
|
+
]
|
|
8453
|
+
},
|
|
8454
|
+
{
|
|
8455
|
+
"resource": "cut.projects.versions",
|
|
8456
|
+
"method": "list",
|
|
8457
|
+
"summary": "List saved versions",
|
|
8458
|
+
"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.",
|
|
8459
|
+
"http": "GET",
|
|
8460
|
+
"path": "/cut/v1/projects/{project_id}/versions",
|
|
8461
|
+
"streaming": "no",
|
|
8462
|
+
"pagination": false,
|
|
8463
|
+
"pathParams": [
|
|
8464
|
+
{
|
|
8465
|
+
"name": "project_id",
|
|
8466
|
+
"sdkName": "project_id",
|
|
8467
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8468
|
+
}
|
|
8469
|
+
],
|
|
8470
|
+
"query": [
|
|
8471
|
+
{
|
|
8472
|
+
"name": "page_size",
|
|
8473
|
+
"type": "integer",
|
|
8474
|
+
"required": false,
|
|
8475
|
+
"description": "Maximum resources in one page, from 1 to 100; defaults to 50."
|
|
8476
|
+
},
|
|
8477
|
+
{
|
|
8478
|
+
"name": "page_token",
|
|
8479
|
+
"type": "string",
|
|
8480
|
+
"required": false,
|
|
8481
|
+
"description": "Opaque next_page_token from the preceding page; omit on the first request."
|
|
8482
|
+
},
|
|
8483
|
+
{
|
|
8484
|
+
"name": "filter",
|
|
8485
|
+
"type": "string",
|
|
8486
|
+
"required": false,
|
|
8487
|
+
"description": "Optional resource filter; projects supports state = \"active\" or state = \"deleted\"."
|
|
8488
|
+
},
|
|
8489
|
+
{
|
|
8490
|
+
"name": "order_by",
|
|
8491
|
+
"type": "string",
|
|
8492
|
+
"required": false,
|
|
8493
|
+
"description": "Optional ordering expression; projects supports updateTime desc."
|
|
8494
|
+
}
|
|
8495
|
+
]
|
|
8496
|
+
},
|
|
8497
|
+
{
|
|
8498
|
+
"resource": "cut.projects.versions",
|
|
8499
|
+
"method": "create",
|
|
8500
|
+
"summary": "Save project version",
|
|
8501
|
+
"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.",
|
|
8502
|
+
"http": "POST",
|
|
8503
|
+
"path": "/cut/v1/projects/{project_id}/versions",
|
|
8504
|
+
"streaming": "no",
|
|
8505
|
+
"pagination": false,
|
|
8506
|
+
"pathParams": [
|
|
8507
|
+
{
|
|
8508
|
+
"name": "project_id",
|
|
8509
|
+
"sdkName": "project_id",
|
|
8510
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8511
|
+
}
|
|
8512
|
+
],
|
|
8513
|
+
"query": [],
|
|
8514
|
+
"body": {
|
|
8515
|
+
"required": true,
|
|
8516
|
+
"fields": [
|
|
8517
|
+
{
|
|
8518
|
+
"name": "label",
|
|
8519
|
+
"type": "string",
|
|
8520
|
+
"required": false,
|
|
8521
|
+
"description": "Human-readable snapshot label, such as Before captions."
|
|
8522
|
+
}
|
|
8523
|
+
]
|
|
8524
|
+
}
|
|
8525
|
+
},
|
|
8526
|
+
{
|
|
8527
|
+
"resource": "cut.projects",
|
|
8528
|
+
"method": "execute",
|
|
8529
|
+
"summary": "Execute editing script",
|
|
8530
|
+
"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```",
|
|
8531
|
+
"http": "POST",
|
|
8532
|
+
"path": "/cut/v1/projects/{project_id}:execute",
|
|
8533
|
+
"streaming": "no",
|
|
8534
|
+
"pagination": false,
|
|
8535
|
+
"pathParams": [
|
|
8536
|
+
{
|
|
8537
|
+
"name": "project_id",
|
|
8538
|
+
"sdkName": "project_id",
|
|
8539
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
8540
|
+
}
|
|
8541
|
+
],
|
|
8542
|
+
"query": [],
|
|
8543
|
+
"body": {
|
|
8544
|
+
"required": true,
|
|
8545
|
+
"fields": [
|
|
8546
|
+
{
|
|
8547
|
+
"name": "script",
|
|
8548
|
+
"type": "string",
|
|
8549
|
+
"required": false,
|
|
8550
|
+
"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."
|
|
8551
|
+
},
|
|
8552
|
+
{
|
|
8553
|
+
"name": "edit_id",
|
|
8554
|
+
"type": "string",
|
|
8555
|
+
"required": false,
|
|
8556
|
+
"description": "Saved failed script identifier from error.details.edit_id; valid for ten minutes."
|
|
8557
|
+
},
|
|
8558
|
+
{
|
|
8559
|
+
"name": "edits",
|
|
8560
|
+
"type": "array",
|
|
8561
|
+
"itemType": "object",
|
|
8562
|
+
"required": false,
|
|
8563
|
+
"description": "Literal replacements applied to the saved source before rerunning."
|
|
8564
|
+
},
|
|
8565
|
+
{
|
|
8566
|
+
"name": "expected_revision",
|
|
8567
|
+
"type": "integer",
|
|
8568
|
+
"required": false,
|
|
8569
|
+
"description": "Committed project revision from retrieve, state, timeline or execute; increases after each successful write."
|
|
8570
|
+
}
|
|
8571
|
+
]
|
|
8572
|
+
}
|
|
8573
|
+
},
|
|
8574
|
+
{
|
|
8575
|
+
"resource": "cut.projects",
|
|
8576
|
+
"method": "undelete",
|
|
8577
|
+
"summary": "Restore deleted project",
|
|
8578
|
+
"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.",
|
|
8579
|
+
"http": "POST",
|
|
8580
|
+
"path": "/cut/v1/projects/{project_id}:undelete",
|
|
8581
|
+
"streaming": "no",
|
|
7225
8582
|
"pagination": false,
|
|
7226
8583
|
"pathParams": [
|
|
7227
8584
|
{
|
|
7228
|
-
"name": "
|
|
7229
|
-
"sdkName": "
|
|
7230
|
-
"description": "
|
|
8585
|
+
"name": "project_id",
|
|
8586
|
+
"sdkName": "project_id",
|
|
8587
|
+
"description": "Project identifier returned by its create or list operation; use the id, not a display name."
|
|
7231
8588
|
}
|
|
7232
8589
|
],
|
|
7233
8590
|
"query": []
|
|
7234
8591
|
},
|
|
7235
8592
|
{
|
|
7236
|
-
"resource": "
|
|
7237
|
-
"method": "
|
|
7238
|
-
"summary": "
|
|
7239
|
-
"description": "
|
|
8593
|
+
"resource": "cut.versions",
|
|
8594
|
+
"method": "restore",
|
|
8595
|
+
"summary": "Restore saved version",
|
|
8596
|
+
"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.",
|
|
7240
8597
|
"http": "POST",
|
|
7241
|
-
"path": "/
|
|
8598
|
+
"path": "/cut/v1/versions/{version_id}:restore",
|
|
7242
8599
|
"streaming": "no",
|
|
7243
8600
|
"pagination": false,
|
|
7244
8601
|
"pathParams": [
|
|
7245
8602
|
{
|
|
7246
|
-
"name": "
|
|
7247
|
-
"sdkName": "
|
|
7248
|
-
"description": "
|
|
8603
|
+
"name": "version_id",
|
|
8604
|
+
"sdkName": "version_id",
|
|
8605
|
+
"description": "Version identifier returned by its create or list operation; use the id, not a display name."
|
|
7249
8606
|
}
|
|
7250
8607
|
],
|
|
7251
|
-
"query": []
|
|
7252
|
-
"body": {
|
|
7253
|
-
"required": true,
|
|
7254
|
-
"fields": [
|
|
7255
|
-
{
|
|
7256
|
-
"name": "viewerId",
|
|
7257
|
-
"type": "string",
|
|
7258
|
-
"required": true,
|
|
7259
|
-
"description": "当前观看者的稳定标识;同一观看者重复心跳应使用相同值,长度为 1–128 个 UTF-16 代码单元。"
|
|
7260
|
-
}
|
|
7261
|
-
]
|
|
7262
|
-
}
|
|
8608
|
+
"query": []
|
|
7263
8609
|
},
|
|
7264
8610
|
{
|
|
7265
8611
|
"resource": "database.databases",
|
|
@@ -8270,7 +9616,7 @@ export const operations = [
|
|
|
8270
9616
|
"resource": "file.files",
|
|
8271
9617
|
"method": "create",
|
|
8272
9618
|
"summary": "Upload file",
|
|
8273
|
-
"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
|
|
9619
|
+
"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.",
|
|
8274
9620
|
"http": "POST",
|
|
8275
9621
|
"path": "/file/v1/files",
|
|
8276
9622
|
"streaming": "no",
|
|
@@ -8292,23 +9638,16 @@ export const operations = [
|
|
|
8292
9638
|
"type": "string",
|
|
8293
9639
|
"enum": [
|
|
8294
9640
|
"user_data",
|
|
8295
|
-
"assistants",
|
|
8296
9641
|
"vision"
|
|
8297
9642
|
],
|
|
8298
9643
|
"required": true,
|
|
8299
|
-
"description": "Purpose label stored with the file: user_data
|
|
9644
|
+
"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."
|
|
8300
9645
|
},
|
|
8301
9646
|
{
|
|
8302
9647
|
"name": "expires_after",
|
|
8303
9648
|
"type": "object",
|
|
8304
9649
|
"required": false,
|
|
8305
9650
|
"description": "Optional expiry relative to created_at. Files without an expiry persist until deleted."
|
|
8306
|
-
},
|
|
8307
|
-
{
|
|
8308
|
-
"name": "praxis",
|
|
8309
|
-
"type": "object",
|
|
8310
|
-
"required": false,
|
|
8311
|
-
"description": "Own-face extensions. Use at most one expiry setting."
|
|
8312
9651
|
}
|
|
8313
9652
|
]
|
|
8314
9653
|
}
|
|
@@ -8367,11 +9706,69 @@ export const operations = [
|
|
|
8367
9706
|
],
|
|
8368
9707
|
"query": []
|
|
8369
9708
|
},
|
|
9709
|
+
{
|
|
9710
|
+
"resource": "file.files.contentLinks",
|
|
9711
|
+
"method": "revoke",
|
|
9712
|
+
"summary": "Revoke a file content link",
|
|
9713
|
+
"description": "Stop a previously issued content link from reading a file. Obtain the link with files.contentUrl.create. Use file_id from file creation or listing and the token path component from a content URL (/c/<token>), not the complete URL. The caller must own the file and have write access; a read-only binding is refused. Revocation propagates through the capability deny list within 30 seconds; the file and other links remain available. Only current IAM capability tokens can be revoked; legacy content links expire at the migration deadline. Example body: {\"token\":\"<token from /c/>\"}.",
|
|
9714
|
+
"http": "POST",
|
|
9715
|
+
"path": "/file/v1/files/{file_id}/content_links:revoke",
|
|
9716
|
+
"streaming": "no",
|
|
9717
|
+
"pagination": false,
|
|
9718
|
+
"pathParams": [
|
|
9719
|
+
{
|
|
9720
|
+
"name": "file_id",
|
|
9721
|
+
"sdkName": "file_id",
|
|
9722
|
+
"description": "Tenant-owned file identifier returned by file creation or listing; the token must name this same file."
|
|
9723
|
+
}
|
|
9724
|
+
],
|
|
9725
|
+
"query": [],
|
|
9726
|
+
"body": {
|
|
9727
|
+
"required": true,
|
|
9728
|
+
"fields": [
|
|
9729
|
+
{
|
|
9730
|
+
"name": "token",
|
|
9731
|
+
"type": "string",
|
|
9732
|
+
"required": true,
|
|
9733
|
+
"description": "Signed token taken from the /c/ path component of a previously issued file content URL, without the host or /c/ prefix."
|
|
9734
|
+
}
|
|
9735
|
+
]
|
|
9736
|
+
}
|
|
9737
|
+
},
|
|
9738
|
+
{
|
|
9739
|
+
"resource": "file.files.contentUrl",
|
|
9740
|
+
"method": "create",
|
|
9741
|
+
"summary": "Create a download URL",
|
|
9742
|
+
"description": "Download a file's bytes to a local disk from a coding agent without sending them through the model. Use file_id from file creation or listing, then run curl -fsSL -o <filename> '<url>' locally with the returned URL; GET needs no Authorization header. The link is reusable until expiry and supports a single byte Range (for example Range: bytes=0-9 returns 206). Revoke it with files.contentLinks.revoke, passing the token after /c/ in the URL. Expired, revoked, invalid or cross-organization URLs return 404. Lifetime defaults to 3600 seconds and is at most 604800 seconds. Issuance requires the same credential and file-read access as files.retrieveContent; a processing file returns 409 FILE_NOT_READY, so poll files.retrieve until active before retrying. A missing, expired or other-organization file returns 404. Each issuance creates a new link. OpenAI Files has no signed download URL; this follows S3 presigned GET semantics. Example body: {\"ttl_seconds\":3600}.",
|
|
9743
|
+
"http": "POST",
|
|
9744
|
+
"path": "/file/v1/files/{file_id}/content_url",
|
|
9745
|
+
"streaming": "no",
|
|
9746
|
+
"pagination": false,
|
|
9747
|
+
"pathParams": [
|
|
9748
|
+
{
|
|
9749
|
+
"name": "file_id",
|
|
9750
|
+
"sdkName": "file_id",
|
|
9751
|
+
"description": "Tenant-owned live file identifier from file creation or listing; the file must be active to issue a download URL."
|
|
9752
|
+
}
|
|
9753
|
+
],
|
|
9754
|
+
"query": [],
|
|
9755
|
+
"body": {
|
|
9756
|
+
"required": false,
|
|
9757
|
+
"fields": [
|
|
9758
|
+
{
|
|
9759
|
+
"name": "ttl_seconds",
|
|
9760
|
+
"type": "integer",
|
|
9761
|
+
"required": false,
|
|
9762
|
+
"description": "Download link lifetime in seconds, from 1 through 604800; omitted means 3600. This does not change the file's own expiry."
|
|
9763
|
+
}
|
|
9764
|
+
]
|
|
9765
|
+
}
|
|
9766
|
+
},
|
|
8370
9767
|
{
|
|
8371
9768
|
"resource": "file.uploads",
|
|
8372
9769
|
"method": "create",
|
|
8373
9770
|
"summary": "Create an upload",
|
|
8374
|
-
"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
|
|
9771
|
+
"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.",
|
|
8375
9772
|
"http": "POST",
|
|
8376
9773
|
"path": "/file/v1/uploads",
|
|
8377
9774
|
"streaming": "no",
|
|
@@ -8404,11 +9801,10 @@ export const operations = [
|
|
|
8404
9801
|
"type": "string",
|
|
8405
9802
|
"enum": [
|
|
8406
9803
|
"user_data",
|
|
8407
|
-
"assistants",
|
|
8408
9804
|
"vision"
|
|
8409
9805
|
],
|
|
8410
9806
|
"required": true,
|
|
8411
|
-
"description": "Use user_data for conversation attachments,
|
|
9807
|
+
"description": "Use user_data for conversation attachments, or vision for PNG, JPEG, GIF and WebP images."
|
|
8412
9808
|
},
|
|
8413
9809
|
{
|
|
8414
9810
|
"name": "expires_after",
|
|
@@ -8425,6 +9821,63 @@ export const operations = [
|
|
|
8425
9821
|
]
|
|
8426
9822
|
}
|
|
8427
9823
|
},
|
|
9824
|
+
{
|
|
9825
|
+
"resource": "file.uploads",
|
|
9826
|
+
"method": "createSigned",
|
|
9827
|
+
"summary": "Create a one-time upload URL",
|
|
9828
|
+
"description": "Upload a local file of up to 2 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes), PUT each chunk to its numbered parts[].url in any order, then POST complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 3600 for multipart, at most 604800; all multipart URLs share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {\"filename\":\"photo.png\",\"bytes\":2048,\"content_type\":\"image/png\"}.",
|
|
9829
|
+
"http": "POST",
|
|
9830
|
+
"path": "/file/v1/uploads/signed",
|
|
9831
|
+
"streaming": "no",
|
|
9832
|
+
"pagination": false,
|
|
9833
|
+
"pathParams": [],
|
|
9834
|
+
"query": [],
|
|
9835
|
+
"body": {
|
|
9836
|
+
"required": true,
|
|
9837
|
+
"fields": [
|
|
9838
|
+
{
|
|
9839
|
+
"name": "filename",
|
|
9840
|
+
"type": "string",
|
|
9841
|
+
"required": true,
|
|
9842
|
+
"description": "Stored basename, 1–255 UTF-8 bytes without control characters or path separators."
|
|
9843
|
+
},
|
|
9844
|
+
{
|
|
9845
|
+
"name": "bytes",
|
|
9846
|
+
"type": "integer",
|
|
9847
|
+
"required": true,
|
|
9848
|
+
"description": "Exact local file size in bytes, from 1 through 2147483648 (2 GiB). Up to 104857600 bytes returns one PUT URL; larger files return numbered part URLs and a completion URL. Every PUT requires its exact signed Content-Length."
|
|
9849
|
+
},
|
|
9850
|
+
{
|
|
9851
|
+
"name": "content_type",
|
|
9852
|
+
"type": "string",
|
|
9853
|
+
"required": true,
|
|
9854
|
+
"description": "Declared MIME type, such as image/png. In single-PUT mode, send exactly this Content-Type or omit it. Stored file metadata is detected from the bytes in both modes."
|
|
9855
|
+
},
|
|
9856
|
+
{
|
|
9857
|
+
"name": "purpose",
|
|
9858
|
+
"type": "string",
|
|
9859
|
+
"enum": [
|
|
9860
|
+
"user_data",
|
|
9861
|
+
"vision"
|
|
9862
|
+
],
|
|
9863
|
+
"required": false,
|
|
9864
|
+
"description": "user_data stores ordinary files and conversation images; vision accepts PNG, JPEG, GIF or WebP images only. Omitted means user_data."
|
|
9865
|
+
},
|
|
9866
|
+
{
|
|
9867
|
+
"name": "expires_in",
|
|
9868
|
+
"type": "integer",
|
|
9869
|
+
"required": false,
|
|
9870
|
+
"description": "Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or 3600 for multipart. All part URLs and the completion URL share one expiry. This does not set the resulting file's lifetime."
|
|
9871
|
+
},
|
|
9872
|
+
{
|
|
9873
|
+
"name": "part_size",
|
|
9874
|
+
"type": "integer",
|
|
9875
|
+
"required": false,
|
|
9876
|
+
"description": "Fixed multipart chunk size in bytes, from 5242880 through 64000000; defaults to 64000000. Used only above 104857600 total bytes. The final part contains the remaining bytes; single-PUT mode keeps its existing response."
|
|
9877
|
+
}
|
|
9878
|
+
]
|
|
9879
|
+
}
|
|
9880
|
+
},
|
|
8428
9881
|
{
|
|
8429
9882
|
"resource": "file.uploads",
|
|
8430
9883
|
"method": "cancel",
|
|
@@ -8571,7 +10024,7 @@ export const operations = [
|
|
|
8571
10024
|
"resource": "knowledge.vectorStores",
|
|
8572
10025
|
"method": "create",
|
|
8573
10026
|
"summary": "Create knowledge base",
|
|
8574
|
-
"description": "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded.
|
|
10027
|
+
"description": "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; each account holds up to 100 active/nondeleted stores. Minimal body: {\"name\":\"Refund policies\"}.",
|
|
8575
10028
|
"http": "POST",
|
|
8576
10029
|
"path": "/knowledge/v1/vector_stores",
|
|
8577
10030
|
"streaming": "no",
|
|
@@ -8622,7 +10075,7 @@ export const operations = [
|
|
|
8622
10075
|
"name": "models",
|
|
8623
10076
|
"type": "object",
|
|
8624
10077
|
"required": false,
|
|
8625
|
-
"description": "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400."
|
|
10078
|
+
"description": "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400."
|
|
8626
10079
|
}
|
|
8627
10080
|
]
|
|
8628
10081
|
}
|
|
@@ -8726,7 +10179,7 @@ export const operations = [
|
|
|
8726
10179
|
"name": "models",
|
|
8727
10180
|
"type": "object",
|
|
8728
10181
|
"required": false,
|
|
8729
|
-
"description": "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400."
|
|
10182
|
+
"description": "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400."
|
|
8730
10183
|
}
|
|
8731
10184
|
]
|
|
8732
10185
|
}
|
|
@@ -8957,7 +10410,7 @@ export const operations = [
|
|
|
8957
10410
|
"resource": "knowledge.vectorStores.files",
|
|
8958
10411
|
"method": "create",
|
|
8959
10412
|
"summary": "Add file",
|
|
8960
|
-
"description": "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching.
|
|
10413
|
+
"description": "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.",
|
|
8961
10414
|
"http": "POST",
|
|
8962
10415
|
"path": "/knowledge/v1/vector_stores/{vector_store_id}/files",
|
|
8963
10416
|
"streaming": "no",
|
|
@@ -9588,7 +11041,7 @@ export const operations = [
|
|
|
9588
11041
|
"name": "overwrite",
|
|
9589
11042
|
"type": "boolean",
|
|
9590
11043
|
"required": false,
|
|
9591
|
-
"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."
|
|
11044
|
+
"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."
|
|
9592
11045
|
},
|
|
9593
11046
|
{
|
|
9594
11047
|
"name": "tags",
|
|
@@ -9619,6 +11072,16 @@ export const operations = [
|
|
|
9619
11072
|
],
|
|
9620
11073
|
"required": false,
|
|
9621
11074
|
"description": "Upload category: image for images, video for video or audio, raw for unprocessed files, or auto to detect the category. Defaults to auto."
|
|
11075
|
+
},
|
|
11076
|
+
{
|
|
11077
|
+
"name": "type",
|
|
11078
|
+
"type": "string",
|
|
11079
|
+
"enum": [
|
|
11080
|
+
"upload",
|
|
11081
|
+
"authenticated"
|
|
11082
|
+
],
|
|
11083
|
+
"required": false,
|
|
11084
|
+
"description": "Asset delivery mode: upload is public; authenticated requires a signed URL or delivery token for originals and derivatives. private is unsupported."
|
|
9622
11085
|
}
|
|
9623
11086
|
]
|
|
9624
11087
|
}
|
|
@@ -9646,7 +11109,8 @@ export const operations = [
|
|
|
9646
11109
|
{
|
|
9647
11110
|
"name": "file_id",
|
|
9648
11111
|
"type": "string",
|
|
9649
|
-
"required": true
|
|
11112
|
+
"required": true,
|
|
11113
|
+
"description": "File ID to copy into this library instead of file bytes. This independent copy defaults to public delivery; set type=authenticated for private delivery. Deleting the source File does not delete this asset."
|
|
9650
11114
|
},
|
|
9651
11115
|
{
|
|
9652
11116
|
"name": "public_id",
|
|
@@ -9700,7 +11164,7 @@ export const operations = [
|
|
|
9700
11164
|
"name": "overwrite",
|
|
9701
11165
|
"type": "boolean",
|
|
9702
11166
|
"required": false,
|
|
9703
|
-
"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."
|
|
11167
|
+
"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."
|
|
9704
11168
|
},
|
|
9705
11169
|
{
|
|
9706
11170
|
"name": "tags",
|
|
@@ -9731,6 +11195,16 @@ export const operations = [
|
|
|
9731
11195
|
],
|
|
9732
11196
|
"required": false,
|
|
9733
11197
|
"description": "Upload category: image for images, video for video or audio, raw for unprocessed files, or auto to detect the category. Defaults to auto."
|
|
11198
|
+
},
|
|
11199
|
+
{
|
|
11200
|
+
"name": "type",
|
|
11201
|
+
"type": "string",
|
|
11202
|
+
"enum": [
|
|
11203
|
+
"upload",
|
|
11204
|
+
"authenticated"
|
|
11205
|
+
],
|
|
11206
|
+
"required": false,
|
|
11207
|
+
"description": "Asset delivery mode: upload is public; authenticated requires a signed URL or delivery token for originals and derivatives. private is unsupported."
|
|
9734
11208
|
}
|
|
9735
11209
|
]
|
|
9736
11210
|
}
|
|
@@ -10011,6 +11485,41 @@ export const operations = [
|
|
|
10011
11485
|
],
|
|
10012
11486
|
"query": []
|
|
10013
11487
|
},
|
|
11488
|
+
{
|
|
11489
|
+
"resource": "media.libraries.deliveryTokens",
|
|
11490
|
+
"method": "create",
|
|
11491
|
+
"summary": "Create delivery token",
|
|
11492
|
+
"description": "Issue a time-limited bearer token for originals and transformed authenticated assets in an active library. Use library_id from library creation or listing; read access is sufficient. Append token as the __cld_token__ query parameter on a matching delivery URL. The default ACL covers this library and the default lifetime is 3600 seconds; narrow acl and expires_in before sharing. Anyone holding the token can read matching paths until expires_at.",
|
|
11493
|
+
"http": "POST",
|
|
11494
|
+
"path": "/media/v1/libraries/{library_id}/delivery_tokens",
|
|
11495
|
+
"streaming": "no",
|
|
11496
|
+
"pagination": false,
|
|
11497
|
+
"pathParams": [
|
|
11498
|
+
{
|
|
11499
|
+
"name": "library_id",
|
|
11500
|
+
"sdkName": "library_id",
|
|
11501
|
+
"description": "Library ID returned by creation."
|
|
11502
|
+
}
|
|
11503
|
+
],
|
|
11504
|
+
"query": [],
|
|
11505
|
+
"body": {
|
|
11506
|
+
"required": true,
|
|
11507
|
+
"fields": [
|
|
11508
|
+
{
|
|
11509
|
+
"name": "acl",
|
|
11510
|
+
"type": "string",
|
|
11511
|
+
"required": false,
|
|
11512
|
+
"description": "Delivery path glob restricted to the library path prefix (a slash, library_id, then a slash). Defaults to that prefix followed by *; * matches any path text. Tildes and control characters are rejected."
|
|
11513
|
+
},
|
|
11514
|
+
{
|
|
11515
|
+
"name": "expires_in",
|
|
11516
|
+
"type": "integer",
|
|
11517
|
+
"required": false,
|
|
11518
|
+
"description": "Token lifetime in seconds, from 1 to 604800 inclusive; defaults to 3600."
|
|
11519
|
+
}
|
|
11520
|
+
]
|
|
11521
|
+
}
|
|
11522
|
+
},
|
|
10014
11523
|
{
|
|
10015
11524
|
"resource": "media.libraries.events",
|
|
10016
11525
|
"method": "list",
|
|
@@ -10217,7 +11726,7 @@ export const operations = [
|
|
|
10217
11726
|
"name": "expression",
|
|
10218
11727
|
"type": "string",
|
|
10219
11728
|
"required": false,
|
|
10220
|
-
"description": "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets."
|
|
11729
|
+
"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."
|
|
10221
11730
|
},
|
|
10222
11731
|
{
|
|
10223
11732
|
"name": "sort_by",
|
|
@@ -10363,6 +11872,70 @@ export const operations = [
|
|
|
10363
11872
|
]
|
|
10364
11873
|
}
|
|
10365
11874
|
},
|
|
11875
|
+
{
|
|
11876
|
+
"resource": "meta.docs",
|
|
11877
|
+
"method": "search",
|
|
11878
|
+
"summary": "Search platform documentation",
|
|
11879
|
+
"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.",
|
|
11880
|
+
"http": "GET",
|
|
11881
|
+
"path": "/meta/v1/docs/search",
|
|
11882
|
+
"streaming": "no",
|
|
11883
|
+
"pagination": false,
|
|
11884
|
+
"pathParams": [],
|
|
11885
|
+
"query": [
|
|
11886
|
+
{
|
|
11887
|
+
"name": "q",
|
|
11888
|
+
"type": "string",
|
|
11889
|
+
"required": true,
|
|
11890
|
+
"description": "Keywords describing the syntax or guide needed, for example export or workflow."
|
|
11891
|
+
},
|
|
11892
|
+
{
|
|
11893
|
+
"name": "limit",
|
|
11894
|
+
"type": "integer",
|
|
11895
|
+
"required": false,
|
|
11896
|
+
"description": "Maximum number of matching pages returned; integer 1–50, default 20."
|
|
11897
|
+
},
|
|
11898
|
+
{
|
|
11899
|
+
"name": "lang",
|
|
11900
|
+
"type": "string",
|
|
11901
|
+
"enum": [
|
|
11902
|
+
"zh",
|
|
11903
|
+
"en"
|
|
11904
|
+
],
|
|
11905
|
+
"required": false,
|
|
11906
|
+
"description": "Documentation language: zh for Chinese (default), en for English."
|
|
11907
|
+
}
|
|
11908
|
+
]
|
|
11909
|
+
},
|
|
11910
|
+
{
|
|
11911
|
+
"resource": "meta.docs",
|
|
11912
|
+
"method": "retrieve",
|
|
11913
|
+
"summary": "Read documentation Markdown",
|
|
11914
|
+
"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.",
|
|
11915
|
+
"http": "GET",
|
|
11916
|
+
"path": "/meta/v1/docs/{path}",
|
|
11917
|
+
"streaming": "no",
|
|
11918
|
+
"pagination": false,
|
|
11919
|
+
"pathParams": [
|
|
11920
|
+
{
|
|
11921
|
+
"name": "path",
|
|
11922
|
+
"sdkName": "path",
|
|
11923
|
+
"description": "Slash-separated documentation path from docs.search; optionally append #heading-id to select a section."
|
|
11924
|
+
}
|
|
11925
|
+
],
|
|
11926
|
+
"query": [
|
|
11927
|
+
{
|
|
11928
|
+
"name": "lang",
|
|
11929
|
+
"type": "string",
|
|
11930
|
+
"enum": [
|
|
11931
|
+
"zh",
|
|
11932
|
+
"en"
|
|
11933
|
+
],
|
|
11934
|
+
"required": false,
|
|
11935
|
+
"description": "Documentation language: zh for Chinese (default), en for English."
|
|
11936
|
+
}
|
|
11937
|
+
]
|
|
11938
|
+
},
|
|
10366
11939
|
{
|
|
10367
11940
|
"resource": "meta.health",
|
|
10368
11941
|
"method": "retrieve",
|
|
@@ -11727,7 +13300,8 @@ export const operations = [
|
|
|
11727
13300
|
"openai.images.edits",
|
|
11728
13301
|
"openai.images.generations",
|
|
11729
13302
|
"openai.responses",
|
|
11730
|
-
"openai.videos"
|
|
13303
|
+
"openai.videos",
|
|
13304
|
+
"typesafe.systemone"
|
|
11731
13305
|
],
|
|
11732
13306
|
"required": false,
|
|
11733
13307
|
"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."
|
|
@@ -12302,6 +13876,47 @@ export const operations = [
|
|
|
12302
13876
|
],
|
|
12303
13877
|
"query": []
|
|
12304
13878
|
},
|
|
13879
|
+
{
|
|
13880
|
+
"resource": "model.systemone",
|
|
13881
|
+
"method": "create",
|
|
13882
|
+
"summary": "Ask structured decision questions",
|
|
13883
|
+
"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.",
|
|
13884
|
+
"http": "POST",
|
|
13885
|
+
"path": "/model/v1/systemone",
|
|
13886
|
+
"streaming": "no",
|
|
13887
|
+
"pagination": false,
|
|
13888
|
+
"pathParams": [],
|
|
13889
|
+
"query": [],
|
|
13890
|
+
"body": {
|
|
13891
|
+
"required": true,
|
|
13892
|
+
"fields": [
|
|
13893
|
+
{
|
|
13894
|
+
"name": "model",
|
|
13895
|
+
"type": "string",
|
|
13896
|
+
"required": true,
|
|
13897
|
+
"description": "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response."
|
|
13898
|
+
},
|
|
13899
|
+
{
|
|
13900
|
+
"name": "state",
|
|
13901
|
+
"type": "object",
|
|
13902
|
+
"required": true,
|
|
13903
|
+
"description": "Shared content evaluated by every question, supplied as text, a JSON object or an array."
|
|
13904
|
+
},
|
|
13905
|
+
{
|
|
13906
|
+
"name": "questions",
|
|
13907
|
+
"type": "object",
|
|
13908
|
+
"required": true,
|
|
13909
|
+
"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."
|
|
13910
|
+
},
|
|
13911
|
+
{
|
|
13912
|
+
"name": "assets",
|
|
13913
|
+
"type": "object",
|
|
13914
|
+
"required": false,
|
|
13915
|
+
"description": "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported."
|
|
13916
|
+
}
|
|
13917
|
+
]
|
|
13918
|
+
}
|
|
13919
|
+
},
|
|
12305
13920
|
{
|
|
12306
13921
|
"resource": "model.videos",
|
|
12307
13922
|
"method": "list",
|
|
@@ -13600,7 +15215,7 @@ export const operations = [
|
|
|
13600
15215
|
"resource": "sandbox.sandboxes.commands",
|
|
13601
15216
|
"method": "run",
|
|
13602
15217
|
"summary": "Run a command in the sandbox",
|
|
13603
|
-
"description": "Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–
|
|
15218
|
+
"description": "Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–3600000 milliseconds, default 600000, that is 10 minutes; E2B defaults to 60000). Unlike E2B, this endpoint is synchronous only: no background mode, callbacks or unlimited timeout (timeoutMs 0); output is bounded to 1 MiB including stream framing. Nonzero exit codes return 200 with the result. A timeout returns COMMAND_TIMEOUT (504); transport timeout does not confirm process termination, so do not blindly retry commands with side effects. Example body: {\"cmd\":\"echo hi\"}.",
|
|
13604
15219
|
"http": "POST",
|
|
13605
15220
|
"path": "/sandbox/v1/sandboxes/{sandbox_id}/commands",
|
|
13606
15221
|
"streaming": "no",
|
|
@@ -13622,6 +15237,12 @@ export const operations = [
|
|
|
13622
15237
|
"required": true,
|
|
13623
15238
|
"description": "Shell command to execute, for example echo hi."
|
|
13624
15239
|
},
|
|
15240
|
+
{
|
|
15241
|
+
"name": "background",
|
|
15242
|
+
"type": "boolean",
|
|
15243
|
+
"required": false,
|
|
15244
|
+
"description": "When true, return 202 with the pid as soon as the process starts; it keeps running after the request ends. Read its status and output with GET /sandbox/v1/sandboxes/{sandbox_id}/commands/{pid}, stop it with DELETE. Same idea as E2B background commands."
|
|
15245
|
+
},
|
|
13625
15246
|
{
|
|
13626
15247
|
"name": "cwd",
|
|
13627
15248
|
"type": "string",
|
|
@@ -13638,7 +15259,7 @@ export const operations = [
|
|
|
13638
15259
|
"name": "timeoutMs",
|
|
13639
15260
|
"type": "integer",
|
|
13640
15261
|
"required": false,
|
|
13641
|
-
"description": "Execution timeout in milliseconds, from 1 to
|
|
15262
|
+
"description": "Execution timeout in milliseconds, from 1 to 3600000 (1 hour); defaults to 600000 (10 minutes). In background mode this limits process runtime; expiry records exit code 124."
|
|
13642
15263
|
}
|
|
13643
15264
|
]
|
|
13644
15265
|
}
|
|
@@ -13837,7 +15458,7 @@ export const operations = [
|
|
|
13837
15458
|
"resource": "sandbox.templates",
|
|
13838
15459
|
"method": "list",
|
|
13839
15460
|
"summary": "List templates (v2)",
|
|
13840
|
-
"description": "List
|
|
15461
|
+
"description": "List official templates and all your custom templates, including waiting, building, ready and error builds. Custom templates appear first; each custom row describes its latest build, not necessarily the current ready build. Use templateID for build management and a ready template name when creating a sandbox. Own-face official distinguishes public catalog entries; sourceKind is omitted until a source is submitted and on official templates. Other organizations' templates are invisible.",
|
|
13841
15462
|
"http": "GET",
|
|
13842
15463
|
"path": "/sandbox/v1/templates",
|
|
13843
15464
|
"streaming": "no",
|
|
@@ -13848,8 +15469,201 @@ export const operations = [
|
|
|
13848
15469
|
"name": "teamID",
|
|
13849
15470
|
"type": "string",
|
|
13850
15471
|
"required": false,
|
|
13851
|
-
"description": "
|
|
15472
|
+
"description": "Upstream team selector; Praxis always lists the authenticated organization's templates."
|
|
15473
|
+
},
|
|
15474
|
+
{
|
|
15475
|
+
"name": "nextToken",
|
|
15476
|
+
"type": "string",
|
|
15477
|
+
"required": false,
|
|
15478
|
+
"description": "Cursor to start the list from"
|
|
13852
15479
|
},
|
|
15480
|
+
{
|
|
15481
|
+
"name": "limit",
|
|
15482
|
+
"type": "integer",
|
|
15483
|
+
"required": false,
|
|
15484
|
+
"description": "Maximum number of items to return per page"
|
|
15485
|
+
}
|
|
15486
|
+
]
|
|
15487
|
+
},
|
|
15488
|
+
{
|
|
15489
|
+
"resource": "sandbox.templates",
|
|
15490
|
+
"method": "create",
|
|
15491
|
+
"summary": "Create template (v3)",
|
|
15492
|
+
"description": "Reserve a waiting build before submitting its source. Reusing a name in your organization allocates a new build on the same template. Returns templateID and buildID; start it with templates.builds.update, then poll templates.builds.status.list. A name:tag suffix and tags are assigned after successful publication. Example: {\"name\":\"my-template\",\"cpuCount\":2,\"memoryMB\":2048}. The own face also accepts diskGb, a positive integer defaulting to 10 GiB.",
|
|
15493
|
+
"http": "POST",
|
|
15494
|
+
"path": "/sandbox/v1/templates",
|
|
15495
|
+
"streaming": "no",
|
|
15496
|
+
"pagination": false,
|
|
15497
|
+
"pathParams": [],
|
|
15498
|
+
"query": [],
|
|
15499
|
+
"body": {
|
|
15500
|
+
"required": true,
|
|
15501
|
+
"fields": [
|
|
15502
|
+
{
|
|
15503
|
+
"name": "name",
|
|
15504
|
+
"type": "string",
|
|
15505
|
+
"required": false,
|
|
15506
|
+
"description": "Name of the template. Can include a tag with colon separator (e.g. \"my-template\" or \"my-template:v1\"). If tag is included, it will be treated as if the tag was provided in the tags array."
|
|
15507
|
+
},
|
|
15508
|
+
{
|
|
15509
|
+
"name": "tags",
|
|
15510
|
+
"type": "array",
|
|
15511
|
+
"itemType": "string",
|
|
15512
|
+
"required": false,
|
|
15513
|
+
"description": "Tags to assign to the template build"
|
|
15514
|
+
},
|
|
15515
|
+
{
|
|
15516
|
+
"name": "alias",
|
|
15517
|
+
"type": "string",
|
|
15518
|
+
"required": false,
|
|
15519
|
+
"description": "Alias of the template. Deprecated, use name instead."
|
|
15520
|
+
},
|
|
15521
|
+
{
|
|
15522
|
+
"name": "teamID",
|
|
15523
|
+
"type": "string",
|
|
15524
|
+
"required": false,
|
|
15525
|
+
"description": "Identifier of the team"
|
|
15526
|
+
},
|
|
15527
|
+
{
|
|
15528
|
+
"name": "cpuCount",
|
|
15529
|
+
"type": "integer",
|
|
15530
|
+
"required": false,
|
|
15531
|
+
"description": "Requested virtual CPU count; a positive integer, default 2 for template builds."
|
|
15532
|
+
},
|
|
15533
|
+
{
|
|
15534
|
+
"name": "memoryMB",
|
|
15535
|
+
"type": "integer",
|
|
15536
|
+
"required": false,
|
|
15537
|
+
"description": "Requested build memory in MiB; a positive integer, default 1024."
|
|
15538
|
+
},
|
|
15539
|
+
{
|
|
15540
|
+
"name": "minFreeDiskMb",
|
|
15541
|
+
"type": "integer",
|
|
15542
|
+
"required": false,
|
|
15543
|
+
"description": "Upstream minimum free disk request in MiB; use the native diskGb field to set the build disk size."
|
|
15544
|
+
},
|
|
15545
|
+
{
|
|
15546
|
+
"name": "diskGb",
|
|
15547
|
+
"type": "integer",
|
|
15548
|
+
"required": false,
|
|
15549
|
+
"description": "Build disk size in GiB, a positive safe integer. Defaults to 10; available only on the own face."
|
|
15550
|
+
}
|
|
15551
|
+
]
|
|
15552
|
+
}
|
|
15553
|
+
},
|
|
15554
|
+
{
|
|
15555
|
+
"resource": "sandbox.templates.aliases",
|
|
15556
|
+
"method": "retrieve",
|
|
15557
|
+
"summary": "Check template alias",
|
|
15558
|
+
"description": "Resolve a name within your organization to its templateID before reading or managing builds. Use the bare template name, without a :tag suffix. Unknown and other-organization names return 404. The response public field is false for your private templates.",
|
|
15559
|
+
"http": "GET",
|
|
15560
|
+
"path": "/sandbox/v1/templates/aliases/{alias}",
|
|
15561
|
+
"streaming": "no",
|
|
15562
|
+
"pagination": false,
|
|
15563
|
+
"pathParams": [
|
|
15564
|
+
{
|
|
15565
|
+
"name": "alias",
|
|
15566
|
+
"sdkName": "alias",
|
|
15567
|
+
"description": "Bare template name belonging to your organization, without a tag or provider namespace."
|
|
15568
|
+
}
|
|
15569
|
+
],
|
|
15570
|
+
"query": []
|
|
15571
|
+
},
|
|
15572
|
+
{
|
|
15573
|
+
"resource": "sandbox.templates.tags",
|
|
15574
|
+
"method": "delete",
|
|
15575
|
+
"summary": "Delete template tags",
|
|
15576
|
+
"description": "Remove the specified tag labels from your template by name, for example {\"name\":\"my-template\",\"tags\":[\"stable\"]}. Builds remain available. Removing default means untagged sandbox creation no longer resolves this template. Unknown or other-organization names return 404. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags.",
|
|
15577
|
+
"http": "DELETE",
|
|
15578
|
+
"path": "/sandbox/v1/templates/tags",
|
|
15579
|
+
"streaming": "no",
|
|
15580
|
+
"pagination": false,
|
|
15581
|
+
"pathParams": [],
|
|
15582
|
+
"query": [],
|
|
15583
|
+
"body": {
|
|
15584
|
+
"required": true,
|
|
15585
|
+
"fields": [
|
|
15586
|
+
{
|
|
15587
|
+
"name": "name",
|
|
15588
|
+
"type": "string",
|
|
15589
|
+
"required": true,
|
|
15590
|
+
"description": "Name of the template"
|
|
15591
|
+
},
|
|
15592
|
+
{
|
|
15593
|
+
"name": "tags",
|
|
15594
|
+
"type": "array",
|
|
15595
|
+
"itemType": "string",
|
|
15596
|
+
"required": true,
|
|
15597
|
+
"description": "Tags to delete"
|
|
15598
|
+
}
|
|
15599
|
+
]
|
|
15600
|
+
}
|
|
15601
|
+
},
|
|
15602
|
+
{
|
|
15603
|
+
"resource": "sandbox.templates.tags",
|
|
15604
|
+
"method": "create",
|
|
15605
|
+
"summary": "Assign template tags",
|
|
15606
|
+
"description": "Assign tags to the ready build selected by target in name:tag format, for example {\"target\":\"my-template:default\",\"tags\":[\"stable\"]}. Names belong to your organization. Tags move an existing label to this build without rebuilding. Obtain available names from templates.list and tags from templates.tags.list. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags. target also accepts name:b<number> to select a ready build by number, for example my-template:b1.",
|
|
15607
|
+
"http": "POST",
|
|
15608
|
+
"path": "/sandbox/v1/templates/tags",
|
|
15609
|
+
"streaming": "no",
|
|
15610
|
+
"pagination": false,
|
|
15611
|
+
"pathParams": [],
|
|
15612
|
+
"query": [],
|
|
15613
|
+
"body": {
|
|
15614
|
+
"required": true,
|
|
15615
|
+
"fields": [
|
|
15616
|
+
{
|
|
15617
|
+
"name": "target",
|
|
15618
|
+
"type": "string",
|
|
15619
|
+
"required": true,
|
|
15620
|
+
"description": "Target template in \"name:tag\" format"
|
|
15621
|
+
},
|
|
15622
|
+
{
|
|
15623
|
+
"name": "tags",
|
|
15624
|
+
"type": "array",
|
|
15625
|
+
"itemType": "string",
|
|
15626
|
+
"required": true,
|
|
15627
|
+
"description": "Tags to assign to the template"
|
|
15628
|
+
}
|
|
15629
|
+
]
|
|
15630
|
+
}
|
|
15631
|
+
},
|
|
15632
|
+
{
|
|
15633
|
+
"resource": "sandbox.templates",
|
|
15634
|
+
"method": "delete",
|
|
15635
|
+
"summary": "Delete template",
|
|
15636
|
+
"description": "Permanently remove your template, its builds and tag assignments using templateID from templates.create. Active instances prevent deletion with 409; terminate them first. Unknown or other-organization IDs return 404. Snapshot IDs use snapshots.delete instead.",
|
|
15637
|
+
"http": "DELETE",
|
|
15638
|
+
"path": "/sandbox/v1/templates/{templateID}",
|
|
15639
|
+
"streaming": "no",
|
|
15640
|
+
"pagination": false,
|
|
15641
|
+
"pathParams": [
|
|
15642
|
+
{
|
|
15643
|
+
"name": "templateID",
|
|
15644
|
+
"sdkName": "templateID",
|
|
15645
|
+
"description": "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle."
|
|
15646
|
+
}
|
|
15647
|
+
],
|
|
15648
|
+
"query": []
|
|
15649
|
+
},
|
|
15650
|
+
{
|
|
15651
|
+
"resource": "sandbox.templates",
|
|
15652
|
+
"method": "retrieve",
|
|
15653
|
+
"summary": "List template builds",
|
|
15654
|
+
"description": "Inspect your template and its newest builds using templateID from templates.create. Build states are waiting, building, ready or error. Use limit and the returned x-next-token header to page builds. Unknown or other-organization templates return 404.",
|
|
15655
|
+
"http": "GET",
|
|
15656
|
+
"path": "/sandbox/v1/templates/{templateID}",
|
|
15657
|
+
"streaming": "no",
|
|
15658
|
+
"pagination": false,
|
|
15659
|
+
"pathParams": [
|
|
15660
|
+
{
|
|
15661
|
+
"name": "templateID",
|
|
15662
|
+
"sdkName": "templateID",
|
|
15663
|
+
"description": "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle."
|
|
15664
|
+
}
|
|
15665
|
+
],
|
|
15666
|
+
"query": [
|
|
13853
15667
|
{
|
|
13854
15668
|
"name": "nextToken",
|
|
13855
15669
|
"type": "string",
|
|
@@ -13864,6 +15678,149 @@ export const operations = [
|
|
|
13864
15678
|
}
|
|
13865
15679
|
]
|
|
13866
15680
|
},
|
|
15681
|
+
{
|
|
15682
|
+
"resource": "sandbox.templates.builds",
|
|
15683
|
+
"method": "update",
|
|
15684
|
+
"summary": "Start template build (v2)",
|
|
15685
|
+
"description": "Submit source for a waiting build returned by templates.create; returns 202 after queueing, not after successful publication. Unlike E2B, COPY is rejected (use RUN curl or git clone), fromTemplate accepts official catalog names only, and plaintext registry credentials are rejected. The own face also accepts dockerfile, mutually exclusive with fromImage/fromTemplate/steps, and fromImageRegistry vault references for nonofficial images. Poll templates.builds.status.list until ready or error. Example: {\"fromImage\":\"node:22\",\"steps\":[{\"type\":\"RUN\",\"args\":[\"echo hello\"]}]}.",
|
|
15686
|
+
"http": "POST",
|
|
15687
|
+
"path": "/sandbox/v1/templates/{templateID}/builds/{buildID}",
|
|
15688
|
+
"streaming": "no",
|
|
15689
|
+
"pagination": false,
|
|
15690
|
+
"pathParams": [
|
|
15691
|
+
{
|
|
15692
|
+
"name": "templateID",
|
|
15693
|
+
"sdkName": "templateID",
|
|
15694
|
+
"description": "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle."
|
|
15695
|
+
},
|
|
15696
|
+
{
|
|
15697
|
+
"name": "buildID",
|
|
15698
|
+
"sdkName": "buildID",
|
|
15699
|
+
"description": "Build identifier returned by templates.create. It must belong to the selected template in your organization."
|
|
15700
|
+
}
|
|
15701
|
+
],
|
|
15702
|
+
"query": [],
|
|
15703
|
+
"body": {
|
|
15704
|
+
"required": true,
|
|
15705
|
+
"fields": [
|
|
15706
|
+
{
|
|
15707
|
+
"name": "fromImage",
|
|
15708
|
+
"type": "string",
|
|
15709
|
+
"required": false,
|
|
15710
|
+
"description": "Image to use as a base for the template build"
|
|
15711
|
+
},
|
|
15712
|
+
{
|
|
15713
|
+
"name": "fromTemplate",
|
|
15714
|
+
"type": "string",
|
|
15715
|
+
"required": false,
|
|
15716
|
+
"description": "Template to use as a base for the template build"
|
|
15717
|
+
},
|
|
15718
|
+
{
|
|
15719
|
+
"name": "fromImageRegistry",
|
|
15720
|
+
"type": "object",
|
|
15721
|
+
"required": false,
|
|
15722
|
+
"description": "Registry authentication. Unlike E2B, only the vault reference variant is accepted; plaintext aws, gcp and registry variants return 400. Cannot be used with official templates."
|
|
15723
|
+
},
|
|
15724
|
+
{
|
|
15725
|
+
"name": "force",
|
|
15726
|
+
"type": "boolean",
|
|
15727
|
+
"required": false,
|
|
15728
|
+
"description": "Whether the whole build should be forced to run regardless of the cache"
|
|
15729
|
+
},
|
|
15730
|
+
{
|
|
15731
|
+
"name": "steps",
|
|
15732
|
+
"type": "array",
|
|
15733
|
+
"itemType": "object",
|
|
15734
|
+
"required": false,
|
|
15735
|
+
"description": "List of steps to execute in the template build"
|
|
15736
|
+
},
|
|
15737
|
+
{
|
|
15738
|
+
"name": "startCmd",
|
|
15739
|
+
"type": "string",
|
|
15740
|
+
"required": false,
|
|
15741
|
+
"description": "Start command to execute in the template after the build"
|
|
15742
|
+
},
|
|
15743
|
+
{
|
|
15744
|
+
"name": "readyCmd",
|
|
15745
|
+
"type": "string",
|
|
15746
|
+
"required": false,
|
|
15747
|
+
"description": "Ready check command to execute in the template after the build"
|
|
15748
|
+
},
|
|
15749
|
+
{
|
|
15750
|
+
"name": "dockerfile",
|
|
15751
|
+
"type": "string",
|
|
15752
|
+
"required": false,
|
|
15753
|
+
"description": "Dockerfile text, at most 64 KiB UTF-8. Mutually exclusive with fromImage, fromTemplate and steps. COPY/ADD are rejected; fetch remote content using RUN. Registry credentials require a nonofficial image in the first FROM."
|
|
15754
|
+
}
|
|
15755
|
+
]
|
|
15756
|
+
}
|
|
15757
|
+
},
|
|
15758
|
+
{
|
|
15759
|
+
"resource": "sandbox.templates.builds.status",
|
|
15760
|
+
"method": "list",
|
|
15761
|
+
"summary": "Template build status",
|
|
15762
|
+
"description": "Poll a build using templateID and buildID from templates.create. waiting means source has not been submitted; building includes queued work; ready permits sandbox creation; error is terminal, with reason when available. logsOffset counts previously read log entries, starting at zero; add logEntries.length after each response. limit is 0–100, default 100. level selects one log level; offsets then count entries at that level. Drain logs until an empty page, including after a terminal status.",
|
|
15763
|
+
"http": "GET",
|
|
15764
|
+
"path": "/sandbox/v1/templates/{templateID}/builds/{buildID}/status",
|
|
15765
|
+
"streaming": "no",
|
|
15766
|
+
"pagination": false,
|
|
15767
|
+
"pathParams": [
|
|
15768
|
+
{
|
|
15769
|
+
"name": "templateID",
|
|
15770
|
+
"sdkName": "templateID",
|
|
15771
|
+
"description": "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle."
|
|
15772
|
+
},
|
|
15773
|
+
{
|
|
15774
|
+
"name": "buildID",
|
|
15775
|
+
"sdkName": "buildID",
|
|
15776
|
+
"description": "Build identifier returned by templates.create. It must belong to the selected template in your organization."
|
|
15777
|
+
}
|
|
15778
|
+
],
|
|
15779
|
+
"query": [
|
|
15780
|
+
{
|
|
15781
|
+
"name": "logsOffset",
|
|
15782
|
+
"type": "integer",
|
|
15783
|
+
"required": false,
|
|
15784
|
+
"description": "Index of the starting build log that should be returned with the template"
|
|
15785
|
+
},
|
|
15786
|
+
{
|
|
15787
|
+
"name": "limit",
|
|
15788
|
+
"type": "integer",
|
|
15789
|
+
"required": false,
|
|
15790
|
+
"description": "Maximum number of logs that should be returned"
|
|
15791
|
+
},
|
|
15792
|
+
{
|
|
15793
|
+
"name": "level",
|
|
15794
|
+
"type": "string",
|
|
15795
|
+
"enum": [
|
|
15796
|
+
"debug",
|
|
15797
|
+
"info",
|
|
15798
|
+
"warn",
|
|
15799
|
+
"error"
|
|
15800
|
+
],
|
|
15801
|
+
"required": false,
|
|
15802
|
+
"description": "Select one exact log severity: debug for diagnostics, info for progress, warn for warnings, error for failures. Offsets count matching entries."
|
|
15803
|
+
}
|
|
15804
|
+
]
|
|
15805
|
+
},
|
|
15806
|
+
{
|
|
15807
|
+
"resource": "sandbox.templates.tags",
|
|
15808
|
+
"method": "list",
|
|
15809
|
+
"summary": "List template tags",
|
|
15810
|
+
"description": "Read the tag-to-build assignments for your template using templateID from templates.create. Only ready builds acquire tags. Use a returned tag with the template name as name:tag when creating a sandbox or assigning additional tags. Foreign IDs return 404.",
|
|
15811
|
+
"http": "GET",
|
|
15812
|
+
"path": "/sandbox/v1/templates/{templateID}/tags",
|
|
15813
|
+
"streaming": "no",
|
|
15814
|
+
"pagination": false,
|
|
15815
|
+
"pathParams": [
|
|
15816
|
+
{
|
|
15817
|
+
"name": "templateID",
|
|
15818
|
+
"sdkName": "templateID",
|
|
15819
|
+
"description": "Template identifier from templates.create or templates.list. Use your organization's templateID, not a provider handle."
|
|
15820
|
+
}
|
|
15821
|
+
],
|
|
15822
|
+
"query": []
|
|
15823
|
+
},
|
|
13867
15824
|
{
|
|
13868
15825
|
"resource": "sandbox.volumes",
|
|
13869
15826
|
"method": "list",
|
|
@@ -15023,7 +16980,7 @@ export const operations = [
|
|
|
15023
16980
|
"resource": "ticket.milestones",
|
|
15024
16981
|
"method": "create",
|
|
15025
16982
|
"summary": "Create or add milestones",
|
|
15026
|
-
"description": "Create or add milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
16983
|
+
"description": "Create or add milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
15027
16984
|
"http": "POST",
|
|
15028
16985
|
"path": "/ticket/v1/milestones",
|
|
15029
16986
|
"streaming": "no",
|
|
@@ -15075,7 +17032,7 @@ export const operations = [
|
|
|
15075
17032
|
"resource": "ticket.milestones",
|
|
15076
17033
|
"method": "delete",
|
|
15077
17034
|
"summary": "Remove milestones",
|
|
15078
|
-
"description": "Remove milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
17035
|
+
"description": "Remove milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
15079
17036
|
"http": "DELETE",
|
|
15080
17037
|
"path": "/ticket/v1/milestones/{number}",
|
|
15081
17038
|
"streaming": "no",
|
|
@@ -15127,7 +17084,7 @@ export const operations = [
|
|
|
15127
17084
|
"resource": "ticket.milestones",
|
|
15128
17085
|
"method": "update",
|
|
15129
17086
|
"summary": "Update milestones",
|
|
15130
|
-
"description": "Update milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result.
|
|
17087
|
+
"description": "Update milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.",
|
|
15131
17088
|
"http": "PATCH",
|
|
15132
17089
|
"path": "/ticket/v1/milestones/{number}",
|
|
15133
17090
|
"streaming": "no",
|
|
@@ -16538,7 +18495,7 @@ export const operations = [
|
|
|
16538
18495
|
"resource": "vault.vaults.secrets",
|
|
16539
18496
|
"method": "create",
|
|
16540
18497
|
"summary": "Create secret",
|
|
16541
|
-
"description": "Store a manually supplied token in an active vault for
|
|
18498
|
+
"description": "Store a manually supplied token in an active vault. Omit allowed_hosts for name-based resolution only; host-based redemption never matches an empty host list. Unlike Anthropic credentials, this native operation takes name and value directly, with optional allowed_hosts and creates only static secrets; use praxis.vault.authorizations.create for OAuth. Its name must be unused by any non-archived secret in that vault; the response contains metadata but never the supplied value. Application praxis_vault_ref bindings declare vault_id and secret (the secret name), but currently return 501; do not copy the value into a plain-text binding or metadata as a substitute.",
|
|
16542
18499
|
"http": "POST",
|
|
16543
18500
|
"path": "/vault/v1/vaults/{vault_id}/secrets",
|
|
16544
18501
|
"streaming": "no",
|
|
@@ -16570,8 +18527,8 @@ export const operations = [
|
|
|
16570
18527
|
"name": "allowed_hosts",
|
|
16571
18528
|
"type": "array",
|
|
16572
18529
|
"itemType": "string",
|
|
16573
|
-
"required":
|
|
16574
|
-
"description": "Allowed destinations for the secret.
|
|
18530
|
+
"required": false,
|
|
18531
|
+
"description": "Allowed destinations for the secret. Omitting allowed_hosts on creation stores an empty list for name-based resolution only: host-based redemption never matches. When supplied, list 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed."
|
|
16575
18532
|
},
|
|
16576
18533
|
{
|
|
16577
18534
|
"name": "description",
|
|
@@ -16595,7 +18552,7 @@ export const operations = [
|
|
|
16595
18552
|
"stripe"
|
|
16596
18553
|
],
|
|
16597
18554
|
"required": false,
|
|
16598
|
-
"description": "Static template ID from List templates. Records metadata.template; name
|
|
18555
|
+
"description": "Static template ID from List templates. Records metadata.template; name and value must still be supplied explicitly; allowed_hosts is optional."
|
|
16599
18556
|
},
|
|
16600
18557
|
{
|
|
16601
18558
|
"name": "kind",
|
|
@@ -16691,7 +18648,7 @@ export const operations = [
|
|
|
16691
18648
|
"type": "array",
|
|
16692
18649
|
"itemType": "string",
|
|
16693
18650
|
"required": false,
|
|
16694
|
-
"description": "Allowed destinations for the secret.
|
|
18651
|
+
"description": "Allowed destinations for the secret. Omitting allowed_hosts on creation stores an empty list for name-based resolution only: host-based redemption never matches. When supplied, list 1–16 bare domain names, dotted-decimal IPv4 addresses or leading *. domain wildcards. A wildcard matches subdomains, not the domain itself. URLs, ports, paths, IPv6, local/private and platform hosts are rejected. Entries are lowercased, one trailing dot is removed, internationalized domains use Punycode, and duplicates are removed."
|
|
16695
18652
|
},
|
|
16696
18653
|
{
|
|
16697
18654
|
"name": "description",
|
|
@@ -16795,7 +18752,7 @@ export const operations = [
|
|
|
16795
18752
|
"resource": "vault.vaults.secrets",
|
|
16796
18753
|
"method": "import",
|
|
16797
18754
|
"summary": "Import secrets",
|
|
16798
|
-
"description": "Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets.",
|
|
18755
|
+
"description": "Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets; if neither shared nor per-line hosts are supplied, new secrets use an empty host list for name-based resolution only.",
|
|
16799
18756
|
"http": "POST",
|
|
16800
18757
|
"path": "/vault/v1/vaults/{vault_id}/secrets:import",
|
|
16801
18758
|
"streaming": "no",
|