{"components":{"parameters":{"Agents.Agent.Search":{"description":"Return results whose name contains this text, case-insensitive.","explode":false,"in":"query","name":"searchName","schema":{"type":"string"}},"Agents.Execution.BatchFilter":{"description":"Only executions started by this batch, an ID from `execution_batches_list`. Rows not yet triggered have no execution yet: list them with `scheduled_executions_list` and `batchId`.","explode":false,"in":"query","name":"batchId","schema":{"$ref":"#/components/schemas/Common.uuid"}},"Agents.Execution.FilterShorthands.createdWithin":{"description":"Filter executions created within this long before now: number-unit pairs with units w, d, h, m, longest first, e.g. 30m, 24h, 7d, 1d12h. Maximum 10 years. Cannot be combined with createdAfter","explode":false,"in":"query","name":"createdWithin","schema":{"$ref":"#/components/schemas/Common.RelativeDuration"}},"Agents.Execution.FilterShorthands.metadata":{"description":"Filter by metadata key=value pairs. Repeat the parameter for several pairs; every pair must match","in":"query","name":"metadata","schema":{"items":{"type":"string"},"type":"array"}},"Agents.Execution.ProfileFilter":{"description":"Filter by login profile IDs (can specify multiple, there is an 'OR' condition applied to these)","in":"query","name":"profileIds","schema":{"items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"}},"Agents.Execution.Search.agentId":{"deprecated":true,"description":"Deprecated: use workflowId. Filter by workflow ID","explode":false,"in":"query","name":"agentId","schema":{"$ref":"#/components/schemas/Common.uuid","x-hidden":true},"x-hidden":true},"Agents.Execution.Search.agentProfileIds":{"deprecated":true,"description":"Deprecated: use profileIds. Filter by agent profile IDs","in":"query","name":"agentProfileIds","schema":{"items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true},"x-hidden":true},"Agents.Execution.Search.createdAfter":{"in":"query","name":"createdAfter","schema":{"format":"date-time","type":"string"}},"Agents.Execution.Search.createdBefore":{"in":"query","name":"createdBefore","schema":{"format":"date-time","type":"string"}},"Agents.Execution.Search.executionId":{"description":"Search by execution ID (partial, case-insensitive match)","explode":false,"in":"query","name":"executionId","schema":{"type":"string"}},"Agents.Execution.Search.hasScriptFailures":{"explode":false,"in":"query","name":"hasScriptFailures","schema":{"type":"boolean"}},"Agents.Execution.Search.humanLabels":{"description":"Filter by human labels (can specify multiple label IDs, there is an 'OR' condition applied to these)","in":"query","name":"humanLabels","schema":{"items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"}},"Agents.Execution.Search.inputsKey":{"description":"Filter by input variable key - must be used together with inputsValue","explode":false,"in":"query","name":"inputsKey","schema":{"type":"string"}},"Agents.Execution.Search.inputsValue":{"description":"Filter by input variable value (partial, case-insensitive match) - must be used together with inputsKey","in":"query","name":"inputsValue","schema":{"type":"string"}},"Agents.Execution.Search.metadataKey":{"description":"Filter by metadata key - must be used together with metadataValue","explode":false,"in":"query","name":"metadataKey","schema":{"type":"string"}},"Agents.Execution.Search.metadataValue":{"description":"Filter by metadata value - must be used together with metadataKey","in":"query","name":"metadataValue","schema":{"type":"string"}},"Agents.Execution.Search.outcomeLabel":{"description":"Filter by execution result outcome (partial, case-insensitive match)","in":"query","name":"outcomeLabel","schema":{"type":"string"}},"Agents.Execution.Search.phase":{"description":"Filter by lifecycle phase, derived from status (can specify multiple, OR across values). Composes with the status filter as AND. pending = queued; active = starting, running, awaiting_confirmation, paused, paused_by_agent; terminal = completed, cancelled, failed.","in":"query","name":"phase","schema":{"items":{"$ref":"#/components/schemas/Agents.Execution.Phase"},"type":"array"}},"Agents.Execution.Search.status":{"description":"Filter by execution status (can specify multiple, there is an 'OR' condition applied to these)","in":"query","name":"status","schema":{"items":{"$ref":"#/components/schemas/Agents.Execution.Status"},"type":"array"}},"Agents.Execution.Search.triggerSource":{"description":"Filter by how the execution was triggered (can specify multiple, there is an 'OR' condition applied to these)","in":"query","name":"triggerSource","schema":{"items":{"enum":["api","ui","schedule","warmup"],"type":"string"},"type":"array"}},"Agents.Execution.Search.workflowVersion":{"explode":false,"in":"query","name":"workflowVersion","schema":{"type":"integer"}},"Agents.Execution.WorkflowFilter":{"explode":false,"in":"query","name":"workflowId","schema":{"$ref":"#/components/schemas/Common.uuid"}},"Agents.Profile.PoolSearch":{"description":"Search pools by name (partial match)","explode":false,"in":"query","name":"searchName","schema":{"type":"string"}},"Agents.Profile.Search":{"description":"Search profiles by name (partial match)","explode":false,"in":"query","name":"searchName","schema":{"type":"string"}},"Agents.Secrets.Search":{"description":"Case-insensitive substring match on the secret name or item key","explode":false,"in":"query","name":"searchName","schema":{"type":"string"}},"Agents.Secrets.TemplateSearch":{"description":"Case-insensitive substring match on the template name","explode":false,"in":"query","name":"searchName","schema":{"type":"string"}},"Agents.Tag.WorkflowTagFilter.tagIds":{"description":"Restrict the results to workflows carrying these tags","in":"query","name":"tagIds","schema":{"items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"}},"Agents.Tag.WorkflowTagFilter.tagMatch":{"description":"How tagIds combine: any (default) or all","explode":false,"in":"query","name":"tagMatch","schema":{"$ref":"#/components/schemas/Agents.Tag.WorkflowTagMatch"}},"Agents.Tag.WorkflowTagFilter.withoutTagGroupId":{"description":"Restrict the results to workflows with no tag in this group. Backs the 'No \u003cgroup\u003e' bucket.","explode":false,"in":"query","name":"withoutTagGroupId","schema":{"$ref":"#/components/schemas/Common.uuid"}},"Common.Pagination.page":{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","type":"integer"}},"Common.Pagination.pageSize":{"explode":false,"in":"query","name":"pageSize","schema":{"default":50,"format":"int32","type":"integer"}}},"schemas":{"Agents.Agent.AvailableTool":{"properties":{"capability":{"type":"string"},"description":{"type":"string"},"isRequired":{"type":"boolean"},"name":{"type":"string"}},"required":["name","description","capability","isRequired"],"type":"object"},"Agents.Agent.AvailableToolsResponse":{"properties":{"tools":{"items":{"$ref":"#/components/schemas/Agents.Agent.AvailableTool"},"type":"array"}},"required":["tools"],"type":"object"},"Agents.Agent.Base":{"properties":{"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"},"organizationId":{"$ref":"#/components/schemas/Common.uuid"},"userId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","name","createdAt","userId"],"type":"object"},"Agents.Agent.ConfirmationHold":{"description":"The node an execution awaiting confirmation holds at","properties":{"nodeId":{"$ref":"#/components/schemas/Common.uuid"},"nodeName":{"type":"string"}},"required":["nodeId","nodeName"],"type":"object"},"Agents.Agent.CreateResponse":{"properties":{"id":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id"],"type":"object"},"Agents.Agent.ExecuteAgentRequest":{"properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use for this execution.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"dynamicData":{"deprecated":true,"description":"Deprecated: Use 'inputs' instead. Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{},"x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"head":{"description":"Run the editable head instead of the published version. Cannot be combined with version.","type":"boolean"},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs (string keys and string values) for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"onCapacityLimit":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.OnCapacityLimit"}],"description":"What to do when the execution cannot start right now because the organisation is at\nits concurrency limit or every profile in the pool is in use. \"reject\" (the default)\nfails the request as today. \"queue\" accepts it: the execution is created in the\n\"queued\" status under the returned ID and starts automatically, oldest first, as\ncapacity frees. Temp files cannot be queued."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use for this execution. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"},"version":{"description":"The version of the workflow to execute. If neither version nor head is provided, the published version is used.","type":"integer"}},"type":"object"},"Agents.Agent.ExecuteAgentResponse":{"properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"},"status":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.Status"}],"description":"The execution's initial status: \"starting\" when it began immediately, \"queued\" when it\nis waiting for capacity (only with onCapacityLimit: \"queue\"). Poll the execution by ID\nto follow it either way."}},"required":["executionId"],"type":"object"},"Agents.Agent.ExecuteAgentSyncRequest":{"description":"Execute-and-wait request parameters","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use for this execution.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"dynamicData":{"deprecated":true,"description":"Deprecated: Use 'inputs' instead. Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{},"x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"head":{"description":"Run the editable head instead of the published version. Cannot be combined with version.","type":"boolean"},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs (string keys and string values) for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"onCapacityLimit":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.OnCapacityLimit"}],"description":"What to do when the execution cannot start right now because the organisation is at\nits concurrency limit or every profile in the pool is in use. \"reject\" (the default)\nfails the request as today. \"queue\" accepts it: the execution is created in the\n\"queued\" status under the returned ID and starts automatically, oldest first, as\ncapacity frees. Temp files cannot be queued."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use for this execution. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"},"timeoutSeconds":{"default":25,"description":"Seconds to wait for the execution to finish before returning 202. Defaults to 25.","maximum":25,"minimum":1,"type":"integer"},"version":{"description":"The version of the workflow to execute. If neither version nor head is provided, the published version is used.","type":"integer"}},"type":"object"},"Agents.Agent.ExecuteAgentSyncResponse":{"properties":{"awaitingConfirmation":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ConfirmationHold"}],"description":"Present when status is awaiting_confirmation: the node the execution holds at. Resume the execution to approve it."},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"executionResult":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.ExecutionResult"}],"description":"Outcome, reasoning and result data. Present on 200 when the execution recorded a result."},"returnReason":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.SyncReturnReason"}],"description":"Why the call returned. After status_change or timed_out, follow the execution with GET /executions/{executionId}/sync. Never repeat an execute call: it starts another execution."},"status":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.Status"}],"description":"The execution's status when the call returned: terminal on 200, the current status on 202"}},"required":["executionId","status","returnReason"],"type":"object"},"Agents.Agent.ExecutionOptions":{"description":"Per-execution runtime options.","properties":{"softTimeoutMins":{"description":"Soft timeout in minutes. When the execution has been running longer than this value, a message is injected on every subsequent step urging the agent to wrap up and produce output. Must be greater than 0 and less than the agent's hard timeout (max_timeout_mins).","minimum":1,"type":"integer"},"variantKey":{"description":"Identifies which variant this execution is for, scoping its shared files and scripts to a per-variant subdirectory under each node's shared folder. It does not change which workflow or version runs. Normalised to a filesystem-safe slug by the server. Requires the workflow to have `variant_mode` enabled, and a variant-mode workflow requires it on every execution.","type":"string"}},"type":"object"},"Agents.Agent.ExternalCreateRequest":{"properties":{"name":{"description":"Name for the new workflow. Characters outside the workflow-name charset (letters, digits, spaces, hyphens) are sanitized server-side — create flows carry defaulted names (templates, prebuilt states) the user never typed, which must not fail validation.","maxLength":100,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The organization the workflow belongs to. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"workflow":{"$ref":"#/components/schemas/Agents.Workflow.ExternalCreateWorkflowRequest"}},"required":["name","workflow"],"type":"object"},"Agents.Agent.OnCapacityLimit":{"description":"Behaviour when the organisation or profile pool has no capacity for the execution","enum":["reject","queue"],"type":"string"},"Agents.Agent.SortField":{"enum":["name","created_at"],"type":"string"},"Agents.Agent.SyncReturnReason":{"description":"Why a wait call returned. ended: the execution completed, failed or was cancelled.\nneeds_person: it is paused, paused_by_agent or awaiting_confirmation and will not\ncontinue without a person.\nstatus_change: its status changed from the one it had when the call began.\ntimed_out: the call stopped waiting before anything changed, normally because\ntimeoutSeconds passed.","enum":["ended","needs_person","status_change","timed_out"],"type":"string"},"Agents.Agent.UpdateRequest":{"properties":{"name":{"description":"New name for the workflow. Letters, digits, spaces, and punctuation excluding _ \u003c \u003e : \" / \\ | ? and *.","maxLength":100,"minLength":1,"pattern":"^[A-Za-z0-9!#$%\u0026'()+,.;=@^`{}\\[\\]~-]+( [A-Za-z0-9!#$%\u0026'()+,.;=@^`{}\\[\\]~-]+)*$","type":"string"}},"type":"object"},"Agents.Context.UserContextResponse":{"properties":{"email":{"type":"string"},"organizations":{"items":{"$ref":"#/components/schemas/Agents.Context.UserOrganization"},"type":"array"},"userId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["userId","email","organizations"],"type":"object"},"Agents.Context.UserOrganization":{"properties":{"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"Agents.Docs.SearchDocsRequest":{"description":"Request to search Asteroid documentation","properties":{"format":{"allOf":[{"$ref":"#/components/schemas/Agents.Docs.SearchDocsReturnFormat"}],"default":"mdx"},"query":{"type":"string"}},"required":["query"],"type":"object"},"Agents.Docs.SearchDocsResponse":{"description":"Response containing documentation search results","properties":{"results":{"items":{"$ref":"#/components/schemas/Agents.Docs.SearchResult"},"type":"array"}},"required":["results"],"type":"object"},"Agents.Docs.SearchDocsReturnFormat":{"description":"How search result content is returned","enum":["mdx","text"],"type":"string"},"Agents.Docs.SearchResult":{"description":"A single documentation search result","properties":{"content":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["title","content"],"type":"object"},"Agents.Execution.APIKeyRef":{"description":"API key reference used for authentication","properties":{"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"Agents.Execution.APITriggerContext":{"description":"API-triggered execution context","properties":{"actor":{"allOf":[{"$ref":"#/components/schemas/Common.Actor"}],"description":"Who started the execution. For an org key, read this and not `runner`: an org key has no user."},"apiKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.APIKeyRef"}],"description":"API key used for authentication (may be hidden for privacy when admin-triggered)"},"runner":{"$ref":"#/components/schemas/Agents.Execution.TriggerRunner"},"source":{"enum":["api"],"type":"string"}},"required":["source","runner"],"type":"object"},"Agents.Execution.ActionName":{"enum":["element_click","element_type","element_select","element_hover","element_drag","element_wait","element_fill_form","element_get_text","element_file_upload","coord_move","coord_click","coord_double_click","coord_triple_click","coord_drag","coord_scroll","nav_to","nav_back","nav_refresh","nav_tabs","nav_close_browser","nav_resize_browser","nav_install_browser","nav_zoom_in","nav_zoom_out","obs_snapshot","obs_snapshot_with_selectors","obs_screenshot","obs_console_messages","obs_network_requests","obs_extract_html","script_eval","script_playwright","script_playwright_llm_vars","script_hybrid_playwright","browser_run_code","browser_press_key","browser_handle_dialog","browser_read_clipboard","browser_solve_captcha","file_list","file_read","file_stage","file_download","file_pdf_save","scratchpad_read","scratchpad_write","scriptpad_run_function","scriptpad_search_replace","scriptpad_read","scriptpad_write","ext_google_sheets_get_data","ext_google_sheets_set_data","ext_get_mail","ext_send_mail","ext_api_call","util_wait_time","util_get_datetime","util_generate_totp_secret","util_send_user_message","agent_query_context","agent_compile_workflow","llm_call","sdk_bash","sdk_read","sdk_write","sdk_edit","sdk_glob","sdk_grep","sdk_skill","handoff_prepare","read_file"],"type":"string"},"Agents.Execution.Activity":{"properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"},"id":{"$ref":"#/components/schemas/Common.uuid"},"payload":{"$ref":"#/components/schemas/Agents.Execution.ActivityPayloadUnion"},"timestamp":{"format":"date-time","type":"string"}},"required":["id","payload","executionId","timestamp"],"type":"object"},"Agents.Execution.ActivityActionCompletedInfo":{"discriminator":{"mapping":{"agent_query_context":"#/components/schemas/Agents.Execution.AgentQueryContextCompletedDetails","browser_run_code":"#/components/schemas/Agents.Execution.BrowserRunCodeCompletedDetails","element_file_upload":"#/components/schemas/Agents.Execution.ElementFileUploadCompletedDetails","ext_api_call":"#/components/schemas/Agents.Execution.ExtApiCallCompletedDetails","ext_get_mail":"#/components/schemas/Agents.Execution.ExtGetMailCompletedDetails","ext_send_mail":"#/components/schemas/Agents.Execution.ExtSendMailCompletedDetails","file_list":"#/components/schemas/Agents.Execution.FileListCompletedDetails","file_read":"#/components/schemas/Agents.Execution.FileReadCompletedDetails","file_stage":"#/components/schemas/Agents.Execution.FileStageCompletedDetails","handoff_prepare":"#/components/schemas/Agents.Execution.HandoffPrepareCompletedDetails","nav_to":"#/components/schemas/Agents.Execution.NavToCompletedDetails","obs_snapshot_with_selectors":"#/components/schemas/Agents.Execution.ObsSnapshotWithSelectorsCompletedDetails","read_file":"#/components/schemas/Agents.Execution.ReadFileCompletedDetails","scratchpad_read":"#/components/schemas/Agents.Execution.ScratchpadReadCompletedDetails","scratchpad_write":"#/components/schemas/Agents.Execution.ScratchpadWriteCompletedDetails","script_eval":"#/components/schemas/Agents.Execution.ScriptEvalCompletedDetails","script_hybrid_playwright":"#/components/schemas/Agents.Execution.ScriptHybridPlaywrightCompletedDetails","script_playwright":"#/components/schemas/Agents.Execution.ScriptPlaywrightCompletedDetails","scriptpad_read":"#/components/schemas/Agents.Execution.ScriptpadReadCompletedDetails","scriptpad_run_function":"#/components/schemas/Agents.Execution.ScriptPadRunFunctionCompletedDetails","scriptpad_search_replace":"#/components/schemas/Agents.Execution.ScriptpadSearchReplaceCompletedDetails","scriptpad_write":"#/components/schemas/Agents.Execution.ScriptpadWriteCompletedDetails","sdk_bash":"#/components/schemas/Agents.Execution.SdkBashCompletedDetails","sdk_edit":"#/components/schemas/Agents.Execution.SdkEditCompletedDetails","sdk_glob":"#/components/schemas/Agents.Execution.SdkGlobCompletedDetails","sdk_grep":"#/components/schemas/Agents.Execution.SdkGrepCompletedDetails","sdk_read":"#/components/schemas/Agents.Execution.SdkReadCompletedDetails","sdk_skill":"#/components/schemas/Agents.Execution.SdkSkillCompletedDetails","sdk_write":"#/components/schemas/Agents.Execution.SdkWriteCompletedDetails","util_get_datetime":"#/components/schemas/Agents.Execution.UtilGetDatetimeCompletedDetails"},"propertyName":"actionName"},"oneOf":[{"$ref":"#/components/schemas/Agents.Execution.ExtApiCallCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScratchpadReadCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScratchpadWriteCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptPlaywrightCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptHybridPlaywrightCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.BrowserRunCodeCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptEvalCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.FileReadCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.FileListCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.FileStageCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ElementFileUploadCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ExtGetMailCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptPadRunFunctionCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadReadCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadWriteCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadSearchReplaceCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ObsSnapshotWithSelectorsCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.UtilGetDatetimeCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.NavToCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.AgentQueryContextCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkBashCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkReadCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkWriteCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkEditCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkGlobCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkGrepCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkSkillCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ReadFileCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.HandoffPrepareCompletedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ExtSendMailCompletedDetails"}],"type":"object"},"Agents.Execution.ActivityActionCompletedPayload":{"properties":{"actionId":{"type":"string"},"actionName":{"$ref":"#/components/schemas/Agents.Execution.ActionName"},"activityType":{"enum":["action_completed"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"duration":{"format":"int64","type":"integer"},"info":{"$ref":"#/components/schemas/Agents.Execution.ActivityActionCompletedInfo"},"message":{"type":"string"}},"required":["activityType","message","actionId","actionName"],"type":"object"},"Agents.Execution.ActivityActionFailedPayload":{"properties":{"actionId":{"type":"string"},"actionName":{"$ref":"#/components/schemas/Agents.Execution.ActionName"},"activityType":{"enum":["action_failed"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"duration":{"format":"int64","type":"integer"},"message":{"type":"string"}},"required":["activityType","message","actionName","actionId"],"type":"object"},"Agents.Execution.ActivityActionStartedInfo":{"discriminator":{"mapping":{"agent_query_context":"#/components/schemas/Agents.Execution.AgentQueryContextStartedDetails","browser_run_code":"#/components/schemas/Agents.Execution.BrowserRunCodeStartedDetails","ext_send_mail":"#/components/schemas/Agents.Execution.ExtSendMailStartedDetails","handoff_prepare":"#/components/schemas/Agents.Execution.HandoffPrepareStartedDetails","llm_call":"#/components/schemas/Agents.Execution.LLMCallStartedDetails","nav_to":"#/components/schemas/Agents.Execution.NavToStartedDetails","read_file":"#/components/schemas/Agents.Execution.ReadFileStartedDetails","scratchpad_read":"#/components/schemas/Agents.Execution.ScratchpadReadStartedDetails","scratchpad_write":"#/components/schemas/Agents.Execution.ScratchpadWriteStartedDetails","script_eval":"#/components/schemas/Agents.Execution.ScriptEvalStartedDetails","script_hybrid_playwright":"#/components/schemas/Agents.Execution.ScriptHybridPlaywrightStartedDetails","script_playwright":"#/components/schemas/Agents.Execution.ScriptPlaywrightStartedDetails","scriptpad_read":"#/components/schemas/Agents.Execution.ScriptpadReadStartedDetails","scriptpad_run_function":"#/components/schemas/Agents.Execution.ScriptpadRunFunctionStartedDetails","scriptpad_search_replace":"#/components/schemas/Agents.Execution.ScriptpadSearchReplaceStartedDetails","sdk_bash":"#/components/schemas/Agents.Execution.SdkBashStartedDetails","sdk_edit":"#/components/schemas/Agents.Execution.SdkEditStartedDetails","sdk_glob":"#/components/schemas/Agents.Execution.SdkGlobStartedDetails","sdk_grep":"#/components/schemas/Agents.Execution.SdkGrepStartedDetails","sdk_read":"#/components/schemas/Agents.Execution.SdkReadStartedDetails","sdk_skill":"#/components/schemas/Agents.Execution.SdkSkillStartedDetails","sdk_write":"#/components/schemas/Agents.Execution.SdkWriteStartedDetails","util_get_datetime":"#/components/schemas/Agents.Execution.UtilGetDatetimeStartedDetails"},"propertyName":"actionName"},"oneOf":[{"$ref":"#/components/schemas/Agents.Execution.NavToStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScratchpadReadStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScratchpadWriteStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadRunFunctionStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptPlaywrightStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptHybridPlaywrightStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.BrowserRunCodeStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptEvalStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadSearchReplaceStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.UtilGetDatetimeStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ScriptpadReadStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.LLMCallStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.AgentQueryContextStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkBashStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkReadStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkWriteStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkEditStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkGlobStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkGrepStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.SdkSkillStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ReadFileStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.HandoffPrepareStartedDetails"},{"$ref":"#/components/schemas/Agents.Execution.ExtSendMailStartedDetails"}],"type":"object"},"Agents.Execution.ActivityActionStartedPayload":{"properties":{"actionId":{"type":"string"},"actionName":{"$ref":"#/components/schemas/Agents.Execution.ActionName"},"activityType":{"enum":["action_started"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"info":{"$ref":"#/components/schemas/Agents.Execution.ActivityActionStartedInfo"},"message":{"type":"string"}},"required":["activityType","message","actionName","actionId"],"type":"object"},"Agents.Execution.ActivityCompactionPerformedPayload":{"properties":{"activityType":{"enum":["compaction_performed"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"durationMs":{"type":"integer"},"summaryTokens":{"type":"integer"}},"required":["activityType","summaryTokens","durationMs"],"type":"object"},"Agents.Execution.ActivityCompactionStartedPayload":{"properties":{"activityType":{"enum":["compaction_started"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"}},"required":["activityType"],"type":"object"},"Agents.Execution.ActivityDisplay":{"properties":{"groupId":{"type":"string"},"presentationLevel":{"$ref":"#/components/schemas/Agents.Execution.ActivityPresentationLevel"},"summaryText":{"type":"string"},"turnId":{"type":"string"}},"type":"object"},"Agents.Execution.ActivityFileAddedPayload":{"properties":{"activityType":{"enum":["file_added"],"type":"string"},"fileId":{"$ref":"#/components/schemas/Common.uuid"},"fileName":{"type":"string"},"fileSize":{"format":"int32","type":"integer"},"mimeType":{"type":"string"},"presignedUrl":{"type":"string"},"source":{"enum":["upload","download","agent"],"type":"string"}},"required":["activityType","fileId","fileName","mimeType","fileSize","source","presignedUrl"],"type":"object"},"Agents.Execution.ActivityGenericPayload":{"properties":{"activityType":{"enum":["generic"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"message":{"type":"string"}},"required":["activityType","message"],"type":"object"},"Agents.Execution.ActivityInputSchemaResolvedPayload":{"properties":{"activityType":{"enum":["input_schema_resolved"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"nodeId":{"$ref":"#/components/schemas/Common.uuid"},"nodeName":{"type":"string"},"properties":{"items":{"type":"string"},"type":"array"},"resolved":{"type":"object","unevaluatedProperties":{}},"resolvedBy":{"type":"object","unevaluatedProperties":{"$ref":"#/components/schemas/Agents.Execution.InputResolutionSource"}}},"required":["activityType","nodeId","nodeName","properties","resolved"],"type":"object"},"Agents.Execution.ActivityOutputSchemaResolvedPayload":{"properties":{"activityType":{"enum":["output_schema_resolved"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"nodeId":{"$ref":"#/components/schemas/Common.uuid"},"nodeName":{"type":"string"},"properties":{"items":{"type":"string"},"type":"array"},"resolved":{"type":"object","unevaluatedProperties":{}},"resolvedBy":{"type":"object","unevaluatedProperties":{"$ref":"#/components/schemas/Agents.Execution.InputResolutionSource"}}},"required":["activityType","nodeId","nodeName","properties","resolved"],"type":"object"},"Agents.Execution.ActivityPayloadUnion":{"discriminator":{"mapping":{"action_completed":"#/components/schemas/Agents.Execution.ActivityActionCompletedPayload","action_failed":"#/components/schemas/Agents.Execution.ActivityActionFailedPayload","action_started":"#/components/schemas/Agents.Execution.ActivityActionStartedPayload","compaction_performed":"#/components/schemas/Agents.Execution.ActivityCompactionPerformedPayload","compaction_started":"#/components/schemas/Agents.Execution.ActivityCompactionStartedPayload","file_added":"#/components/schemas/Agents.Execution.ActivityFileAddedPayload","generic":"#/components/schemas/Agents.Execution.ActivityGenericPayload","input_schema_resolved":"#/components/schemas/Agents.Execution.ActivityInputSchemaResolvedPayload","output_schema_resolved":"#/components/schemas/Agents.Execution.ActivityOutputSchemaResolvedPayload","playwright_script_generated":"#/components/schemas/Agents.Execution.ActivityPlaywrightScriptGeneratedPayload","reasoning":"#/components/schemas/Agents.Execution.ActivityReasoningPayload","script_variables_substituted":"#/components/schemas/Agents.Execution.ActivityScriptVariablesSubstitutedPayload","status_changed":"#/components/schemas/Agents.Execution.ActivityStatusChangedPayload","step_completed":"#/components/schemas/Agents.Execution.ActivityStepCompletedPayload","step_started":"#/components/schemas/Agents.Execution.ActivityStepStartedPayload","terminal":"#/components/schemas/Agents.Execution.TerminalPayload","todos_updated":"#/components/schemas/Agents.Execution.ActivityTodosUpdatedPayload","transitioned_node":"#/components/schemas/Agents.Execution.ActivityTransitionedNodePayload","user_message_received":"#/components/schemas/Agents.Execution.ActivityUserMessageReceivedPayload"},"propertyName":"activityType"},"oneOf":[{"$ref":"#/components/schemas/Agents.Execution.TerminalPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityGenericPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityReasoningPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityCompactionStartedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityCompactionPerformedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityStepStartedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityStepCompletedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityTransitionedNodePayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityStatusChangedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityActionStartedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityActionCompletedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityActionFailedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityUserMessageReceivedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityFileAddedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityPlaywrightScriptGeneratedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityScriptVariablesSubstitutedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityInputSchemaResolvedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityOutputSchemaResolvedPayload"},{"$ref":"#/components/schemas/Agents.Execution.ActivityTodosUpdatedPayload"}],"type":"object"},"Agents.Execution.ActivityPlaywrightScriptGeneratedPayload":{"properties":{"activityType":{"enum":["playwright_script_generated"],"type":"string"},"context":{"type":"string"},"llmVars":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVar"},"type":"array"},"nodeId":{"$ref":"#/components/schemas/Common.uuid"},"nodeName":{"type":"string"},"oldScript":{"type":"string"},"script":{"type":"string"}},"required":["activityType","nodeId","nodeName","script","context"],"type":"object"},"Agents.Execution.ActivityPresentationLevel":{"enum":["primary","secondary","system"],"type":"string"},"Agents.Execution.ActivityReasoningPayload":{"properties":{"activityType":{"enum":["reasoning"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"reasoning":{"type":"string"}},"required":["activityType","reasoning"],"type":"object"},"Agents.Execution.ActivityScriptVariablesSubstitutedPayload":{"properties":{"activityType":{"enum":["script_variables_substituted"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"nodeId":{"$ref":"#/components/schemas/Common.uuid"},"nodeName":{"type":"string"},"placeholders":{"items":{"type":"string"},"type":"array"},"scriptFileName":{"type":"string"},"substituted":{"type":"boolean"},"variables":{"type":"object","unevaluatedProperties":{"type":"string"}}},"required":["activityType","nodeId","nodeName","scriptFileName","placeholders","variables","substituted"],"type":"object"},"Agents.Execution.ActivityStatusChangedPayload":{"properties":{"activityType":{"enum":["status_changed"],"type":"string"},"awaitingConfirmationPayload":{"$ref":"#/components/schemas/Agents.Execution.AwaitingConfirmationPayload"},"cancelledPayload":{"$ref":"#/components/schemas/Agents.Execution.CancelledPayload"},"completedPayload":{"$ref":"#/components/schemas/Agents.Execution.CompletedPayload"},"failedPayload":{"$ref":"#/components/schemas/Agents.Execution.FailedPayload"},"pausedPayload":{"$ref":"#/components/schemas/Agents.Execution.PausedPayload"},"status":{"$ref":"#/components/schemas/Agents.Execution.Status"}},"required":["activityType","status"],"type":"object"},"Agents.Execution.ActivityStepCompletedPayload":{"properties":{"activityType":{"enum":["step_completed"],"type":"string"},"stepNumber":{"format":"int64","type":"integer"}},"required":["activityType","stepNumber"],"type":"object"},"Agents.Execution.ActivityStepStartedPayload":{"properties":{"activityType":{"enum":["step_started"],"type":"string"},"stepNumber":{"format":"int64","type":"integer"}},"required":["activityType","stepNumber"],"type":"object"},"Agents.Execution.ActivityTodosUpdatedPayload":{"properties":{"activityType":{"enum":["todos_updated"],"type":"string"},"display":{"$ref":"#/components/schemas/Agents.Execution.ActivityDisplay"},"todos":{"items":{"$ref":"#/components/schemas/Agents.Execution.Todo"},"type":"array"}},"required":["activityType","todos"],"type":"object"},"Agents.Execution.ActivityTransitionedNodePayload":{"properties":{"activityType":{"enum":["transitioned_node"],"type":"string"},"fromNodeDuration":{"format":"int32","type":"integer"},"fromNodeOutput":{"description":"Output variables provided by the from node","items":{"$ref":"#/components/schemas/Agents.Execution.NodeOutputItem"},"type":"array"},"fromNodeSummary":{"description":"A summary of the work done in the previous node","type":"string"},"newNodeExecutionMode":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.NodeExecutionMode"}],"description":"How an iris node runs. Absent for other node types and for older activities."},"newNodeName":{"type":"string"},"newNodeType":{"type":"string"},"newNodeUUID":{"$ref":"#/components/schemas/Common.uuid"},"transitionType":{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.TransitionType"}},"required":["activityType","newNodeUUID","newNodeName","newNodeType"],"type":"object"},"Agents.Execution.ActivityUserMessageReceivedPayload":{"properties":{"activityType":{"enum":["user_message_received"],"type":"string"},"message":{"type":"string"},"userUUID":{"$ref":"#/components/schemas/Common.uuid"}},"required":["activityType","message","userUUID"],"type":"object"},"Agents.Execution.AgentQueryContextCompletedDetails":{"properties":{"actionName":{"enum":["agent_query_context"],"type":"string"},"answer":{"type":"string"},"query":{"type":"string"}},"required":["actionName","query","answer"],"type":"object"},"Agents.Execution.AgentQueryContextStartedDetails":{"properties":{"actionName":{"enum":["agent_query_context"],"type":"string"},"query":{"type":"string"}},"required":["actionName","query"],"type":"object"},"Agents.Execution.AskUserQuestion":{"properties":{"questions":{"items":{"$ref":"#/components/schemas/Agents.Execution.QuestionItem"},"type":"array"}},"required":["questions"],"type":"object"},"Agents.Execution.AwaitingConfirmationPayload":{"properties":{"reason":{"type":"string"}},"required":["reason"],"type":"object"},"Agents.Execution.BrowserRunCodeCompletedDetails":{"properties":{"actionName":{"enum":["browser_run_code"],"type":"string"},"consoleLogs":{"items":{"type":"string"},"type":"array"},"failedLine":{"type":"integer"},"result":{"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success","result","consoleLogs"],"type":"object"},"Agents.Execution.BrowserRunCodeStartedDetails":{"properties":{"actionName":{"enum":["browser_run_code"],"type":"string"},"code":{"type":"string"}},"required":["actionName","code"],"type":"object"},"Agents.Execution.CancelReason":{"enum":["timeout","max_steps","user_requested","script_failed","no_activity","budget_exceeded","no_warm_environment","worker_lost"],"type":"string"},"Agents.Execution.CancelledPayload":{"properties":{"reason":{"$ref":"#/components/schemas/Agents.Execution.CancelReason"}},"required":["reason"],"type":"object"},"Agents.Execution.Comment":{"description":"User comment on an execution","properties":{"content":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"id":{"$ref":"#/components/schemas/Common.uuid"},"public":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"},"userId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"User who created the comment"}},"required":["id","executionId","userId","content","public","createdAt"],"type":"object"},"Agents.Execution.CompletedPayload":{"properties":{"outcome":{"type":"string"},"reasoning":{"type":"string"},"result":{}},"required":["outcome","reasoning","result"],"type":"object"},"Agents.Execution.ElementFileUploadCompletedDetails":{"properties":{"actionName":{"enum":["element_file_upload"],"type":"string"},"fileNames":{"items":{"type":"string"},"type":"array"}},"required":["actionName","fileNames"],"type":"object"},"Agents.Execution.ExecutionResult":{"description":"Execution result containing outcome, reasoning, and result data","properties":{"createdAt":{"format":"date-time","type":"string"},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"id":{"$ref":"#/components/schemas/Common.uuid"},"outcome":{"description":"Outcome of the execution (success or failure)","type":"string"},"reasoning":{"type":"string"},"result":{}},"required":["id","executionId","outcome","reasoning","result","createdAt"],"type":"object"},"Agents.Execution.ExecutionStatusChange":{"description":"The status an execution was moved to","properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"},"status":{"$ref":"#/components/schemas/Agents.Execution.UpdateableStatus"}},"required":["executionId","status"],"type":"object"},"Agents.Execution.ExtApiCallCompletedDetails":{"properties":{"actionName":{"enum":["ext_api_call"],"type":"string"},"requestMethod":{"type":"string"},"requestUrl":{"type":"string"},"responseBody":{"type":"string"},"statusCode":{"type":"string"}},"required":["actionName","statusCode","responseBody"],"type":"object"},"Agents.Execution.ExtGetMailCompletedDetails":{"properties":{"actionName":{"enum":["ext_get_mail"],"type":"string"},"emailCount":{"format":"int32","type":"integer"},"emails":{"items":{},"type":"array"}},"required":["actionName","emailCount","emails"],"type":"object"},"Agents.Execution.ExtSendMailCompletedDetails":{"properties":{"actionName":{"enum":["ext_send_mail"],"type":"string"},"emailId":{"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success"],"type":"object"},"Agents.Execution.ExtSendMailStartedDetails":{"properties":{"actionName":{"enum":["ext_send_mail"],"type":"string"},"bcc":{"items":{"type":"string"},"type":"array"},"bodyPreview":{"type":"string"},"cc":{"items":{"type":"string"},"type":"array"},"subject":{"type":"string"},"to":{"items":{"type":"string"},"type":"array"}},"required":["actionName","to","subject"],"type":"object"},"Agents.Execution.FailedPayload":{"properties":{"os_error":{"$ref":"#/components/schemas/Common.OSError"},"reason":{"type":"string"}},"required":["reason"],"type":"object"},"Agents.Execution.FileListCompletedDetails":{"properties":{"actionName":{"enum":["file_list"],"type":"string"},"fileNames":{"items":{"type":"string"},"type":"array"}},"required":["actionName","fileNames"],"type":"object"},"Agents.Execution.FileReadCompletedDetails":{"properties":{"actionName":{"enum":["file_read"],"type":"string"},"errorCount":{"format":"int32","type":"integer"},"fileNames":{"items":{"type":"string"},"type":"array"},"totalSizeBytes":{"format":"int64","type":"integer"}},"required":["actionName","fileNames"],"type":"object"},"Agents.Execution.FileStageCompletedDetails":{"properties":{"actionName":{"enum":["file_stage"],"type":"string"},"fileNames":{"items":{"type":"string"},"type":"array"}},"required":["actionName","fileNames"],"type":"object"},"Agents.Execution.HandoffPrepareCompletedDetails":{"properties":{"actionName":{"enum":["handoff_prepare"],"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success"],"type":"object"},"Agents.Execution.HandoffPrepareStartedDetails":{"properties":{"actionName":{"enum":["handoff_prepare"],"type":"string"},"summary":{"type":"string"},"target":{"type":"string"},"variables":{"items":{"$ref":"#/components/schemas/Agents.Execution.HandoffPrepareVariable"},"type":"array"}},"required":["actionName"],"type":"object"},"Agents.Execution.HandoffPrepareVariable":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"Agents.Execution.HumanLabel":{"description":"Human-applied label for categorizing executions","properties":{"color":{"description":"Hex color code for the label (e.g., #FF5733)","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"},"organizationId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","organizationId","name","color","createdAt"],"type":"object"},"Agents.Execution.InputResolutionSource":{"enum":["workflow_input","node_output","llm"],"type":"string"},"Agents.Execution.LLMCallPurpose":{"enum":["iris_pick_next_action","transition_pick_next_node","output_populate_result","generate_hybrid_playwright_code","generate_playwright_variables"],"type":"string"},"Agents.Execution.LLMCallStartedDetails":{"properties":{"actionName":{"enum":["llm_call"],"type":"string"},"purpose":{"$ref":"#/components/schemas/Agents.Execution.LLMCallPurpose"}},"required":["actionName","purpose"],"type":"object"},"Agents.Execution.ListItem":{"description":"Represents a single execution in a list view","properties":{"agentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use workflowId. The ID of the workflow that was executed","x-hidden":true},"agentName":{"deprecated":true,"description":"Deprecated: use workflowName. The workflow display name","type":"string"},"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile used for this execution (if any)","x-hidden":true},"agentProfileName":{"deprecated":true,"description":"Deprecated: use profileName. The name of the agent profile used for this execution (if any)","type":"string","x-hidden":true},"browserLiveViewUrl":{"deprecated":true,"description":"Deprecated: Use 'liveViewUrl' instead.","type":"string"},"browserRecordingUrl":{"deprecated":true,"description":"Deprecated: Use 'recordingUrl' instead.","type":"string"},"comments":{"items":{"$ref":"#/components/schemas/Agents.Execution.Comment"},"type":"array"},"createdAt":{"format":"date-time","type":"string"},"customEnvironmentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Custom environment the workflow version boots from. Absent when the version binds none or no longer exists."},"duration":{"description":"Execution duration in seconds (only present for terminal executions)","format":"double","type":"number"},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options (e.g. variant key)"},"executionResult":{"$ref":"#/components/schemas/Agents.Execution.ExecutionResult"},"hasBeenRerun":{"type":"boolean"},"humanLabels":{"items":{"$ref":"#/components/schemas/Agents.Execution.HumanLabel"},"type":"array"},"id":{"$ref":"#/components/schemas/Common.uuid"},"inputs":{"type":"object","unevaluatedProperties":{}},"liveViewUrl":{"description":"Live view URL for debugging (if an environment is active and execution is running)","type":"string"},"metadata":{"type":"object","unevaluatedProperties":{"type":"string"}},"organizationId":{"$ref":"#/components/schemas/Common.uuid"},"parentExecutionId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"ID of the execution this was rerun from, if applicable"},"platformUrl":{"description":"Deep link to this execution in the Asteroid platform UI","type":"string"},"profileId":{"$ref":"#/components/schemas/Common.uuid"},"profileName":{"type":"string"},"purgedAt":{"description":"When the retention purge removed this execution's data. Inputs, activities, files and recordings are gone; the row is a tombstone.","format":"date-time","type":"string","x-hidden":true},"recordingUrl":{"description":"Recording URL for playback (if an environment was used and execution is terminal)","type":"string"},"scriptFailures":{"description":"Script failures recorded for this execution (omitted when none occurred)","items":{"$ref":"#/components/schemas/Agents.Execution.ScriptFailure"},"type":"array"},"startedAt":{"description":"When the execution actually started running; absent while queued. createdAt means \"enqueued at\" for executions that waited in the queue.","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/Agents.Execution.Status"},"terminalAt":{"format":"date-time","type":"string"},"triggerContext":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.TriggerContext"}],"description":"Context about how and by whom this execution was triggered (discriminated by source)"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"},"workflowName":{"type":"string"},"workflowVersion":{"description":"Version number of workflowVersionId. Absent when the version no longer exists.","format":"int32","type":"integer"},"workflowVersionId":{"$ref":"#/components/schemas/Common.uuid"},"workflowVersionPublished":{"description":"Whether workflowVersionId is currently published. Absent when the version no longer exists.","type":"boolean"}},"required":["id","agentId","workflowId","workflowVersionId","status","createdAt","organizationId","agentName","workflowName","humanLabels","comments","hasBeenRerun"],"type":"object"},"Agents.Execution.NavToCompletedDetails":{"properties":{"actionName":{"enum":["nav_to"],"type":"string"},"pageTitle":{"type":"string"}},"required":["actionName"],"type":"object"},"Agents.Execution.NavToStartedDetails":{"properties":{"actionName":{"enum":["nav_to"],"type":"string"},"url":{"type":"string"}},"required":["actionName","url"],"type":"object"},"Agents.Execution.NodeExecutionMode":{"description":"How an iris node runs: scripted when it has a script, else default","enum":["scripted","default"],"type":"string"},"Agents.Execution.NodeOutputItem":{"description":"A single output variable with a name and value","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"Agents.Execution.ObsSnapshotWithSelectorsCompletedDetails":{"properties":{"actionName":{"enum":["obs_snapshot_with_selectors"],"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["actionName","url","title"],"type":"object"},"Agents.Execution.PausedPayload":{"properties":{"question":{"$ref":"#/components/schemas/Agents.Execution.AskUserQuestion"},"reason":{"type":"string"}},"required":["reason"],"type":"object"},"Agents.Execution.Phase":{"description":"Execution lifecycle phase, derived from status. Every status belongs to exactly one phase.","enum":["pending","active","terminal"],"type":"string"},"Agents.Execution.QuestionItem":{"properties":{"header":{"type":"string"},"multiSelect":{"type":"boolean"},"options":{"items":{"$ref":"#/components/schemas/Agents.Execution.QuestionOption"},"type":"array"},"question":{"type":"string"}},"required":["question","header","options"],"type":"object"},"Agents.Execution.QuestionOption":{"properties":{"description":{"type":"string"},"label":{"type":"string"}},"required":["label","description"],"type":"object"},"Agents.Execution.ReadFileCompletedDetails":{"properties":{"actionName":{"enum":["read_file"],"type":"string"},"content":{"type":"string"},"contentType":{"enum":["image","document","text","unknown"],"type":"string"},"mimeType":{"type":"string"}},"required":["actionName","contentType"],"type":"object"},"Agents.Execution.ReadFileStartedDetails":{"properties":{"actionName":{"enum":["read_file"],"type":"string"},"filePath":{"type":"string"}},"required":["actionName","filePath"],"type":"object"},"Agents.Execution.RerunExecutionRequest":{"description":"Values that replace the ones copied from the original execution","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use.","x-hidden":true},"inputs":{"description":"Input variables for the new execution. Replaces the original inputs when set.","type":"object","unevaluatedProperties":{}},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use. Replaces the original profile when set."}},"type":"object"},"Agents.Execution.ScheduleRef":{"description":"Schedule reference for schedule-triggered executions","properties":{"cronExpression":{"description":"Cron expression of the schedule","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","cronExpression"],"type":"object"},"Agents.Execution.ScheduleTriggerContext":{"description":"Schedule-triggered execution context","properties":{"schedule":{"$ref":"#/components/schemas/Agents.Execution.ScheduleRef"},"source":{"enum":["schedule"],"type":"string"}},"required":["source","schedule"],"type":"object"},"Agents.Execution.ScratchpadReadCompletedDetails":{"properties":{"actionName":{"enum":["scratchpad_read"],"type":"string"},"content":{"type":"string"},"contentTruncated":{"type":"boolean"}},"required":["actionName"],"type":"object"},"Agents.Execution.ScratchpadReadStartedDetails":{"properties":{"actionName":{"enum":["scratchpad_read"],"type":"string"},"operation":{"enum":["read"],"type":"string"}},"required":["actionName","operation"],"type":"object"},"Agents.Execution.ScratchpadWriteCompletedDetails":{"properties":{"actionName":{"enum":["scratchpad_write"],"type":"string"},"content":{"type":"string"},"contentTruncated":{"type":"boolean"},"linesChanged":{"format":"int32","type":"integer"},"patchesApplied":{"format":"int32","type":"integer"},"totalLines":{"format":"int32","type":"integer"}},"required":["actionName","linesChanged","totalLines","patchesApplied"],"type":"object"},"Agents.Execution.ScratchpadWriteStartedDetails":{"properties":{"actionName":{"enum":["scratchpad_write"],"type":"string"},"operation":{"enum":["write"],"type":"string"}},"required":["actionName","operation"],"type":"object"},"Agents.Execution.ScriptEvalCompletedDetails":{"properties":{"actionName":{"enum":["script_eval"],"type":"string"},"result":{}},"required":["actionName","result"],"type":"object"},"Agents.Execution.ScriptEvalStartedDetails":{"properties":{"actionName":{"enum":["script_eval"],"type":"string"},"element":{"type":"string"},"function":{"type":"string"},"ref":{"type":"string"}},"required":["actionName","function"],"type":"object"},"Agents.Execution.ScriptFailure":{"description":"A single failed run of a scripted iris node's script","properties":{"actionId":{"description":"Identifier correlating this failure to its activity event","type":"string"},"error":{"type":"string"},"failedLine":{"description":"1-based line number where the script failed, if known","format":"int32","type":"integer"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"occurredAt":{"format":"date-time","type":"string"},"scriptFilepath":{"description":"Relative path of the script file that failed","type":"string"},"step":{"description":"Execution step (iteration) at which the failure occurred","format":"int32","type":"integer"}},"required":["occurredAt"],"type":"object"},"Agents.Execution.ScriptHybridPlaywrightCompletedDetails":{"properties":{"actionName":{"enum":["script_hybrid_playwright"],"type":"string"},"consoleLogs":{"items":{"type":"string"},"type":"array"},"failedLine":{"type":"integer"},"result":{"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success","result","consoleLogs"],"type":"object"},"Agents.Execution.ScriptHybridPlaywrightStartedDetails":{"properties":{"actionName":{"enum":["script_hybrid_playwright"],"type":"string"},"llmVars":{"items":{"type":"string"},"type":"array"}},"required":["actionName"],"type":"object"},"Agents.Execution.ScriptPadRunFunctionCompletedDetails":{"properties":{"actionName":{"enum":["scriptpad_run_function"],"type":"string"},"consoleLogs":{"items":{"type":"string"},"type":"array"},"failedLine":{"type":"integer"},"result":{"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success","result","consoleLogs"],"type":"object"},"Agents.Execution.ScriptPlaywrightCompletedDetails":{"properties":{"actionName":{"enum":["script_playwright"],"type":"string"},"consoleLogs":{"items":{"type":"string"},"type":"array"},"failedLine":{"type":"integer"},"result":{"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success","result","consoleLogs"],"type":"object"},"Agents.Execution.ScriptPlaywrightStartedDetails":{"properties":{"actionName":{"enum":["script_playwright"],"type":"string"},"llmVars":{"items":{"type":"string"},"type":"array"}},"required":["actionName"],"type":"object"},"Agents.Execution.ScriptpadReadCompletedDetails":{"properties":{"actionName":{"enum":["scriptpad_read"],"type":"string"},"content":{"type":"string"}},"required":["actionName","content"],"type":"object"},"Agents.Execution.ScriptpadReadStartedDetails":{"properties":{"actionName":{"enum":["scriptpad_read"],"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["actionName","offset","limit"],"type":"object"},"Agents.Execution.ScriptpadRunFunctionStartedDetails":{"properties":{"actionName":{"enum":["scriptpad_run_function"],"type":"string"},"arguments":{},"functionName":{"type":"string"}},"required":["actionName","functionName","arguments"],"type":"object"},"Agents.Execution.ScriptpadSearchReplaceCompletedDetails":{"properties":{"actionName":{"enum":["scriptpad_search_replace"],"type":"string"},"linesReplaced":{"type":"integer"},"linesReplacedWith":{"type":"integer"},"newScriptpad":{"type":"string"},"newTotalLines":{"type":"integer"},"oldScriptpad":{"type":"string"},"oldTotalLines":{"type":"integer"}},"required":["actionName","linesReplaced","linesReplacedWith","oldTotalLines","newTotalLines"],"type":"object"},"Agents.Execution.ScriptpadSearchReplaceStartedDetails":{"properties":{"actionName":{"enum":["scriptpad_search_replace"],"type":"string"},"replace":{"type":"string"},"replaceAll":{"type":"boolean"},"search":{"type":"string"}},"required":["actionName","search","replace","replaceAll"],"type":"object"},"Agents.Execution.ScriptpadWriteCompletedDetails":{"properties":{"actionName":{"enum":["scriptpad_write"],"type":"string"},"linesChanged":{"format":"int32","type":"integer"},"patchesApplied":{"format":"int32","type":"integer"},"scriptpad":{"type":"string"},"totalLines":{"format":"int32","type":"integer"}},"required":["actionName","linesChanged","totalLines","patchesApplied"],"type":"object"},"Agents.Execution.SdkBashCompletedDetails":{"properties":{"actionName":{"enum":["sdk_bash"],"type":"string"},"exitCode":{"format":"int32","type":"integer"},"output":{"type":"string"}},"required":["actionName","output"],"type":"object"},"Agents.Execution.SdkBashStartedDetails":{"properties":{"actionName":{"enum":["sdk_bash"],"type":"string"},"command":{"type":"string"},"description":{"type":"string"}},"required":["actionName","command"],"type":"object"},"Agents.Execution.SdkEditCompletedDetails":{"properties":{"actionName":{"enum":["sdk_edit"],"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success"],"type":"object"},"Agents.Execution.SdkEditStartedDetails":{"properties":{"actionName":{"enum":["sdk_edit"],"type":"string"},"filePath":{"type":"string"},"newString":{"type":"string"},"oldString":{"type":"string"},"replaceAll":{"type":"boolean"}},"required":["actionName","filePath","oldString","newString"],"type":"object"},"Agents.Execution.SdkGlobCompletedDetails":{"properties":{"actionName":{"enum":["sdk_glob"],"type":"string"},"files":{"items":{"type":"string"},"type":"array"}},"required":["actionName","files"],"type":"object"},"Agents.Execution.SdkGlobStartedDetails":{"properties":{"actionName":{"enum":["sdk_glob"],"type":"string"},"path":{"type":"string"},"pattern":{"type":"string"}},"required":["actionName","pattern"],"type":"object"},"Agents.Execution.SdkGrepCompletedDetails":{"properties":{"actionName":{"enum":["sdk_grep"],"type":"string"},"output":{"type":"string"},"outputMode":{"type":"string"}},"required":["actionName","output"],"type":"object"},"Agents.Execution.SdkGrepStartedDetails":{"properties":{"actionName":{"enum":["sdk_grep"],"type":"string"},"glob":{"type":"string"},"outputMode":{"type":"string"},"path":{"type":"string"},"pattern":{"type":"string"}},"required":["actionName","pattern"],"type":"object"},"Agents.Execution.SdkReadCompletedDetails":{"properties":{"actionName":{"enum":["sdk_read"],"type":"string"},"content":{"type":"string"}},"required":["actionName","content"],"type":"object"},"Agents.Execution.SdkReadStartedDetails":{"properties":{"actionName":{"enum":["sdk_read"],"type":"string"},"filePath":{"type":"string"},"limit":{"format":"int32","type":"integer"},"offset":{"format":"int32","type":"integer"}},"required":["actionName","filePath"],"type":"object"},"Agents.Execution.SdkSkillCompletedDetails":{"properties":{"actionName":{"enum":["sdk_skill"],"type":"string"},"output":{"type":"string"}},"required":["actionName"],"type":"object"},"Agents.Execution.SdkSkillStartedDetails":{"properties":{"actionName":{"enum":["sdk_skill"],"type":"string"},"args":{"type":"string"},"skill":{"type":"string"}},"required":["actionName","skill"],"type":"object"},"Agents.Execution.SdkWriteCompletedDetails":{"properties":{"actionName":{"enum":["sdk_write"],"type":"string"},"success":{"type":"boolean"}},"required":["actionName","success"],"type":"object"},"Agents.Execution.SdkWriteStartedDetails":{"properties":{"actionName":{"enum":["sdk_write"],"type":"string"},"filePath":{"type":"string"}},"required":["actionName","filePath"],"type":"object"},"Agents.Execution.SortField":{"description":"Fields that can be used for sorting executions","enum":["created_at","status","started_at"],"type":"string"},"Agents.Execution.Status":{"enum":["queued","starting","running","paused","awaiting_confirmation","completed","cancelled","failed","paused_by_agent"],"type":"string"},"Agents.Execution.TerminalPayload":{"properties":{"activityType":{"enum":["terminal"],"type":"string"},"message":{"type":"string"},"reason":{"enum":["unsubscribe","complete","error"],"type":"string"}},"required":["activityType","reason"],"type":"object"},"Agents.Execution.Todo":{"properties":{"content":{"type":"string"},"id":{"type":"string"},"outcome":{"type":"string"},"status":{"$ref":"#/components/schemas/Agents.Execution.TodoStatus"}},"required":["id","content","status"],"type":"object"},"Agents.Execution.TodoStatus":{"enum":["pending","in_progress","completed","blocked","failed","canceled"],"type":"string","x-enum-varnames":["TodoPending","TodoInProgress","TodoCompleted","TodoBlocked","TodoFailed","TodoCanceled"]},"Agents.Execution.TriggerContext":{"description":"Discriminated union of trigger contexts (discriminated by source)","discriminator":{"mapping":{"api":"#/components/schemas/Agents.Execution.APITriggerContext","schedule":"#/components/schemas/Agents.Execution.ScheduleTriggerContext","ui":"#/components/schemas/Agents.Execution.UITriggerContext","warmup":"#/components/schemas/Agents.Execution.WarmupTriggerContext"},"propertyName":"source"},"oneOf":[{"$ref":"#/components/schemas/Agents.Execution.APITriggerContext"},{"$ref":"#/components/schemas/Agents.Execution.UITriggerContext"},{"$ref":"#/components/schemas/Agents.Execution.ScheduleTriggerContext"},{"$ref":"#/components/schemas/Agents.Execution.WarmupTriggerContext"}],"type":"object"},"Agents.Execution.TriggerRunner":{"description":"Runner information - who triggered the execution","properties":{"email":{"type":"string"},"isAdmin":{"description":"Whether the user is an admin (may be hidden for privacy)","type":"boolean"},"userId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["userId","email"],"type":"object"},"Agents.Execution.UITriggerContext":{"description":"UI-triggered execution context","properties":{"actor":{"allOf":[{"$ref":"#/components/schemas/Common.Actor"}],"description":"Who started the execution."},"runner":{"$ref":"#/components/schemas/Agents.Execution.TriggerRunner"},"source":{"enum":["ui"],"type":"string"}},"required":["source","runner"],"type":"object"},"Agents.Execution.UpdateExecutionStatusRequest":{"properties":{"status":{"$ref":"#/components/schemas/Agents.Execution.UpdateableStatus"}},"required":["status"],"type":"object"},"Agents.Execution.UpdateableStatus":{"description":"Status values that can be set via the update endpoint","enum":["running","paused","cancelled"],"type":"string"},"Agents.Execution.UserMessagesAddTextBody":{"properties":{"message":{"description":"The message the agent receives.","type":"string"}},"required":["message"],"type":"object"},"Agents.Execution.UtilGetDatetimeCompletedDetails":{"properties":{"actionName":{"enum":["util_get_datetime"],"type":"string"},"datetime":{"format":"date-time","type":"string"},"tzTimezoneIdentifier":{"type":"string"},"usedBrowserTimezone":{"type":"boolean"}},"required":["actionName","usedBrowserTimezone","datetime","tzTimezoneIdentifier"],"type":"object"},"Agents.Execution.UtilGetDatetimeStartedDetails":{"properties":{"actionName":{"enum":["util_get_datetime"],"type":"string"},"tzTimezoneIdentifier":{"type":"string"}},"required":["actionName","tzTimezoneIdentifier"],"type":"object"},"Agents.Execution.WarmupTriggerContext":{"description":"Warmup-triggered execution context: launched by a warm pool's replenisher","properties":{"source":{"enum":["warmup"],"type":"string"},"warmPoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Warm pool whose replenisher launched the execution"}},"required":["source","warmPoolId"],"type":"object"},"Agents.Files.AgentFile":{"description":"A file tracked in the agent filesystem","properties":{"agentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use workflowId.","x-hidden":true},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/Agents.Files.AgentFileCreatedBy"},"directory":{"$ref":"#/components/schemas/Agents.Files.AgentFileDirectory"},"downloadUrl":{"type":"string"},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"fileName":{"type":"string"},"filePath":{"type":"string"},"fileSize":{"format":"int64","type":"integer"},"id":{"$ref":"#/components/schemas/Common.uuid"},"mimeType":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","agentId","workflowId","filePath","fileName","fileSize","createdAt","updatedAt","executionId","directory","createdBy","downloadUrl"],"type":"object"},"Agents.Files.AgentFileCreatedBy":{"description":"Creator of the file","enum":["user","agent","environment","system"],"type":"string"},"Agents.Files.AgentFileDirectory":{"description":"Directory types within the agent filesystem","enum":["uploads","downloads","workspace","shared","debug","tracing"],"type":"string"},"Agents.Files.AgentFilesDirectoryListing":{"description":"Files grouped by their agent directory","properties":{"debug":{"items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array"},"downloads":{"items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array"},"shared":{"items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array"},"tracing":{"description":"Reserved for internal use.","items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array","x-hidden":true},"uploads":{"items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array"},"workspace":{"items":{"$ref":"#/components/schemas/Agents.Files.AgentFile"},"type":"array"}},"type":"object"},"Agents.Files.AgentFilesResponse":{"description":"Response containing all agent files for an execution, grouped by directory","properties":{"directories":{"$ref":"#/components/schemas/Agents.Files.AgentFilesDirectoryListing"},"lastUpdated":{"format":"date-time","type":"string"}},"required":["directories"],"type":"object"},"Agents.Files.File":{"properties":{"agentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use workflowId.","x-hidden":true},"createdAt":{"format":"date-time","type":"string"},"downloadUrl":{"format":"uri","type":"string"},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"fileExt":{"type":"string"},"fileName":{"type":"string"},"filePath":{"type":"string"},"fileSize":{"format":"int64","type":"integer"},"fileType":{"type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"mimeType":{"type":"string"},"signedUrl":{"deprecated":true,"format":"uri","type":"string"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","executionId","agentId","workflowId","filePath","fileName","fileExt","fileSize","fileType","mimeType","createdAt","downloadUrl","signedUrl"],"type":"object"},"Agents.Files.FilePart":{"format":"binary","type":"string"},"Agents.Files.TempFile":{"properties":{"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"Agents.Files.TempFilesResponse":{"properties":{"tempFiles":{"items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"}},"required":["tempFiles"],"type":"object"},"Agents.Graph.Models.AgentGraph":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Node"},"type":"array"},"sticky_notes":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.StickyNote"},"type":"array"},"transitions":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.Transition"},"type":"array"}},"required":["nodes","transitions","sticky_notes"],"type":"object"},"Agents.Graph.Models.ExternalSettings":{"description":"Configuration settings for workflow execution","properties":{"custom_environment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Custom environment executions of this workflow boot on: its environment type and snapshot replace the workflow's own environment, its profile rows restrict which profile an execution may use, and a kept-warm environment hands out a pre-warmed copy. On a new version, omit it to keep the environment of the workflow's latest version (its editable head, which can be newer than the published one), or send null to boot the workflow's own environment. On a new workflow, there is nothing to keep: omit it or send null for no custom environment.","format":"uuid"},"max_timeout_mins":{"description":"Maximum timeout in minutes","type":"integer"},"viewport_height":{"description":"Browser viewport height in pixels","type":"integer"},"viewport_width":{"description":"Browser viewport width in pixels","type":"integer"}},"required":["viewport_width","viewport_height","max_timeout_mins"],"type":"object"},"Agents.Graph.Models.Nodes.Node":{"properties":{"description":{"deprecated":true,"description":"Deprecated: field is no longer populated and will be removed.","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"description":"Display name. New and renamed nodes accept letters, digits, spaces, and hyphens only (historical versions may carry other characters, so responses are not pattern-constrained).","type":"string"},"position":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Position"},"properties":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.NodePropertiesUnion"},"type":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.NodeType"}},"required":["id","name","type","properties"],"type":"object"},"Agents.Graph.Models.Nodes.NodePropertiesUnion":{"discriminator":{"mapping":{"api":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.APIProperties","iris":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.IrisProperties","output":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.OutputProperties","playwright_script":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptProperties","start":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.StartProperties","url":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.URLProperties"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.StartProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.IrisProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.APIProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.URLProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.OutputProperties"}],"type":"object"},"Agents.Graph.Models.Nodes.NodeType":{"enum":["start","iris","playwright_script","api","url","output"],"type":"string"},"Agents.Graph.Models.Nodes.Position":{"properties":{"x":{"format":"int32","type":"integer"},"y":{"format":"int32","type":"integer"}},"required":["x","y"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.APIMethod":{"enum":["GET","POST","PUT","DELETE"],"type":"string"},"Agents.Graph.Models.Nodes.Properties.APIProperties":{"deprecated":true,"properties":{"body":{"type":"object","unevaluatedProperties":{}},"headers":{"type":"object","unevaluatedProperties":{"type":"string"}},"method":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.APIMethod"},"type":{"enum":["api"],"type":"string"},"url":{"type":"string"}},"required":["type","method","url","body","headers"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.IrisPlaywrightScriptProperties":{"properties":{"freeze_script":{"type":"boolean"},"llm_vars":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVar"},"type":"array"},"script":{"type":"string"}},"required":["script","llm_vars","freeze_script"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.IrisProperties":{"properties":{"capabilities":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.NodeCapabilities"},"compression_strategies":{"items":{"type":"string"},"type":"array"},"input_schema":{"type":"object","unevaluatedProperties":{}},"instructions":{"type":"string"},"model":{"type":"string","x-go-type":"llmtypes.Model","x-go-type-import":{"name":"llmtypes","path":"github.com/asteroidai/agents/go/common/llmtypes"}},"playwright_script_properties":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.IrisPlaywrightScriptProperties"},"script_failure_action":{"description":"What happens when a script fails on a scripted node.\n`fallback_to_ai` (default): fall back to LLM-driven execution.\n`cancel_execution`: cancel the execution immediately.","enum":["fallback_to_ai","cancel_execution"],"type":"string"},"script_filepath":{"description":"Relative path (within the node's own shared directory) of the\nPlaywright script that the runtime should execute before the LLM.\nSetting this turns the node into a fast-path scripted node — combine\nwith `script_failure_action: \"cancel_execution\"` to skip the LLM\nentirely on success and cancel on failure.\n\nThe path is resolved at runtime against the node's shared\ndirectory — i.e. `shared/\u003cnode-key\u003e/\u003cscript_filepath\u003e` on disk in\nthe sandbox. `\u003cnode-key\u003e` is owned by the runtime (currently the\nnode's slug, may move to its UUID), so authors do not have to\nencode it and renaming a node does not break the path.\n\nExamples (typical):\n- `./scripts/main.js`\n- `./scripts/login.js`\n\nA leading `./` is optional but canonical — both `scripts/main.js` and\n`./scripts/main.js` are accepted, and the platform normalizes to the\n`./`-prefixed form when it writes this value back out.\n\nConstraints:\n- Must be relative (no leading `/`).\n- Must NOT start with `shared/` — it is already relative to the\nnode's shared directory; the runtime adds the `shared/\u003cnode-key\u003e/`\nprefix.\n- Must end in `.js` (Playwright, browser), `.ps1` (PowerShell,\nWindows desktop) or `.sh` (bash, Linux desktop).\n- Must not contain `..` segments or duplicate slashes.\n- May contain a single `{{variant_key}}` placeholder, which the\nruntime substitutes with the execution's `variant_key` so a single\nworkflow can target per-tenant script trees (e.g.\n`./variants/{{variant_key}}/scripts/main.js` →\n`shared/\u003cnode-key\u003e/variants/\u003cvariant-key\u003e/scripts/main.js`).\nRequires the agent to have `variant_mode` enabled, and the\nplaceholder must be the segment directly under `variants/`.","maxLength":512,"minLength":1,"pattern":"^(?!\\/)(?!shared\\/)(?!.*\\.\\.(?:\\/|$))(?!.*\\/\\/)[^/].*\\.(?:js|ps1|sh)$","type":"string"},"thinking_budget_tokens":{"minimum":1,"type":"integer"},"thinking_effort":{"enum":["low","medium","high","max"],"type":"string"},"thinking_mode":{"enum":["adaptive","enabled","disabled"],"type":"string"},"type":{"enum":["iris"],"type":"string"}},"required":["type","instructions","model"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.NodeCapabilities":{"description":"Coarse environment-level capability toggles for an AI node.","properties":{"ask_user_question":{"type":"boolean"},"browser_use":{"type":"boolean"},"computer_use":{"type":"boolean"}},"required":["browser_use","computer_use","ask_user_question"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.OutcomeString":{"maxLength":30,"minLength":1,"pattern":"^[a-z0-9_]{1,30}$","type":"string"},"Agents.Graph.Models.Nodes.Properties.OutputProperties":{"properties":{"instructions":{"type":"string"},"instructionsEnabled":{"type":"boolean"},"model":{"type":"string","x-go-type":"llmtypes.Model","x-go-type-import":{"name":"llmtypes","path":"github.com/asteroidai/agents/go/common/llmtypes"}},"outcomes":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.OutcomeString"},"minItems":1,"type":"array"},"schema":{"type":"object","unevaluatedProperties":{}},"type":{"enum":["output"],"type":"string"}},"required":["type","outcomes"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVar":{"properties":{"description":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVarType"}},"required":["name","type","description"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVarType":{"enum":["string","number","boolean"],"type":"string"},"Agents.Graph.Models.Nodes.Properties.PlaywrightScriptProperties":{"properties":{"llm_vars":{"items":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Properties.PlaywrightScriptLLMVar"},"type":"array"},"script":{"type":"string"},"type":{"enum":["playwright_script"],"type":"string"}},"required":["type","script","llm_vars"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.StartProperties":{"properties":{"type":{"enum":["start"],"type":"string"}},"required":["type"],"type":"object"},"Agents.Graph.Models.Nodes.Properties.URLProperties":{"deprecated":true,"properties":{"type":{"enum":["url"],"type":"string"},"url":{"type":"string"}},"required":["type","url"],"type":"object"},"Agents.Graph.Models.Nodes.Size":{"properties":{"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}},"required":["width","height"],"type":"object"},"Agents.Graph.Models.StickyNote":{"properties":{"color":{"type":"string"},"content":{"type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"position":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Position"},"size":{"$ref":"#/components/schemas/Agents.Graph.Models.Nodes.Size"}},"required":["id","content"],"type":"object"},"Agents.Graph.Models.Transitions.Properties.IrisProperties":{"properties":{"type":{"enum":["iris"],"type":"string"}},"required":["type"],"type":"object"},"Agents.Graph.Models.Transitions.Properties.OutcomeSuccessProperties":{"properties":{"type":{"enum":["outcome_success"],"type":"string"}},"required":["type"],"type":"object"},"Agents.Graph.Models.Transitions.Properties.SelectorProperties":{"properties":{"name":{"type":"string"},"selectors":{"items":{"type":"string"},"minItems":1,"type":"array"},"type":{"enum":["selector"],"type":"string"}},"required":["type","name","selectors"],"type":"object"},"Agents.Graph.Models.Transitions.Transition":{"properties":{"description":{"type":"string"},"from":{"$ref":"#/components/schemas/Common.uuid"},"id":{"$ref":"#/components/schemas/Common.uuid"},"properties":{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.TransitionPropertiesUnion"},"require_confirmation":{"type":"boolean"},"schema":{"type":"object","unevaluatedProperties":{}},"to":{"$ref":"#/components/schemas/Common.uuid"},"type":{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.TransitionType"}},"required":["id","from","to","type","require_confirmation","properties"],"type":"object"},"Agents.Graph.Models.Transitions.TransitionPropertiesUnion":{"discriminator":{"mapping":{"iris":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.IrisProperties","outcome_success":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.OutcomeSuccessProperties","selector":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.SelectorProperties"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.IrisProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.SelectorProperties"},{"$ref":"#/components/schemas/Agents.Graph.Models.Transitions.Properties.OutcomeSuccessProperties"}],"type":"object"},"Agents.Graph.Models.Transitions.TransitionType":{"enum":["iris","selector","outcome_success"],"type":"string"},"Agents.Profile.AddProfilesToPoolRequest":{"description":"Request to add profiles to a pool","properties":{"profileIds":{"items":{"$ref":"#/components/schemas/Common.uuid"},"minItems":1,"type":"array"}},"required":["profileIds"],"type":"object"},"Agents.Profile.AgentProfile":{"description":"An agent profile: who an agent signs in as. Credentials, cookies and an inbox. The environment it runs on is the workflow's choice.","properties":{"cookies":{"items":{"$ref":"#/components/schemas/Agents.Profile.Cookie"},"type":"array"},"createdAt":{"format":"date-time","type":"string"},"credentials":{"deprecated":true,"description":"Deprecated: Use vaultItems instead. Legacy credential names mirrored from attached vault items (legacyName). Prefer vaultItems; ##NAME## remains a grace-period alias.","items":{"$ref":"#/components/schemas/Agents.Profile.Credential"},"type":"array","x-hidden":true},"description":{"type":"string"},"fingerprintId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Anchor browser fingerprint ID applied at session create (admin only). Absent or null when unset."},"id":{"$ref":"#/components/schemas/Common.uuid"},"inboxEmail":{"description":"The resolved inbox email address for this profile","type":"string"},"inboxEmailPrefix":{"description":"Optional custom prefix for the agent's inbox email address. If set, the inbox will be {prefix}@agentmail.asteroid.ai. If not set, defaults to the first 8 characters of the profile ID.","type":"string"},"name":{"description":"Name of the agent profile (unique within organization)","type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the organization that owns this profile"},"stickyIP":{"description":"Whether browser runs on this profile egress from one dedicated IP. Applies when the environment uses the managed proxy or no proxy.","type":"boolean"},"tracingEnabled":{"description":"Whether browser tracing is enabled (admin only)","type":"boolean"},"updatedAt":{"format":"date-time","type":"string"},"vaultItems":{"description":"Org vault items attached to this profile. Deleted items are omitted.","items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfileVaultItemRef"},"type":"array"}},"required":["id","name","description","organizationId","tracingEnabled","stickyIP","vaultItems","inboxEmail","credentials","cookies","createdAt","updatedAt"],"type":"object"},"Agents.Profile.AgentProfileInboxEmailsResponse":{"description":"Response for listing the emails in an agent profile's inbox","properties":{"emailCount":{"format":"int32","type":"integer"},"emails":{"items":{"$ref":"#/components/schemas/Agents.Profile.ProfileInboxEmail"},"type":"array"},"hasMore":{"description":"Whether Resend has more emails beyond this page","type":"boolean"}},"required":["emails","emailCount","hasMore"],"type":"object"},"Agents.Profile.AgentProfilePool":{"description":"A pool of agent profiles that can be used for credential rotation","properties":{"allowConcurrentUse":{"description":"Whether multiple executions can use the same profile concurrently","type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"description":"Name of the agent profile pool (unique within organization)","type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the organization that owns this pool"},"selectionStrategy":{"$ref":"#/components/schemas/Agents.Profile.SelectionStrategy"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","organizationId","selectionStrategy","allowConcurrentUse","createdAt","updatedAt"],"type":"object"},"Agents.Profile.AgentProfilePoolMember":{"description":"An agent profile that is a member of a pool","properties":{"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the organization that owns this profile"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","organizationId","createdAt","updatedAt"],"type":"object"},"Agents.Profile.AgentProfileVaultItemFieldRef":{"description":"A field on an attached vault item. Values are omitted.","properties":{"key":{"$ref":"#/components/schemas/Agents.Vault.FieldKey"},"legacyPlaceholder":{"description":"Legacy ##NAME## placeholder when this field was mirrored from an older profile credential.","type":"string"},"placeholder":{"description":"Canonical placeholder, e.g. ##MY_PORTAL.USERNAME##","type":"string"},"type":{"$ref":"#/components/schemas/Agents.Vault.FieldType"}},"required":["key","type","placeholder"],"type":"object"},"Agents.Profile.AgentProfileVaultItemRef":{"description":"Summary of an org vault item attached to an agent profile. Field values are not included.","properties":{"fields":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfileVaultItemFieldRef"},"type":"array"},"id":{"$ref":"#/components/schemas/Common.uuid"},"itemKey":{"$ref":"#/components/schemas/Agents.Vault.ItemKey"},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"name":{"type":"string"}},"required":["id","itemKey","name","kind","fields"],"type":"object"},"Agents.Profile.Cookie":{"description":"A browser cookie stored for an agent profile","properties":{"createdAt":{"format":"date-time","type":"string"},"domain":{"minLength":1,"type":"string"},"expiry":{"format":"date-time","type":"string"},"httpOnly":{"description":"Whether the cookie should be accessible only via HTTP(S)","type":"boolean"},"id":{"$ref":"#/components/schemas/Common.uuid"},"key":{"description":"The cookie key/name as sent in HTTP headers","minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"sameSite":{"$ref":"#/components/schemas/Agents.Profile.SameSite"},"secure":{"description":"Whether the cookie should only be sent over HTTPS","type":"boolean"},"value":{"minLength":1,"type":"string"}},"required":["name","key","value","domain","secure","sameSite","httpOnly"],"type":"object"},"Agents.Profile.CreateAgentProfilePoolRequest":{"description":"Request to create a new agent profile pool","properties":{"allowConcurrentUse":{"default":false,"description":"Whether multiple executions can use the same profile concurrently","type":"boolean"},"name":{"description":"Name of the agent profile pool (must be unique within organization)","maxLength":255,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the organization that the pool belongs to. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"selectionStrategy":{"allOf":[{"$ref":"#/components/schemas/Agents.Profile.SelectionStrategy"}],"default":"least_recently_used"}},"required":["name"],"type":"object"},"Agents.Profile.CreateAgentProfileRequest":{"description":"Request to create a new agent profile","properties":{"cookies":{"deprecated":true,"items":{"$ref":"#/components/schemas/Agents.Profile.Cookie"},"type":"array","x-hidden":true},"credentials":{"deprecated":true,"description":"Deprecated: use secretIds. Initial credentials to create with the profile.","items":{"$ref":"#/components/schemas/Agents.Profile.Credential"},"type":"array","x-hidden":true},"description":{"maxLength":1000,"type":"string"},"fingerprintId":{"anyOf":[{"$ref":"#/components/schemas/Agents.Profile.FingerprintIdInput"},{"type":"null"}],"description":"Anchor browser fingerprint ID to apply at session create (admin only). Ignored unless the environment runs with extra stealth and an active proxy without sticky IP. Empty or null means unset."},"inboxEmailPrefix":{"description":"Optional custom prefix for the agent's inbox email address. If set, the inbox will be {prefix}@agentmail.asteroid.ai.","type":"string"},"name":{"description":"Name of the agent profile (must be unique within organization)","maxLength":255,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the organization that the profile belongs to. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"secretIds":{"description":"Secret IDs to attach to this profile. Do not set together with vaultItemIds.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"},"stickyIP":{"default":false,"description":"Give browser runs on this profile one dedicated IP. Applies when the environment uses the managed proxy or no proxy.","type":"boolean"},"tracingEnabled":{"default":true,"description":"Whether browser tracing is enabled (admin only, defaults to true)","type":"boolean"},"vaultItemIds":{"deprecated":true,"description":"Deprecated: use secretIds. Org vault item IDs attached to this profile.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true}},"required":["name","description"],"type":"object"},"Agents.Profile.Credential":{"description":"A credential stored for an agent profile","properties":{"createdAt":{"format":"date-time","type":"string"},"data":{"description":"The credential value (plaintext - will be encrypted server-side)","minLength":1,"type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"description":"Display name for the credential (will be uppercased)","minLength":1,"type":"string"}},"required":["name","data"],"type":"object"},"Agents.Profile.CredentialUpdate":{"description":"Request to update an existing credential by name","properties":{"data":{"description":"New credential value (plaintext - will be encrypted server-side)","minLength":1,"type":"string"},"name":{"description":"Name of the credential to update (case-insensitive, will be matched as uppercase)","minLength":1,"type":"string"}},"required":["name","data"],"type":"object"},"Agents.Profile.DuplicateAgentProfileRequest":{"description":"Request to duplicate an agent profile","properties":{"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Target organization ID. Defaults to the source profile's organization if omitted."}},"type":"object"},"Agents.Profile.FingerprintIdInput":{"description":"Anchor browser fingerprint ID (24-character hex). An empty string means unset (create) or clear (update).","pattern":"^([a-fA-F0-9]{24})?$","type":"string"},"Agents.Profile.PoolSortField":{"description":"Available fields for sorting agent profile pools","enum":["name","created_at","updated_at"],"type":"string"},"Agents.Profile.ProfileInboxEmail":{"description":"A single email in the agent profile's inbox (summary only — use the detail endpoint to fetch the body)","properties":{"createdAt":{"format":"date-time","type":"string"},"from":{"type":"string"},"id":{"description":"Unique email ID from Resend","type":"string"},"subject":{"type":"string"},"to":{"items":{"type":"string"},"type":"array"}},"required":["id","from","to","subject","createdAt"],"type":"object"},"Agents.Profile.ProfileInboxEmailDetail":{"description":"Full content of a single email in the agent profile's inbox","properties":{"bcc":{"items":{"type":"string"},"type":"array"},"cc":{"items":{"type":"string"},"type":"array"},"createdAt":{"format":"date-time","type":"string"},"from":{"type":"string"},"html":{"type":"string"},"id":{"description":"Unique email ID from Resend","type":"string"},"replyTo":{"items":{"type":"string"},"type":"array"},"subject":{"type":"string"},"text":{"type":"string"},"to":{"items":{"type":"string"},"type":"array"}},"required":["id","from","to","subject","createdAt"],"type":"object"},"Agents.Profile.RemoveProfilesFromPoolRequest":{"description":"Request to remove profiles from a pool","properties":{"profileIds":{"items":{"$ref":"#/components/schemas/Common.uuid"},"minItems":1,"type":"array"}},"required":["profileIds"],"type":"object"},"Agents.Profile.SameSite":{"description":"SameSite attribute for cookies","enum":["Strict","Lax","None"],"type":"string"},"Agents.Profile.SelectionStrategy":{"description":"Strategy for selecting an available profile from a pool","enum":["least_recently_used","most_recently_used"],"type":"string"},"Agents.Profile.SortField":{"description":"Available fields for sorting agent profiles","enum":["name","created_at","updated_at"],"type":"string"},"Agents.Profile.UpdateAgentProfilePoolRequest":{"description":"Request to update an existing agent profile pool","properties":{"allowConcurrentUse":{"description":"Whether multiple executions can use the same profile concurrently","type":"boolean"},"name":{"maxLength":255,"minLength":1,"type":"string"},"selectionStrategy":{"$ref":"#/components/schemas/Agents.Profile.SelectionStrategy"}},"type":"object"},"Agents.Profile.UpdateAgentProfileRequest":{"description":"Request to update an existing agent profile","properties":{"cookiesToAdd":{"deprecated":true,"items":{"$ref":"#/components/schemas/Agents.Profile.Cookie"},"type":"array","x-hidden":true},"cookiesToDelete":{"deprecated":true,"items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true},"credentialsToAdd":{"deprecated":true,"description":"Deprecated: use secretIds. Credentials to add to the profile.","items":{"$ref":"#/components/schemas/Agents.Profile.Credential"},"type":"array","x-hidden":true},"credentialsToDelete":{"deprecated":true,"description":"Deprecated: use secretIds. IDs of credentials to remove from the profile.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true},"credentialsToUpdate":{"deprecated":true,"description":"Deprecated: use secretIds. Credentials to update by name (matched case-insensitively).","items":{"$ref":"#/components/schemas/Agents.Profile.CredentialUpdate"},"type":"array","x-hidden":true},"description":{"maxLength":1000,"type":"string"},"fingerprintId":{"allOf":[{"$ref":"#/components/schemas/Agents.Profile.FingerprintIdInput"}],"description":"Anchor browser fingerprint ID to apply at session create (admin only). Ignored unless the environment runs with extra stealth and an active proxy without sticky IP. An empty string clears it; omit to leave unchanged. Null is rejected — the generated servers cannot tell null from an omitted field, so accepting it would turn an intended clear into a silent no-op."},"inboxEmailPrefix":{"description":"Optional custom prefix for the agent's inbox email address. If set, the inbox will be {prefix}@agentmail.asteroid.ai.","type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"secretIds":{"description":"Secret IDs attached to this profile. Replaces the full list. To change part of it, use secretIdsToAdd and secretIdsToRemove.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"},"secretIdsToAdd":{"description":"Secret IDs to attach. Secrets already attached stay. Cannot be combined with secretIds.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"},"secretIdsToRemove":{"description":"Secret IDs to detach. IDs that are not attached are ignored. Applied before secretIdsToAdd. Cannot be combined with secretIds.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array"},"stickyIP":{"description":"Turn the dedicated IP on or off. A change clears the profile's saved browser state, and is refused while a run uses the profile.","type":"boolean"},"tracingEnabled":{"description":"Whether browser tracing is enabled (admin only)","type":"boolean"},"vaultItemIds":{"deprecated":true,"description":"Deprecated: use secretIds.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true},"vaultItemIdsToAdd":{"deprecated":true,"description":"Deprecated: use secretIdsToAdd.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true},"vaultItemIdsToRemove":{"deprecated":true,"description":"Deprecated: use secretIdsToRemove.","items":{"$ref":"#/components/schemas/Common.uuid"},"type":"array","x-hidden":true}},"type":"object"},"Agents.Schema.ValidateSchemaRequest":{"description":"Request to validate a JSON schema against OpenAI structured output requirements","properties":{"schema":{"type":"object","unevaluatedProperties":{}}},"required":["schema"],"type":"object"},"Agents.Schema.ValidateSchemaResponse":{"description":"Response from schema validation","properties":{"errors":{"description":"List of validation error messages (empty if valid)","items":{"type":"string"},"type":"array"},"valid":{"type":"boolean"}},"required":["valid","errors"],"type":"object"},"Agents.Secrets.SortField":{"enum":["name","created_at","updated_at"],"type":"string"},"Agents.Secrets.TemplateSortField":{"enum":["name","created_at"],"type":"string"},"Agents.Tag.WorkflowTagMatch":{"description":"How multiple tagIds combine when filtering workflows","enum":["any","all"],"type":"string"},"Agents.Vault.AddVaultItemFieldRequest":{"properties":{"field":{"$ref":"#/components/schemas/Agents.Vault.FieldSpecInput"},"value":{"maxLength":8192,"minLength":1,"type":"string"}},"required":["field","value"],"type":"object"},"Agents.Vault.CreateVaultItemRequest":{"properties":{"fields":{"description":"Inline field blueprint. Required when templateId is omitted.","items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpecInput"},"type":"array"},"itemKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKey"}],"description":"Optional UPPER_SNAKE key. Derived from name when omitted."},"kind":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKind"}],"description":"Required when templateId is omitted."},"name":{"maxLength":200,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"templateId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Org template to snapshot. Mutually exclusive with kind and fields."},"values":{"description":"Field values as `key`/`value` pairs.","items":{"$ref":"#/components/schemas/Agents.Vault.FieldValue"},"type":"array"}},"required":["name","values"],"type":"object"},"Agents.Vault.CreateVaultShareLinkRequest":{"properties":{"description":{"description":"Explanation shown to the recipient of the secret request.","maxLength":2000,"type":"string"},"fields":{"description":"Inline field blueprint. Required when templateId is omitted.","items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpecInput"},"type":"array"},"itemKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKey"}],"description":"Optional UPPER_SNAKE key. Derived from name when omitted."},"kind":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKind"}],"description":"Required when templateId is omitted."},"name":{"description":"Name of the secret the request creates.","maxLength":200,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"steps":{"description":"Inline step layout. Only valid with kind and fields; rejected with templateId.","items":{"$ref":"#/components/schemas/Agents.Vault.TemplateStep"},"maxItems":20,"type":"array"},"templateId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Org template to snapshot. Mutually exclusive with kind and fields."},"title":{"description":"Title shown to the recipient of the secret request.","maxLength":200,"minLength":1,"type":"string"}},"required":["title","name"],"type":"object"},"Agents.Vault.CreateVaultTemplateRequest":{"properties":{"description":{"type":"string"},"fields":{"items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpecInput"},"type":"array"},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"name":{"maxLength":200,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Owning organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"steps":{"description":"How the fields are laid out as steps when someone fills in a secret request.","items":{"$ref":"#/components/schemas/Agents.Vault.TemplateStep"},"maxItems":20,"type":"array"}},"required":["kind","name","fields"],"type":"object"},"Agents.Vault.DuplicateVaultTemplateRequest":{"properties":{"name":{"maxLength":200,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Organization that receives the copy. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."}},"type":"object"},"Agents.Vault.FieldKey":{"description":"UPPER_SNAKE field key, unique within a template or item.","maxLength":64,"minLength":1,"pattern":"^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$","type":"string"},"Agents.Vault.FieldSpec":{"description":"A field on a template or item. Array order is display order. Sensitivity follows FieldType — this model has no hidden flag.","properties":{"hint":{"description":"Optional guidance shown next to the field, copied from catalog credentials when generating masters.","maxLength":500,"type":"string"},"key":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.FieldKey"}],"description":"Derived from label: UPPER_SNAKE. Read-only."},"label":{"description":"Human label shown in forms. The field key is UPPER_SNAKE of this label.","maxLength":200,"minLength":1,"type":"string"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/Agents.Vault.FieldType"}},"required":["type","label","required","key"],"type":"object"},"Agents.Vault.FieldSpecInput":{"description":"Write shape for a field. The server derives key from label.","properties":{"hint":{"description":"Optional guidance shown next to the field, copied from catalog credentials when generating masters.","maxLength":500,"type":"string"},"label":{"description":"Human label shown in forms. The field key is UPPER_SNAKE of this label.","maxLength":200,"minLength":1,"type":"string"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/Agents.Vault.FieldType"}},"required":["type","label","required"],"type":"object"},"Agents.Vault.FieldType":{"description":"Type of a vault field. Sensitivity is derived from the type: username, email, url, phone, text, card_expiry, and cardholder_name are readable; password, hidden, totp_seed, api_key, card_number, and card_cvv are write-only. There is no separate hidden flag.","enum":["username","email","url","phone","text","password","hidden","totp_seed","api_key","card_number","card_expiry","card_cvv","cardholder_name"],"type":"string","x-enum-varnames":["VaultFieldTypeUsername","VaultFieldTypeEmail","VaultFieldTypeUrl","VaultFieldTypePhone","VaultFieldTypeText","VaultFieldTypePassword","VaultFieldTypeHidden","VaultFieldTypeTotpSeed","VaultFieldTypeApiKey","VaultFieldTypeCardNumber","VaultFieldTypeCardExpiry","VaultFieldTypeCardCvv","VaultFieldTypeCardholderName"]},"Agents.Vault.FieldValue":{"description":"A field value supplied on create or rotate. Write-only types are stored only in WorkOS.","properties":{"key":{"$ref":"#/components/schemas/Agents.Vault.FieldKey"},"value":{"maxLength":8192,"minLength":1,"type":"string"}},"required":["key","value"],"type":"object"},"Agents.Vault.ItemField":{"description":"A field on a vault item: the frozen spec plus per-field freshness. readableValue is omitted for write-only types.","properties":{"hint":{"description":"Optional guidance shown next to the field, copied from catalog credentials when generating masters.","maxLength":500,"type":"string"},"key":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.FieldKey"}],"description":"Derived from label: UPPER_SNAKE. Read-only."},"label":{"description":"Human label shown in forms. The field key is UPPER_SNAKE of this label.","maxLength":200,"minLength":1,"type":"string"},"legacyName":{"description":"Original profile-credential name this field mirrors. Set when a profile credential is synced into vault; ##NAME## still resolves via this alias.","type":"string"},"readableValue":{"description":"Present only for readable field types. Write-only types omit this.","type":"string"},"required":{"type":"boolean"},"type":{"$ref":"#/components/schemas/Agents.Vault.FieldType"},"valueUpdatedAt":{"format":"date-time","type":"string"}},"required":["type","label","required","key","valueUpdatedAt"],"type":"object"},"Agents.Vault.ItemKey":{"description":"UPPER_SNAKE vault item key. Derived from name when omitted on create. Unique among a profile's attached items, not across the organisation. Stays the same across renames.","maxLength":64,"minLength":1,"pattern":"^[A-Z0-9]+(?:_[A-Z0-9]+)*$","type":"string"},"Agents.Vault.ItemKind":{"description":"Kind of vault item. Templates and items need at least one field. Completeness is per-field required.","enum":["login","api_key","card","custom"],"type":"string","x-enum-varnames":["VaultItemKindLogin","VaultItemKindApiKey","VaultItemKindCard","VaultItemKindCustom"]},"Agents.Vault.RotateVaultItemRequest":{"properties":{"values":{"description":"New field values as `key`/`value` pairs.","items":{"$ref":"#/components/schemas/Agents.Vault.FieldValue"},"type":"array"}},"required":["values"],"type":"object"},"Agents.Vault.ShareLinkStatus":{"description":"Lifecycle of a share link. expired is derived from expiresAt; the other three are stored.","enum":["pending","completed","expired","revoked"],"type":"string","x-enum-varnames":["VaultShareLinkStatusPending","VaultShareLinkStatusCompleted","VaultShareLinkStatusExpired","VaultShareLinkStatusRevoked"]},"Agents.Vault.TemplateOrigin":{"description":"Whether a vault template was generated from the catalog or created by hand.","enum":["generated","manual"],"type":"string","x-enum-varnames":["VaultTemplateOriginGenerated","VaultTemplateOriginManual"]},"Agents.Vault.TemplateStep":{"description":"One page of a template's collection wizard. Steps only group and explain fields; fields stay the source of truth.","properties":{"fieldKeys":{"description":"Field keys shown on this step, in order. Each field belongs to at most one step. May be empty only when instructions is set.","items":{"$ref":"#/components/schemas/Agents.Vault.FieldKey"},"type":"array"},"instructions":{"description":"Markdown shown above the step's fields","maxLength":4000,"type":"string"},"key":{"description":"Stable identifier. Lower-case slug, unique within the template.","maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"},"title":{"maxLength":200,"minLength":1,"type":"string"}},"required":["key","title","fieldKeys"],"type":"object"},"Agents.Vault.UpdateVaultItemKey":{"properties":{"itemKey":{"$ref":"#/components/schemas/Agents.Vault.ItemKey"},"name":{"maxLength":200,"minLength":1,"type":"string"}},"required":["itemKey"],"type":"object"},"Agents.Vault.UpdateVaultItemName":{"properties":{"itemKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKey"}],"description":"Optional UPPER_SNAKE key. Omitted leaves the current key."},"name":{"maxLength":200,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"Agents.Vault.UpdateVaultItemRequest":{"anyOf":[{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultItemName"},{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultItemKey"}],"description":"Send name, itemKey, or both. An empty body is not valid."},"Agents.Vault.UpdateVaultTemplateRequest":{"properties":{"description":{"type":"string"},"fields":{"items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpecInput"},"type":"array"},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"name":{"maxLength":200,"minLength":1,"type":"string"},"steps":{"description":"How the fields are laid out as steps when someone fills in a secret request.","items":{"$ref":"#/components/schemas/Agents.Vault.TemplateStep"},"maxItems":20,"type":"array"}},"type":"object"},"Agents.Vault.VaultItem":{"description":"A vault item. Secret values live in WorkOS and never appear here.","properties":{"actor":{"allOf":[{"$ref":"#/components/schemas/Common.Actor"}],"description":"Who made it. `createdBy` holds a user id only, so read this for a record an API key made."},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/Common.uuid"},"fields":{"items":{"$ref":"#/components/schemas/Agents.Vault.ItemField"},"type":"array"},"id":{"$ref":"#/components/schemas/Common.uuid"},"itemKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKey"}],"description":"UPPER_SNAKE key. Derived from name when omitted on create. Stays the same across renames. Unique among a profile's attached items, not across the organisation."},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"lastRotatedAt":{"format":"date-time","type":"string"},"lastRotatedBy":{"$ref":"#/components/schemas/Common.uuid"},"lastUsedAt":{"format":"date-time","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"organizationId":{"$ref":"#/components/schemas/Common.uuid"},"templateId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Template snapshotted at create. Provenance only."},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","organizationId","itemKey","name","kind","fields","createdAt","updatedAt"],"type":"object"},"Agents.Vault.VaultItemVersion":{"properties":{"createdAt":{"format":"date-time","type":"string"},"current":{"type":"boolean"},"id":{"type":"string"}},"required":["id","createdAt","current"],"type":"object"},"Agents.Vault.VaultShareLink":{"description":"A credential request. The recipient opens the link with no session, fills in the values, and one submit creates the vault item. The field blueprint is frozen at create.","properties":{"actor":{"allOf":[{"$ref":"#/components/schemas/Common.Actor"}],"description":"Who made it. `createdBy` holds a user id only, so read this for a record an API key made."},"completedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/Common.uuid"},"description":{"maxLength":2000,"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"failedSubmits":{"description":"Submits that resolved this link but did not complete it: invalid values, a dead link, or a lost race.","format":"int32","type":"integer"},"fields":{"items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpec"},"type":"array"},"id":{"$ref":"#/components/schemas/Common.uuid"},"itemKey":{"allOf":[{"$ref":"#/components/schemas/Agents.Vault.ItemKey"}],"description":"UPPER_SNAKE key the submit will create. Derived from name when omitted on create. Not unique across the organisation."},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"lastFailedSubmitAt":{"format":"date-time","type":"string"},"name":{"description":"Item name the submit will create.","maxLength":200,"minLength":1,"type":"string"},"organizationId":{"$ref":"#/components/schemas/Common.uuid"},"resultItemId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Item created by the submit. Set when status is completed."},"status":{"$ref":"#/components/schemas/Agents.Vault.ShareLinkStatus"},"steps":{"items":{"$ref":"#/components/schemas/Agents.Vault.TemplateStep"},"maxItems":20,"type":"array"},"submittedIp":{"description":"Client address the completing submit came from. Set when status is completed.","type":"string"},"submittedUserAgent":{"description":"User agent of the completing submit. Set when status is completed.","type":"string"},"templateId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Template the blueprint was copied from. Provenance only."},"title":{"maxLength":200,"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","organizationId","title","itemKey","name","kind","fields","steps","status","expiresAt","failedSubmits","createdBy","createdAt","updatedAt"],"type":"object"},"Agents.Vault.VaultShareLinkCreated":{"description":"Create response. token is the raw link secret and recipientUrl carries it. Both are returned once; the server stores only the token's hash.","properties":{"link":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLink"},"recipientUrl":{"description":"Absolute URL of the page the recipient opens to submit the secret, on this environment's credential-request host. The token is in its fragment.","type":"string"},"token":{"description":"Raw token for the recipient URL. Returned once.","type":"string"}},"required":["link","token","recipientUrl"],"type":"object"},"Agents.Vault.VaultTemplate":{"description":"A vault template: an ordered field blueprint. organizationId is omitted on master presets.","properties":{"actor":{"allOf":[{"$ref":"#/components/schemas/Common.Actor"}],"description":"Who made it. `createdBy` holds a user id only, so read this for a record an API key made."},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/Common.uuid"},"description":{"type":"string"},"fields":{"items":{"$ref":"#/components/schemas/Agents.Vault.FieldSpec"},"type":"array"},"id":{"$ref":"#/components/schemas/Common.uuid"},"kind":{"$ref":"#/components/schemas/Agents.Vault.ItemKind"},"name":{"maxLength":200,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Owning organization. Omitted on master presets."},"origin":{"$ref":"#/components/schemas/Agents.Vault.TemplateOrigin"},"sourceTemplateId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Template this row was copied from. Provenance only."},"steps":{"items":{"$ref":"#/components/schemas/Agents.Vault.TemplateStep"},"maxItems":20,"type":"array"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","kind","name","fields","steps","origin","createdAt","updatedAt"],"type":"object"},"Agents.Workflow.BrowserProvider":{"description":"Browser provider type","enum":["anchor"],"type":"string"},"Agents.Workflow.BrowserTemplateConfig":{"description":"Customer-facing browser environment template configuration","properties":{"provider":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.BrowserProvider"}],"deprecated":true,"description":"Ignored, and always anchor. Kept so SDKs released before it was dropped still parse."}},"required":["provider"],"type":"object"},"Agents.Workflow.CreateWorkflowResponse":{"description":"Response after creating a workflow","properties":{"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["workflowId"],"type":"object"},"Agents.Workflow.EnvironmentType":{"description":"Type of execution environment","enum":["browser","os"],"type":"string"},"Agents.Workflow.ExecuteWorkflowRequest":{"description":"Request to execute a workflow by ID","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"inputVariables":{"deprecated":true,"description":"Deprecated: use inputs.","type":"object","unevaluatedProperties":{},"x-hidden":true},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts. Do not set together with inputVariables.","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"parentExecutionId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"ID of the execution this is a rerun of. Sets parent_execution_id on the new execution and has_been_rerun on the parent."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"}},"type":"object"},"Agents.Workflow.ExecuteWorkflowResponse":{"description":"Response after starting workflow execution","properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["executionId"],"type":"object"},"Agents.Workflow.ExternalCreateWorkflowRequest":{"description":"Request to create a new unpublished workflow","properties":{"environmentTemplate":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.ExternalEnvironmentTemplate"}],"description":"Optional environment template. On a new version, omit it to keep the template of the workflow's latest version (its editable head); on a new workflow, omitting it means a browser. Omits admin-only OS fields."},"graph":{"$ref":"#/components/schemas/Agents.Graph.Models.AgentGraph"},"inputs":{"description":"Typed input definitions for this workflow. Names referenced in prompts but omitted here default to optional strings.","items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Optional parent workflow ID to derive from"},"rules":{"type":"string"},"settings":{"$ref":"#/components/schemas/Agents.Graph.Models.ExternalSettings"}},"required":["rules","graph","settings"],"type":"object"},"Agents.Workflow.ExternalEnvironmentTemplate":{"description":"Environment template on the external API. Omits admin-only OS fields.","properties":{"config":{"anyOf":[{"$ref":"#/components/schemas/Agents.Workflow.BrowserTemplateConfig"},{"$ref":"#/components/schemas/Agents.Workflow.ExternalOsTemplateConfig"}]},"type":{"$ref":"#/components/schemas/Agents.Workflow.EnvironmentType"}},"required":["type","config"],"type":"object"},"Agents.Workflow.ExternalOsTemplateConfig":{"description":"Customer-facing OS environment template configuration. Admin-only fields live on OsTemplateConfig.","properties":{"osType":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.OsType"}],"description":"Operating system the sandbox runs. Defaults to linux. Setting to windows is admin-only and selects the Windows snapshot/image."},"provider":{"$ref":"#/components/schemas/Agents.Workflow.OsProvider"},"public":{"deprecated":true,"description":"Ignored and always false. Kept so SDKs released before it was dropped still parse.","type":"boolean"},"snapshotName":{"deprecated":true,"description":"Ignored, and never returned. A workflow boots the snapshot of the custom environment it is bound to, or the default image.","type":"string"}},"required":["provider","public"],"type":"object"},"Agents.Workflow.ExternalWorkflowSnapshot":{"description":"A workflow (commit) representing an immutable snapshot of agent configuration","properties":{"agentId":{"$ref":"#/components/schemas/Common.uuid"},"author":{"description":"The email of the user who created this workflow.","type":"string"},"createdAt":{"description":"When this workflow was created. For the editable head this is restamped on each in-place edit, so it doubles as the last-edited time.","format":"date-time","type":"string"},"environmentTemplate":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.ExternalEnvironmentTemplate"}],"description":"Optional environment template. Defaults to browser/anchor if not provided. Omits admin-only OS fields."},"files":{"description":"The files stored on this workflow version. Empty when the workflow has no files.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFile"},"type":"array"},"graph":{"$ref":"#/components/schemas/Agents.Graph.Models.AgentGraph"},"id":{"$ref":"#/components/schemas/Common.uuid"},"inputs":{"description":"Typed input definitions for workflow execution. Includes names referenced in prompts, which default to optional strings.","items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"},"isPublished":{"description":"Whether this is the workflow's published version (the API default). At most one version per workflow is published.","type":"boolean"},"issues":{"description":"The validation findings publish and run would report for this version, as `workflow head validate` lists them. Set on the response to a head files patch; absent elsewhere.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationIssue"},"type":"array"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the parent workflow this was derived from (for lineage tracking)"},"rev":{"description":"Monotonic optimistic-concurrency revision. Only meaningful for the editable head: supply it as baseRev on the next head patch. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale. Frozen snapshots never receive in-place patches.","type":"integer"},"rules":{"type":"string"},"settings":{"$ref":"#/components/schemas/Agents.Graph.Models.ExternalSettings"},"version":{"description":"The monotonic per-workflow version number.","type":"integer"}},"required":["id","agentId","version","isPublished","rules","graph","inputs","files","createdAt","rev","settings"],"type":"object"},"Agents.Workflow.Input":{"description":"A typed input variable a workflow declares. Referenced as {{.name}} in prompts.","properties":{"defaultValue":{"description":"Optional value used when the input is omitted at execution time."},"description":{"type":"string"},"name":{"description":"The variable name. Matches [a-zA-Z_][a-zA-Z0-9_]* and is unique within the workflow.","pattern":"^[a-zA-Z_][a-zA-Z0-9_]*$","type":"string"},"required":{"description":"Whether a value must be supplied at execution time. Defaults to false.","type":"boolean"},"schema":{"description":"A single-field JSON Schema fragment describing the input's type, e.g. {type: \"string\"}, {type: \"number\"}, {type: \"object\", properties: {...}}. Validated adaptively at execution time.","type":"object","unevaluatedProperties":{}}},"required":["name","schema","required"],"type":"object"},"Agents.Workflow.OsProvider":{"description":"OS provider type","enum":["daytona","local"],"type":"string"},"Agents.Workflow.OsType":{"description":"Operating system the environment sandbox runs","enum":["linux","windows","citrix"],"type":"string"},"Agents.Workflow.PublishHeadResponse":{"description":"Response after publishing the editable head","properties":{"alreadyPublished":{"description":"True when the head was already the published version, so the call changed nothing","type":"boolean"},"schemaChanges":{"description":"Changes to the input and output schemas against the version published before this call. Callers that send inputs or read outputs by name can break on them. Empty on a first publish, when nothing changed, or when the previous version could not be read, so an empty list does not prove the publish is compatible.","items":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChange"},"type":"array"},"version":{"type":"integer"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["workflowId","version","schemaChanges","alreadyPublished"],"type":"object"},"Agents.Workflow.PublishWorkflowResponse":{"description":"Response after publishing a workflow","properties":{"schemaChanges":{"description":"Changes to the input and output schemas against the version published before this call. Callers that send inputs or read outputs by name can break on them. Empty on a first publish, when nothing changed, or when the previous version could not be read, so an empty list does not prove the publish is compatible.","items":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChange"},"type":"array"},"version":{"type":"integer"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["workflowId","version","schemaChanges"],"type":"object"},"Agents.Workflow.SchemaChange":{"description":"One change to a workflow's input or output signature.","properties":{"kind":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChangeKind"},"message":{"description":"The change in words, e.g. `Input \"dob\" was removed`.","type":"string"},"name":{"description":"The input name, or the output node name.","type":"string"},"target":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChangeTarget"}},"required":["target","kind","name","message"],"type":"object"},"Agents.Workflow.SchemaChangeKind":{"description":"What happened to an input or an output schema.","enum":["removed","changed","nowRequired","added"],"type":"string"},"Agents.Workflow.SchemaChangeTarget":{"description":"Which side of a workflow's signature a schema change touches.","enum":["input","output"],"type":"string"},"Agents.Workflow.WorkflowFile":{"description":"A file stored on a workflow version. Content is fetched via the workflow-scoped shared-file download endpoints using this id.","properties":{"checksum":{"description":"Hex-encoded SHA-256 of the file contents, when known","type":"string"},"createdAt":{"description":"When this file was first added to the workflow lineage","format":"date-time","type":"string"},"fileName":{"type":"string"},"filePath":{"description":"The file path, relative to the workflow's shared directory","type":"string"},"fileSize":{"description":"The file size in bytes","format":"int64","type":"integer"},"id":{"$ref":"#/components/schemas/Common.uuid"},"mimeType":{"description":"The file's MIME type, when known","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","filePath","fileName","fileSize","createdAt","updatedAt"],"type":"object"},"Agents.Workflow.WorkflowFileContentsMode":{"description":"Which file contents a tree read carries inline.","enum":["none","structural","all"],"type":"string"},"Agents.Workflow.WorkflowFileEntry":{"description":"A single entry in a workflow's directory-of-files representation.","properties":{"checksum":{"description":"Hex-encoded SHA-256 of the file contents, when known. Lets a client materialising the directory skip files it already has. Absent for structural files, whose content is inlined anyway.","type":"string"},"content":{"description":"Inline UTF-8 content. Present for structural files only, and omitted under `contents=none`; agent files carry their bytes in contentBase64, since arbitrary uploads are not guaranteed to be valid UTF-8.","type":"string"},"contentBase64":{"description":"Base64-encoded file bytes. Present only for agent files, and only when `contents=all` and the file fits the response budget. Absent when contents were not requested, the file exceeded the budget, or storage could not be read — fall back to the workflow agent-file download endpoints using fileId.","type":"string"},"downloadUrl":{"description":"For an agent file: a URL that redirects to a short-lived signed URL for the file's bytes. Browser clients with no bucket access use this to preview, download and diff files the response did not inline. Absent for structural files, whose content is inlined, and on the internal surface, whose callers read a skipped file straight from storage by `storageObjectKey`.","format":"uri","type":"string"},"fileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"For an agent file: the id used to fetch its content via the workflow agent-file endpoints."},"kind":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileKind"}],"description":"Whether this is a derived structural file (content inlined) or a user agent file (referenced by fileId)."},"mimeType":{"description":"The file's MIME type, when known.","type":"string"},"path":{"description":"The file path, relative to the workflow root (e.g. `settings.yaml`, `nodes/login/instructions.md`).","type":"string"},"size":{"description":"The file size in bytes.","format":"int64","type":"integer"},"storageObjectKey":{"description":"For an agent file: the object key of its blob in the agents bucket. A caller with bucket access (astro-agent) reads a file the response budget skipped straight from storage, instead of a signed-URL mint plus a download redirect. Absent for structural files, which have no blob.","type":"string"},"updatedAt":{"description":"For an agent file: when its contents were last written.","format":"date-time","type":"string"}},"required":["path","kind","size"],"type":"object"},"Agents.Workflow.WorkflowFileKind":{"description":"The kind of file in a workflow's directory representation.","enum":["structural","agent_file"],"type":"string"},"Agents.Workflow.WorkflowFileTree":{"description":"A workflow rendered as a directory of files. Structural files are derived from the structured workflow and carry inline content; user agent files are referenced by id.","properties":{"agentName":{"deprecated":true,"description":"Deprecated: use workflowName. The workflow's name.","type":"string","x-hidden":true},"contentHash":{"description":"Hex-encoded SHA-256 over the workflow's whole file directory: every structural file's path and content, and every agent file's path and checksum. It covers the whole workflow regardless of any paths, variants or contents narrowing on the read, so two reads of the same workflow always agree. A client keeping the directory in version control compares this one string to answer \"does the published agent still match my checkout?\" instead of diffing every file. Absent when an agent file has no checksum yet, since the tree cannot then be hashed in full.","type":"string"},"files":{"description":"The files in the workflow, sorted by path.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileEntry"},"type":"array"},"rev":{"description":"The revision the tree reflects. For the editable head, supply this as `baseRev` when patching. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale.","type":"integer"},"variantKeys":{"description":"Every variant key the workflow's files carry, sorted, regardless of any variants filter on the read — a narrowed tree still names what it could ask for. Absent unless the workflow has variant mode enabled.","items":{"type":"string"},"type":"array"},"version":{"description":"The workflow's version number, absent for a draft that has never been published.","type":"integer"},"workflowId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The id of the workflow this version belongs to. Lets a client that materialises the directory record what it holds without a second fetch."},"workflowName":{"description":"The workflow's name. The directory is rendered relative to the workflow root, so a client that lays it out under a per-workflow folder needs the name to derive that folder — and would otherwise have to fetch the workflow for it.","type":"string"},"workflowVersionId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The id of the workflow version this tree renders: the editable head, or a pinned version."}},"required":["rev","workflowId","workflowVersionId","workflowName","agentName","files"],"type":"object"},"Agents.Workflow.WorkflowFileWrite":{"description":"A single file write in a files patch: upsert the file at `path`. Send the file as `content` or `contentBase64`, exactly one.","properties":{"content":{"description":"The file as UTF-8 text, for text files such as settings.yaml, instructions.md, JSON schemas and scripts. Set this or contentBase64, not both.","type":"string"},"contentBase64":{"description":"The file as base64-encoded bytes, for any file, binary included. Set this or content, not both.","type":"string"},"path":{"description":"The file path, relative to the workflow root — the same paths the file tree returns.","type":"string"}},"required":["path"],"type":"object"},"Agents.Workflow.WorkflowFilesPatchRequest":{"description":"Request to patch the editable head's file representation. The server classifies each path: structural files re-derive the structured workflow, the agent's own files (memory, uploads, node scripts) go to their blob store. Agent-file writes overlay the head resolved under the edit lock, so a stale baseRev is not rejected. Structural-file writes still require a matching baseRev; a stale value is rejected with 409.","properties":{"baseRev":{"description":"The revision this edit is based on. Agent-file-only patches overlay the current head even when this is stale. A structural-file patch is rejected with 409 when it does not match the stored head revision.","type":"integer"},"deletes":{"items":{"type":"string"},"type":"array"},"writes":{"description":"Files to upsert.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileWrite"},"type":"array"}},"required":["baseRev","writes","deletes"],"type":"object"},"Agents.Workflow.WorkflowInputs":{"description":"The typed inputs a workflow declares","properties":{"inputs":{"items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"}},"required":["inputs"],"type":"object"},"Agents.Workflow.WorkflowOutputSchemas":{"description":"Output schemas keyed by output node name. Only output nodes that have a schema configured are included; the value is that node's JSON schema.","type":"object","unevaluatedProperties":{"type":"object","unevaluatedProperties":{}}},"Agents.Workflow.WorkflowRef":{"description":"Lightweight workflow reference for listing workflows without full data","properties":{"author":{"description":"The email of the user who created this workflow.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"isDeletable":{"description":"Whether this snapshot can be deleted (not published and never executed)","type":"boolean"},"isPublished":{"description":"Whether this is the workflow's published version (the API default). At most one version per workflow is published.","type":"boolean"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the parent workflow this was derived from (for lineage tracking)"},"version":{"description":"The monotonic per-workflow version number.","type":"integer"}},"required":["id","version","isPublished","createdAt","isDeletable"],"type":"object"},"Agents.Workflow.WorkflowValidationIssue":{"description":"A single workflow validation finding.","properties":{"message":{"type":"string"},"path":{"description":"Path to the offending field, e.g. [\"nodes\", \"My Node\", \"model\"].","items":{"type":"string"},"type":"array"},"severity":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationSeverity"}],"description":"Whether this issue blocks running the workflow (error) or is advisory (warning)."}},"required":["severity","message","path"],"type":"object"},"Agents.Workflow.WorkflowValidationResponse":{"description":"Result of validating a workflow spec without persisting it.","properties":{"issues":{"description":"All validation issues found. The workflow can run only if none have error severity.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationIssue"},"type":"array"}},"required":["issues"],"type":"object"},"Agents.Workflow.WorkflowValidationSeverity":{"description":"Severity of a workflow validation issue. Error-severity issues make the workflow un-runnable; warnings are advisory.","enum":["error","warning"],"type":"string"},"Common.Actor":{"description":"Who did something: a person, an API key or one of Asteroid's services. Absent on a record made before actors were stored, on one a system job made, and when the caller may not see who it was.","properties":{"client":{"allOf":[{"$ref":"#/components/schemas/Common.ActorClient"}],"description":"The program the caller used. Absent when it is not known, as on a record made before it was stored."},"id":{"description":"The person's id, the key's id, or the service's name","type":"string"},"kind":{"$ref":"#/components/schemas/Common.ActorKind"}},"required":["kind","id"],"type":"object"},"Common.ActorClient":{"description":"The program a caller used","enum":["web","cli","mcp","astro","sdk"],"type":"string"},"Common.ActorKind":{"description":"The kind of caller that did something","enum":["person","api_key","service"],"type":"string"},"Common.BadRequestErrorBody":{"properties":{"code":{"enum":[400],"type":"number","x-enum-varnames":["BadRequest"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"errors":{"description":"The parameters that failed validation, when known","items":{"$ref":"#/components/schemas/Common.FieldError"},"type":"array"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.ConflictErrorBody":{"properties":{"code":{"enum":[409],"type":"number","x-enum-varnames":["Conflict"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.Error":{"properties":{"code":{"format":"int32","type":"integer"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"errors":{"description":"The parameters that failed validation, when known","items":{"$ref":"#/components/schemas/Common.FieldError"},"type":"array"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.FieldError":{"description":"A problem with one request parameter","properties":{"detail":{"description":"What is wrong with it","type":"string"},"parameter":{"description":"The query or path parameter name","type":"string"}},"required":["parameter","detail"],"type":"object"},"Common.ForbiddenErrorBody":{"properties":{"capability":{"description":"The missing capability key, when reason is capability_required","type":"string"},"code":{"enum":[403],"type":"number","x-enum-varnames":["Forbidden"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"reason":{"allOf":[{"$ref":"#/components/schemas/Common.ForbiddenReason"}],"description":"Why the request was refused, when the client can act on it"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.ForbiddenReason":{"enum":["capability_required"],"type":"string"},"Common.InternalServerErrorBody":{"properties":{"code":{"enum":[500],"type":"number","x-enum-varnames":["InternalServerError"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.NotFoundErrorBody":{"properties":{"code":{"enum":[404],"type":"number","x-enum-varnames":["NotFound"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.OSError":{"properties":{"message":{"type":"string"}},"required":["message"],"type":"object"},"Common.PaymentRequiredErrorBody":{"properties":{"code":{"enum":[402],"type":"number","x-enum-varnames":["PaymentRequired"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.RelativeDuration":{"description":"A span of time: number-unit pairs with units w, d, h, m, longest first, each at most once, e.g. 30m, 24h, 7d, 2w, 1d12h. A day is 24 hours","pattern":"^([0-9]+w([0-9]+d)?([0-9]+h)?([0-9]+m)?|[0-9]+d([0-9]+h)?([0-9]+m)?|[0-9]+h([0-9]+m)?|[0-9]+m)$","type":"string"},"Common.SortDirection":{"enum":["asc","desc"],"type":"string","x-go-type":"sort.Direction","x-go-type-import":{"name":"sort","path":"github.com/asteroidai/agents/go/common/sort"}},"Common.TooManyRequestsErrorBody":{"properties":{"capability":{"description":"Extension member of the https://docs.asteroid.ai/errors/limit-reached problem type: the capability key that holds the limit","type":"string"},"code":{"enum":[429],"type":"number","x-enum-varnames":["TooManyRequests"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"limit":{"description":"Extension member of the https://docs.asteroid.ai/errors/limit-reached problem type: the organisation's limit","format":"int32","type":"integer"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"},"used":{"description":"Extension member of the https://docs.asteroid.ai/errors/limit-reached problem type: live resources counted against the limit","format":"int32","type":"integer"}},"required":["code","message"],"type":"object"},"Common.UnauthorizedErrorBody":{"properties":{"code":{"enum":[401],"type":"number","x-enum-varnames":["Unauthorized"]},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string"},"instance":{"description":"The request path that produced the problem","type":"string"},"message":{"type":"string"},"status":{"format":"int32","type":"integer"},"title":{"description":"Short summary of the problem type","type":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string"}},"required":["code","message"],"type":"object"},"Common.uuid":{"format":"uuid","type":"string"},"Users.Whoami.CallerKind":{"description":"The kind of caller a request acts as","enum":["person","api_key","service"],"type":"string"},"Users.Whoami.CredentialKind":{"description":"The credential that authenticated the request","enum":["jwt","user_api_key","org_api_key","service","staff_token"],"type":"string"},"Users.Whoami.WhoamiPerson":{"description":"The person a request acts as. Absent for an org key or a service.","properties":{"email":{"type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","email"],"type":"object"},"Users.Whoami.WhoamiResponse":{"description":"Who is calling, and for which organization","properties":{"apiKeyId":{"description":"The user-scoped key that authenticated the request, when one did. An org key's id is `id`.","type":"string"},"credential":{"$ref":"#/components/schemas/Users.Whoami.CredentialKind"},"id":{"description":"The person's id, the key's id, or the service's name","type":"string"},"kind":{"$ref":"#/components/schemas/Users.Whoami.CallerKind"},"onBehalfOf":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The person a service acts for, such as the owner of an Astro chat. Absent for every other caller, and for a service acting on its own."},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The one organization the request acts in. Absent when the caller spans several organizations: a sign-in to several, or a user-scoped key not yet pinned to one."},"person":{"$ref":"#/components/schemas/Users.Whoami.WhoamiPerson"}},"required":["kind","id","credential"],"type":"object"},"Workflows.Version.CreateRequest":{"description":"Request to create a new unpublished version of a workflow","properties":{"environmentTemplate":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.ExternalEnvironmentTemplate"}],"description":"Optional environment template. On a new version, omit it to keep the template of the workflow's latest version (its editable head); on a new workflow, omitting it means a browser. Omits admin-only OS fields."},"graph":{"$ref":"#/components/schemas/Agents.Graph.Models.AgentGraph"},"inputs":{"description":"Typed input definitions for this workflow. Names referenced in prompts but omitted here default to optional strings.","items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"Optional parent workflow ID to derive from"},"rules":{"type":"string"},"settings":{"$ref":"#/components/schemas/Agents.Graph.Models.ExternalSettings"}},"required":["rules","graph","settings"],"type":"object"},"Workflows.Version.CreateResponse":{"description":"Response after creating a workflow version","properties":{"versionId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["versionId"],"type":"object"},"Workflows.Version.ExecuteRequest":{"description":"Request to execute a specific workflow version","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"inputVariables":{"deprecated":true,"description":"Deprecated: use inputs.","type":"object","unevaluatedProperties":{},"x-hidden":true},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts. Do not set together with inputVariables.","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"parentExecutionId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"ID of the execution this is a rerun of. Sets parent_execution_id on the new execution and has_been_rerun on the parent."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"}},"type":"object"},"Workflows.Version.ExecuteResponse":{"description":"Response after starting a workflow version execution","properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["executionId"],"type":"object"},"Workflows.Version.FileTree":{"description":"A workflow version rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id.","properties":{"contentHash":{"description":"Hex-encoded SHA-256 over the workflow's whole file directory: every structural file's path and content, and every agent file's path and checksum. It covers the whole workflow regardless of any paths, variants or contents narrowing on the read, so two reads of the same workflow always agree. A client keeping the directory in version control compares this one string to answer \"does the published agent still match my checkout?\" instead of diffing every file. Absent when an agent file has no checksum yet, since the tree cannot then be hashed in full.","type":"string"},"files":{"description":"The files in the workflow, sorted by path.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileEntry"},"type":"array"},"rev":{"description":"The revision the tree reflects. For the editable head, supply this as `baseRev` when patching. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale.","type":"integer"},"variantKeys":{"description":"Every variant key the workflow's files carry, sorted, regardless of any variants filter on the read — a narrowed tree still names what it could ask for. Absent unless the workflow has variant mode enabled.","items":{"type":"string"},"type":"array"},"version":{"description":"The workflow's version number, absent for a draft that has never been published.","type":"integer"},"versionId":{"$ref":"#/components/schemas/Common.uuid"},"workflowId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The id of the workflow this version belongs to. Lets a client that materialises the directory record what it holds without a second fetch."},"workflowName":{"description":"The workflow's name. The directory is rendered relative to the workflow root, so a client that lays it out under a per-workflow folder needs the name to derive that folder — and would otherwise have to fetch the workflow for it.","type":"string"}},"required":["rev","workflowId","workflowName","files","versionId"],"type":"object"},"Workflows.Version.FilesPatchRequest":{"description":"Request to patch the editable head's file representation","properties":{"baseRev":{"description":"The revision this edit is based on. Agent-file-only patches overlay the current head even when this is stale. A structural-file patch is rejected with 409 when it does not match the stored head revision.","type":"integer"},"deletes":{"items":{"type":"string"},"type":"array"},"writes":{"description":"Files to upsert.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileWrite"},"type":"array"}},"required":["baseRev","writes","deletes"],"type":"object"},"Workflows.Version.HeadPublishResponse":{"description":"Response after publishing the editable head","properties":{"alreadyPublished":{"description":"True when the head was already the published version, so the call changed nothing","type":"boolean"},"schemaChanges":{"description":"Changes to the input and output schemas against the version published before this call. Callers that send inputs or read outputs by name can break on them. Empty on a first publish, when nothing changed, or when the previous version could not be read, so an empty list does not prove the publish is compatible.","items":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChange"},"type":"array"},"version":{"type":"integer"},"versionId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["versionId","version","schemaChanges","alreadyPublished"],"type":"object"},"Workflows.Version.Inputs":{"description":"The typed inputs a workflow version declares","properties":{"inputs":{"items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"}},"required":["inputs"],"type":"object"},"Workflows.Version.OutputSchemas":{"description":"Output schemas keyed by output node name","type":"object","unevaluatedProperties":{"type":"object","unevaluatedProperties":{}}},"Workflows.Version.PublishResponse":{"description":"Response after publishing a workflow version","properties":{"schemaChanges":{"description":"Changes to the input and output schemas against the version published before this call. Callers that send inputs or read outputs by name can break on them. Empty on a first publish, when nothing changed, or when the previous version could not be read, so an empty list does not prove the publish is compatible.","items":{"$ref":"#/components/schemas/Agents.Workflow.SchemaChange"},"type":"array"},"version":{"type":"integer"},"versionId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["versionId","version","schemaChanges"],"type":"object"},"Workflows.Version.Ref":{"description":"Lightweight reference to a workflow version, for listing versions without their full content","properties":{"author":{"description":"The email of the user who created this workflow.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"isDeletable":{"description":"Whether this snapshot can be deleted (not published and never executed)","type":"boolean"},"isPublished":{"description":"Whether this is the workflow's published version (the API default). At most one version per workflow is published.","type":"boolean"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the parent workflow this was derived from (for lineage tracking)"},"version":{"description":"The monotonic per-workflow version number.","type":"integer"}},"required":["id","version","isPublished","createdAt","isDeletable"],"type":"object"},"Workflows.Version.Snapshot":{"description":"An immutable snapshot of a workflow's configuration","properties":{"author":{"description":"The email of the user who created this workflow.","type":"string"},"createdAt":{"description":"When this workflow was created. For the editable head this is restamped on each in-place edit, so it doubles as the last-edited time.","format":"date-time","type":"string"},"environmentTemplate":{"allOf":[{"$ref":"#/components/schemas/Agents.Workflow.ExternalEnvironmentTemplate"}],"description":"Optional environment template. Defaults to browser/anchor if not provided."},"files":{"description":"The files stored on this workflow version. Empty when the workflow has no files.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFile"},"type":"array"},"graph":{"$ref":"#/components/schemas/Agents.Graph.Models.AgentGraph"},"id":{"$ref":"#/components/schemas/Common.uuid"},"inputs":{"description":"Typed input definitions for workflow execution. Includes names referenced in prompts, which default to optional strings.","items":{"$ref":"#/components/schemas/Agents.Workflow.Input"},"type":"array"},"isPublished":{"description":"Whether this is the workflow's published version (the API default). At most one version per workflow is published.","type":"boolean"},"issues":{"description":"The validation findings publish and run would report for this version, as `workflow head validate` lists them. Set on the response to a head files patch; absent elsewhere.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationIssue"},"type":"array"},"parentId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the parent workflow this was derived from (for lineage tracking)"},"rev":{"description":"Monotonic optimistic-concurrency revision. Only meaningful for the editable head: supply it as baseRev on the next head patch. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale. Frozen snapshots never receive in-place patches.","type":"integer"},"rules":{"type":"string"},"settings":{"$ref":"#/components/schemas/Agents.Graph.Models.ExternalSettings"},"version":{"description":"The monotonic per-workflow version number.","type":"integer"},"workflowId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","version","isPublished","rules","graph","inputs","files","createdAt","rev","workflowId","settings"],"type":"object"},"Workflows.Version.ValidationResponse":{"description":"Result of validating a workflow version spec without persisting it","properties":{"issues":{"description":"All validation issues found. The workflow can run only if none have error severity.","items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationIssue"},"type":"array"}},"required":["issues"],"type":"object"},"Workflows.Workflow.AvailableToolsResponse":{"description":"The tools available to AI task nodes","properties":{"tools":{"items":{"$ref":"#/components/schemas/Agents.Agent.AvailableTool"},"type":"array"}},"required":["tools"],"type":"object"},"Workflows.Workflow.Base":{"description":"A workflow","properties":{"createdAt":{"format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/Common.uuid"},"name":{"type":"string"},"organizationId":{"$ref":"#/components/schemas/Common.uuid"},"userId":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id","name","createdAt","userId"],"type":"object"},"Workflows.Workflow.CreateRequest":{"description":"Request to create a workflow and its first version","properties":{"name":{"description":"Name for the new workflow. Characters outside the workflow-name charset (letters, digits, spaces, hyphens) are sanitized server-side — create flows carry defaulted names (templates, prebuilt states) the user never typed, which must not fail validation.","maxLength":100,"minLength":1,"type":"string"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The organization the workflow belongs to. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several."},"version":{"allOf":[{"$ref":"#/components/schemas/Workflows.Version.CreateRequest"}],"description":"The first version of the workflow. Omit it to start from a blank workflow with a single start node."}},"required":["name"],"type":"object"},"Workflows.Workflow.CreateResponse":{"description":"Response after creating a workflow","properties":{"id":{"$ref":"#/components/schemas/Common.uuid"}},"required":["id"],"type":"object"},"Workflows.Workflow.ExecuteRequest":{"description":"Request to execute a workflow","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use for this execution.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"dynamicData":{"deprecated":true,"description":"Deprecated: Use 'inputs' instead. Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{},"x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"head":{"description":"Run the editable head instead of the published version. Cannot be combined with version.","type":"boolean"},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs (string keys and string values) for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"onCapacityLimit":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.OnCapacityLimit"}],"description":"What to do when the execution cannot start right now because the organisation is at\nits concurrency limit or every profile in the pool is in use. \"reject\" (the default)\nfails the request as today. \"queue\" accepts it: the execution is created in the\n\"queued\" status under the returned ID and starts automatically, oldest first, as\ncapacity frees. Temp files cannot be queued."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use for this execution. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"},"version":{"description":"The version of the workflow to execute. If neither version nor head is provided, the published version is used.","type":"integer"}},"type":"object"},"Workflows.Workflow.ExecuteResponse":{"description":"Response after starting a workflow execution","properties":{"executionId":{"$ref":"#/components/schemas/Common.uuid"},"status":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.Status"}],"description":"The execution's initial status: \"starting\" when it began immediately, \"queued\" when it\nis waiting for capacity (only with onCapacityLimit: \"queue\"). Poll the execution by ID\nto follow it either way."}},"required":["executionId"],"type":"object"},"Workflows.Workflow.ExecuteSyncRequest":{"description":"Request to execute a workflow and wait for the result","properties":{"agentProfileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileId. The ID of the agent profile to use for this execution.","x-hidden":true},"agentProfilePoolId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"deprecated":true,"description":"Deprecated: use profileGroupId. The ID of the agent profile pool to select a profile from.","x-hidden":true},"dynamicData":{"deprecated":true,"description":"Deprecated: Use 'inputs' instead. Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{},"x-hidden":true},"executionOptions":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ExecutionOptions"}],"description":"Per-execution runtime options that override or extend the workflow's default settings."},"head":{"description":"Run the editable head instead of the published version. Cannot be combined with version.","type":"boolean"},"inputs":{"description":"Inputs to be merged into the placeholders defined in prompts","type":"object","unevaluatedProperties":{}},"metadata":{"description":"Optional metadata key-value pairs (string keys and string values) for organizing and filtering executions","type":"object","unevaluatedProperties":{"type":"string"}},"onCapacityLimit":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.OnCapacityLimit"}],"description":"What to do when the execution cannot start right now because the organisation is at\nits concurrency limit or every profile in the pool is in use. \"reject\" (the default)\nfails the request as today. \"queue\" accepts it: the execution is created in the\n\"queued\" status under the returned ID and starts automatically, oldest first, as\ncapacity frees. Temp files cannot be queued."},"profileGroupId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the profile group to select a profile from. Mutually exclusive with profileId."},"profileId":{"allOf":[{"$ref":"#/components/schemas/Common.uuid"}],"description":"The ID of the login profile to use for this execution. Mutually exclusive with profileGroupId."},"tempFiles":{"description":"Array of temporary files to attach to the execution. Must have been pre-uploaded using the stage file endpoint","items":{"$ref":"#/components/schemas/Agents.Files.TempFile"},"type":"array"},"timeoutSeconds":{"default":25,"description":"Seconds to wait for the execution to finish before returning 202. Defaults to 25.","maximum":25,"minimum":1,"type":"integer"},"version":{"description":"The version of the workflow to execute. If neither version nor head is provided, the published version is used.","type":"integer"}},"type":"object"},"Workflows.Workflow.ExecuteSyncResponse":{"description":"Response from executing a workflow and waiting for the result","properties":{"awaitingConfirmation":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.ConfirmationHold"}],"description":"Present when status is awaiting_confirmation: the node the execution holds at. Resume the execution to approve it."},"executionId":{"$ref":"#/components/schemas/Common.uuid"},"executionResult":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.ExecutionResult"}],"description":"Outcome, reasoning and result data. Present on 200 when the execution recorded a result."},"returnReason":{"allOf":[{"$ref":"#/components/schemas/Agents.Agent.SyncReturnReason"}],"description":"Why the call returned. After status_change or timed_out, follow the execution with GET /executions/{executionId}/sync. Never repeat an execute call: it starts another execution."},"status":{"allOf":[{"$ref":"#/components/schemas/Agents.Execution.Status"}],"description":"The execution's status when the call returned: terminal on 200, the current status on 202"}},"required":["executionId","status","returnReason"],"type":"object"},"Workflows.Workflow.UpdateRequest":{"description":"Request to update a workflow","properties":{"name":{"description":"New name for the workflow. Letters, digits, spaces, and punctuation excluding _ \u003c \u003e : \" / \\ | ? and *.","maxLength":100,"minLength":1,"pattern":"^[A-Za-z0-9!#$%\u0026'()+,.;=@^`{}\\[\\]~-]+( [A-Za-z0-9!#$%\u0026'()+,.;=@^`{}\\[\\]~-]+)*$","type":"string"}},"type":"object"}},"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"X-Api-Key","type":"apiKey"}}},"info":{"title":"Agent Service","version":"v1"},"openapi":"3.1.0","paths":{"/agents/v2/agent-profile-pools":{"get":{"deprecated":true,"description":"List all agent profile pools for an organization","operationId":"AgentProfilePools_list","parameters":[{"explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Profile.PoolSearch"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Profile.PoolSortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Agent Profile Pools","tags":["Agent Profile Pools"],"x-hidden":true},"post":{"deprecated":true,"description":"Create a new agent profile pool","operationId":"AgentProfilePools_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.CreateAgentProfilePoolRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Agent Profile Pool","tags":["Agent Profile Pools"],"x-hidden":true}},"/agents/v2/agent-profile-pools/{poolId}":{"delete":{"deprecated":true,"description":"Delete an agent profile pool","operationId":"AgentProfilePool_delete","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Agent Profile Pool","tags":["Agent Profile Pools"],"x-hidden":true},"get":{"deprecated":true,"description":"Get an agent profile pool by ID","operationId":"AgentProfilePool_get","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Agent Profile Pool","tags":["Agent Profile Pools"],"x-hidden":true},"patch":{"deprecated":true,"description":"Update an existing agent profile pool","operationId":"AgentProfilePool_update","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.UpdateAgentProfilePoolRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Agent Profile Pool","tags":["Agent Profile Pools"],"x-hidden":true}},"/agents/v2/agent-profile-pools/{poolId}/members":{"delete":{"deprecated":true,"description":"Remove profiles from a pool","operationId":"AgentProfilePoolMembers_remove","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.RemoveProfilesFromPoolRequest"}}},"required":true},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Remove Profiles from Pool","tags":["Agent Profile Pools"],"x-hidden":true},"get":{"deprecated":true,"description":"List all profiles in a pool","operationId":"AgentProfilePoolMembers_list","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePoolMember"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Pool Members","tags":["Agent Profile Pools"],"x-hidden":true},"post":{"deprecated":true,"description":"Add profiles to a pool","operationId":"AgentProfilePoolMembers_add","parameters":[{"in":"path","name":"poolId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AddProfilesToPoolRequest"}}},"required":true},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Add Profiles to Pool","tags":["Agent Profile Pools"],"x-hidden":true}},"/agents/v2/agent-profiles":{"get":{"deprecated":true,"description":"List all agent profiles for an organization","operationId":"AgentProfiles_list","parameters":[{"explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Profile.Search"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Profile.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Agent Profiles","tags":["Agent Profiles"],"x-hidden":true},"post":{"deprecated":true,"description":"Create a new agent profile. 409 when two attached vault items share a key.","operationId":"AgentProfiles_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.CreateAgentProfileRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Agent Profile","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agent-profiles/{profileId}":{"delete":{"deprecated":true,"description":"Delete an agent profile","operationId":"AgentProfile_delete","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Agent Profile","tags":["Agent Profiles"],"x-hidden":true},"get":{"deprecated":true,"description":"Get an agent profile by ID","operationId":"AgentProfile_get","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Agent Profile","tags":["Agent Profiles"],"x-hidden":true},"patch":{"deprecated":true,"description":"Update an existing agent profile. 409 when two attached vault items share a key.","operationId":"AgentProfile_update","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.UpdateAgentProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Agent Profile","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agent-profiles/{profileId}/clear-browser-cache":{"delete":{"deprecated":true,"description":"Clears the browser profile/cache for the specified agent profile by deleting its browser profile","operationId":"AgentProfile_clearBrowserCache","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"required":["message"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Clear Browser Cache","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agent-profiles/{profileId}/duplicate":{"post":{"deprecated":true,"description":"Duplicate an agent profile with all settings, credentials, and cookies","operationId":"AgentProfile_duplicate","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.DuplicateAgentProfileRequest"}}},"description":"Optional request body for cross-org duplication"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Duplicate Agent Profile","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agent-profiles/{profileId}/inbox-emails":{"get":{"deprecated":true,"description":"List emails in the agent profile's inbox","operationId":"AgentProfile_getInboxEmails","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"explode":false,"in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfileInboxEmailsResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Agent Profile Inbox Emails","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agent-profiles/{profileId}/inbox-emails/{emailId}":{"get":{"deprecated":true,"description":"Get a single email from the agent profile's inbox by ID","operationId":"AgentProfile_getInboxEmail","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"The Resend email ID","in":"path","name":"emailId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.ProfileInboxEmailDetail"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Agent Profile Inbox Email","tags":["Agent Profiles"],"x-hidden":true}},"/agents/v2/agents":{"get":{"deprecated":true,"description":"List all agents for an organization","operationId":"Agent_list","parameters":[{"explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Agent.Search"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Agent.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Agent.Base"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"text/plain":{"schema":{"enum":["Invalid request parameters."],"type":"string"}}},"description":"The server could not understand the request due to invalid syntax."},"404":{"content":{"text/plain":{"schema":{"enum":["Organization not found."],"type":"string"}}},"description":"The server cannot find the requested resource."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"List Agents","tags":["Agents"],"x-hidden":true},"post":{"deprecated":true,"description":"Create an agent and its initial workflow.","operationId":"Agent_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExternalCreateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.CreateResponse"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create agent","tags":["Agents"],"x-hidden":true}},"/agents/v2/agents/available-tools":{"get":{"deprecated":true,"description":"List all available tools/capabilities for AI Task nodes in workflows","operationId":"AvailableTools_list","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.AvailableToolsResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Available Tools","tags":["Agents"],"x-hidden":true}},"/agents/v2/agents/{agentId}":{"delete":{"deprecated":true,"description":"Deletes an agent. Only allowed when all executions are in terminal status (completed, cancelled, or failed).","operationId":"AgentById_delete","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete an agent","tags":["Agents"],"x-hidden":true},"patch":{"deprecated":true,"description":"Update mutable agent fields.","operationId":"AgentById_update","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.UpdateRequest"}}},"required":true},"responses":{"200":{"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update agent","tags":["Agents"],"x-hidden":true}},"/agents/v2/agents/{agentId}/execute":{"post":{"deprecated":true,"description":"Start an execution for the given agent.","operationId":"AgentExecute_post","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"Execute an agent","tags":["Agents"],"x-hidden":true}},"/agents/v2/agents/{agentId}/execute/sync":{"post":{"deprecated":true,"description":"Start an execution for the given agent and wait for it to finish, up to timeoutSeconds.\nReturns 200 with the result once the execution completes, fails or is cancelled.\nReturns 202 when it has not finished in time, or when it is paused or awaiting\nconfirmation. The execution keeps running; follow it with GET /executions/{executionId}.\nThis call is not idempotent: on a gateway timeout, look the execution up instead of retrying.","operationId":"AgentExecuteSync_post","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentSyncRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentSyncResponse"}}},"description":"The request has succeeded."},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentSyncResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"Execute an agent and wait for the result","tags":["Agents"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflow-head/files":{"get":{"deprecated":true,"description":"Get the editable head rendered as a directory of files. Structural files carry inline content; user agent files are referenced by id. The returned `rev` can be supplied as `baseRev` to patch without a second fetch.","operationId":"AgentWorkflowHead_getFiles","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus agent-file bytes within the response budget).","explode":false,"in":"query","name":"contents","schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileContentsMode"}},{"description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","in":"query","name":"paths","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Narrow which variants/\u003ckey\u003e/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","in":"query","name":"variants","schema":{"type":"string"}},{"description":"Per-file ceiling, in bytes, for inlined agent-file contents. Clamped to the server maximum; a caller with tighter limits of its own passes them here so the response does not carry bytes it will discard. Files above the ceiling stay references.","explode":false,"in":"query","name":"maxFileBytes","schema":{"format":"int64","type":"integer"}},{"description":"Ceiling, in bytes, on the total inlined agent-file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","explode":false,"in":"query","name":"maxTotalBytes","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileTree"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow head files","tags":["Files"],"x-hidden":true},"patch":{"deprecated":true,"description":"Patch the editable head's file representation in place: apply file writes/deletes, re-derive the structured workflow, and persist it. Structural files re-derive the graph; agent files go to the blob store. Agent-file writes overlay the current head even when baseRev is stale. Structural-file writes still require a matching baseRev. When the head is frozen (published or executed) the edit forks a fresh version behind the scenes.","operationId":"AgentWorkflowHead_patchFiles","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFilesPatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExternalWorkflowSnapshot"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Patch workflow head files","tags":["Files"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflow-head/publish":{"post":{"deprecated":true,"description":"Publish the editable head, assigning it as the agent's published version","operationId":"AgentWorkflowHead_publishHead","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.PublishHeadResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Publish workflow head","tags":["Files"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows":{"get":{"deprecated":true,"description":"List all workflows for an agent with lightweight metadata (IDs, parents, versions)","operationId":"AgentWorkflows_list","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowRef"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List workflow references","tags":["Workflows"],"x-hidden":true},"post":{"deprecated":true,"description":"Create a new unpublished workflow for an agent","operationId":"AgentWorkflows_create","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExternalCreateWorkflowRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.CreateWorkflowResponse"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/validate":{"post":{"deprecated":true,"description":"Validate a workflow spec for an existing agent without persisting it, returning blocking errors and advisory warnings","operationId":"AgentWorkflows_validate","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExternalCreateWorkflowRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Validate workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}":{"delete":{"deprecated":true,"description":"Delete an unpublished workflow that has no executions","operationId":"AgentWorkflows_deleteWorkflow","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete workflow","tags":["Workflows"],"x-hidden":true},"get":{"deprecated":true,"description":"Get a workflow by its ID. `files` is this version's manifest — file edits create a new version, so fetch the id returned by the agent-files endpoints to see the updated list.","operationId":"AgentWorkflows_get","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExternalWorkflowSnapshot"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow by ID","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}/execute":{"post":{"deprecated":true,"description":"Execute a workflow by its ID (can be published or unpublished)","operationId":"AgentWorkflows_execute","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExecuteWorkflowRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExecuteWorkflowResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.PaymentRequiredErrorBody"}}},"description":"Client error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Execute workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}/files":{"get":{"deprecated":true,"description":"Get a workflow version rendered as a directory of files. Structural files carry inline content; user agent files are referenced by id.","operationId":"AgentWorkflows_getFilesByVersion","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus agent-file bytes within the response budget).","explode":false,"in":"query","name":"contents","schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileContentsMode"}},{"description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","in":"query","name":"paths","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Narrow which variants/\u003ckey\u003e/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","in":"query","name":"variants","schema":{"type":"string"}},{"description":"Per-file ceiling, in bytes, for inlined agent-file contents. Clamped to the server maximum; a caller with tighter limits of its own passes them here so the response does not carry bytes it will discard. Files above the ceiling stay references.","explode":false,"in":"query","name":"maxFileBytes","schema":{"format":"int64","type":"integer"}},{"description":"Ceiling, in bytes, on the total inlined agent-file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","explode":false,"in":"query","name":"maxTotalBytes","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileTree"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow version files","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}/inputs":{"get":{"deprecated":true,"description":"Get the input variable names a workflow accepts at execution time","operationId":"AgentWorkflows_getInputs","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowInputs"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow inputs","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}/output-schemas":{"get":{"deprecated":true,"description":"Get the output schemas configured for a workflow's output nodes, keyed by output node name","operationId":"AgentWorkflows_getOutputSchemas","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowOutputSchemas"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow output schemas","tags":["Workflows"],"x-hidden":true}},"/agents/v2/agents/{agentId}/workflows/{workflowId}/publish":{"post":{"deprecated":true,"description":"Publish an unpublished workflow, assigning it a version number","operationId":"AgentWorkflows_publish","parameters":[{"in":"path","name":"agentId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.PublishWorkflowResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Publish workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/context":{"get":{"description":"Get the current user's context including organization memberships","operationId":"Context_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Context.UserContextResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Context","tags":["Context"]}},"/agents/v2/docs/search":{"post":{"description":"Search Asteroid documentation for guides on building agents, node types, and best practices","operationId":"DocsSearch_search","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Docs.SearchDocsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Docs.SearchDocsResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Search documentation","tags":["Documentation"],"x-hidden":true}},"/agents/v2/executions":{"get":{"description":"List executions with filtering and pagination","operationId":"Executions_list","parameters":[{"description":"Optional organization ID filter (required for customer queries)","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Execution.Search.executionId"},{"$ref":"#/components/parameters/Agents.Execution.Search.agentId"},{"$ref":"#/components/parameters/Agents.Execution.Search.agentProfileIds"},{"$ref":"#/components/parameters/Agents.Execution.Search.status"},{"$ref":"#/components/parameters/Agents.Execution.Search.createdAfter"},{"$ref":"#/components/parameters/Agents.Execution.Search.createdBefore"},{"$ref":"#/components/parameters/Agents.Execution.Search.humanLabels"},{"$ref":"#/components/parameters/Agents.Execution.Search.outcomeLabel"},{"$ref":"#/components/parameters/Agents.Execution.Search.metadataKey"},{"$ref":"#/components/parameters/Agents.Execution.Search.metadataValue"},{"$ref":"#/components/parameters/Agents.Execution.Search.inputsKey"},{"$ref":"#/components/parameters/Agents.Execution.Search.inputsValue"},{"$ref":"#/components/parameters/Agents.Execution.Search.workflowVersion"},{"$ref":"#/components/parameters/Agents.Execution.Search.hasScriptFailures"},{"$ref":"#/components/parameters/Agents.Execution.Search.triggerSource"},{"$ref":"#/components/parameters/Agents.Execution.Search.phase"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Execution.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}},{"$ref":"#/components/parameters/Agents.Execution.WorkflowFilter"},{"$ref":"#/components/parameters/Agents.Execution.FilterShorthands.createdWithin"},{"$ref":"#/components/parameters/Agents.Execution.FilterShorthands.metadata"},{"description":"Sort shorthand as field:direction, e.g. created_at:desc. Fields: created_at, status, started_at. Cannot be combined with sortField or sortDirection","explode":false,"in":"query","name":"sort","schema":{"pattern":"^(created_at|status|started_at):(asc|desc)$","type":"string"}},{"$ref":"#/components/parameters/Agents.Execution.ProfileFilter"},{"$ref":"#/components/parameters/Agents.Execution.BatchFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Execution.ListItem"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List executions","tags":["Execution"]}},"/agents/v2/executions/{executionId}":{"delete":{"description":"Delete a terminal execution. It no longer appears in lists or reads. This is a soft delete: Asteroid keeps the data under its retention policy, so deleting an execution does not meet a data deletion or retention compliance requirement. Contact Asteroid to set up custom retention.","operationId":"Execution_delete","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete execution","tags":["Execution"]},"get":{"description":"Get a single execution by ID with all details","operationId":"Execution_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.ListItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get execution","tags":["Execution"]}},"/agents/v2/executions/{executionId}/activities":{"get":{"description":"Get activities for an execution","operationId":"ExecutionActivities_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Sort order for activities by timestamp","explode":false,"in":"query","name":"order","schema":{"enum":["asc","desc"],"type":"string"}},{"explode":false,"in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Execution.Activity"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Retrieve execution activities","tags":["Execution"]}},"/agents/v2/executions/{executionId}/agent-files":{"get":{"deprecated":true,"description":"Deprecated: Use /executions/{executionId}/files instead.","operationId":"ExecutionAgentFiles_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Files.AgentFilesResponse"}}},"description":"The request has succeeded."},"404":{"content":{"text/plain":{"schema":{"enum":["Execution not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Get Agent Files","tags":["Files"],"x-hidden":true}},"/agents/v2/executions/{executionId}/agent-files/{fileId}/download":{"get":{"deprecated":true,"description":"Deprecated: Use /executions/{executionId}/files/{fileId}/download instead.","operationId":"ExecutionAgentFileDownload_redirect","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"fileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"303":{"description":"Redirection","headers":{"Location":{"required":true,"schema":{"type":"string"}}}},"404":{"content":{"text/plain":{"schema":{"enum":["File not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Download agent file","tags":["Files"],"x-hidden":true}},"/agents/v2/executions/{executionId}/cancel":{"post":{"description":"Cancel an execution. The execution stops and cannot be resumed.","operationId":"Execution_cancel","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.ExecutionStatusChange"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Cancel execution","tags":["Execution"]}},"/agents/v2/executions/{executionId}/context-files":{"get":{"description":"Get all context files attached to an execution","operationId":"ExecutionContextFiles_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Files.File"},"type":"array"}}},"description":"The request has succeeded."},"404":{"content":{"text/plain":{"schema":{"enum":["Execution files not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Get Execution Context Files","tags":["Files"],"x-hidden":true},"post":{"description":"Upload files to a running execution that is already in progress. If you want to attach files to an execution that is not yet running, see the /temp-files endpoint.","operationId":"ExecutionContextFiles_upload","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"multipart/form-data":{"encoding":{"files":{"contentType":"text/plain"}},"schema":{"properties":{"files":{"items":{"$ref":"#/components/schemas/Agents.Files.FilePart"},"type":"array"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"text/plain":{"schema":{"enum":["Files uploaded."],"type":"string"}}},"description":"The request has succeeded."},"400":{"content":{"text/plain":{"schema":{"enum":["Invalid file upload request."],"type":"string"}}},"description":"The server could not understand the request due to invalid syntax."},"404":{"content":{"text/plain":{"schema":{"enum":["Execution not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Upload Execution Context Files","tags":["Files"],"x-hidden":true}},"/agents/v2/executions/{executionId}/context-files/{fileId}/download":{"get":{"description":"Redirects to a short-lived signed URL for downloading the file.","operationId":"ExecutionContextFileDownload_redirect","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"fileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"303":{"description":"Redirection","headers":{"Location":{"required":true,"schema":{"type":"string"}}}},"404":{"content":{"text/plain":{"schema":{"enum":["File not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Download context file","tags":["Files"],"x-hidden":true}},"/agents/v2/executions/{executionId}/debug-files/{fileId}/download":{"get":{"description":"Redirects to a short-lived signed URL for downloading the file.","operationId":"ExecutionDebugFileDownload_redirect","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"fileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"303":{"description":"Redirection","headers":{"Location":{"required":true,"schema":{"type":"string"}}}},"404":{"content":{"text/plain":{"schema":{"enum":["File not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Download debug file","tags":["Files"],"x-hidden":true}},"/agents/v2/executions/{executionId}/files":{"get":{"description":"Get all files for an execution, grouped by directory. Files are tracked by the file syncer daemon during execution.","operationId":"ExecutionFiles_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Files.AgentFilesResponse"}}},"description":"The request has succeeded."},"404":{"content":{"text/plain":{"schema":{"enum":["Execution not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Get Execution Files","tags":["Files"]}},"/agents/v2/executions/{executionId}/files/{fileId}/download":{"get":{"description":"Redirects to a short-lived signed URL for downloading the file.","operationId":"ExecutionFileDownload_redirect","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"fileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"303":{"description":"Redirection","headers":{"Location":{"required":true,"schema":{"type":"string"}}}},"404":{"content":{"text/plain":{"schema":{"enum":["File not found."],"type":"string"}}},"description":"The server cannot find the requested resource."}},"summary":"Download execution file","tags":["Files"]}},"/agents/v2/executions/{executionId}/pause":{"post":{"description":"Pause a running execution. Resume it later with the resume operation.","operationId":"Execution_pause","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.ExecutionStatusChange"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Pause execution","tags":["Execution"]}},"/agents/v2/executions/{executionId}/recording":{"get":{"description":"Redirect to the recording playback URL. Returns a 307 with a short-lived signed URL. Embed this endpoint in \u003cvideo\u003e tags — the player will follow the redirect and re-fetch on expiry.","operationId":"ExecutionRecording_redirect","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Optional token for authentication. Use this when the client cannot set Authorization headers (e.g., native video elements).","explode":false,"in":"query","name":"token","schema":{"type":"string"}}],"responses":{"307":{"description":"Redirection","headers":{"Cache-Control":{"required":true,"schema":{"type":"string"}},"Location":{"required":true,"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get recording redirect","tags":["Execution"]}},"/agents/v2/executions/{executionId}/rerun":{"post":{"description":"Start a new execution of the same workflow version as the original. The new execution copies the original's inputs, agent profile, metadata and execution options, and records the original as its parent. Set inputs or agentProfileId in the body to replace the copied values. Files staged for the original execution are not copied.","operationId":"Execution_rerun","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.RerunExecutionRequest"}}},"description":"Values that replace the copied ones"},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExecuteWorkflowResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.PaymentRequiredErrorBody"}}},"description":"Client error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Rerun execution","tags":["Execution"]}},"/agents/v2/executions/{executionId}/resume":{"post":{"description":"Resume a paused execution","operationId":"Execution_resume","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.ExecutionStatusChange"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Resume execution","tags":["Execution"]}},"/agents/v2/executions/{executionId}/status":{"post":{"description":"Update the status of an execution. Use this to pause, resume, or cancel an execution.","operationId":"ExecutionStatus_update","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.UpdateExecutionStatusRequest"}}},"required":true},"responses":{"200":{"content":{"text/plain":{"schema":{"enum":["Execution status updated."],"type":"string"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update execution status","tags":["Execution"]}},"/agents/v2/executions/{executionId}/sync":{"get":{"description":"Wait up to timeoutSeconds for an execution's status to change.\nReturns 200 with the result once the execution completes, fails or is cancelled.\nReturns 202 as soon as its status differs from the one it had when the call began,\nat once when it is paused, paused_by_agent or awaiting_confirmation, and otherwise\nwhen timeoutSeconds passes. returnReason says which. On awaiting_confirmation, awaitingConfirmation names\nthe node the execution holds at. Call it again to keep waiting.","operationId":"ExecutionSync_get","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Seconds to wait for a change before returning 202. Defaults to 25.","explode":false,"in":"query","name":"timeoutSeconds","schema":{"format":"int32","maximum":25,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentSyncResponse"}}},"description":"The request has succeeded."},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Agent.ExecuteAgentSyncResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"Wait for an execution's status to change","tags":["Execution"]}},"/agents/v2/executions/{executionId}/user-messages":{"post":{"description":"Add a user message to an execution","operationId":"ExecutionUserMessages_add","parameters":[{"in":"path","name":"executionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Execution.UserMessagesAddTextBody"}}},"required":true},"responses":{"201":{"content":{"text/plain":{"schema":{"enum":["User message added."],"type":"string"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Send user message to execution","tags":["Execution"]}},"/agents/v2/profile-groups":{"get":{"description":"List all profile groups for an organization","operationId":"ProfileGroups_list","parameters":[{"explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Profile.PoolSearch"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Profile.PoolSortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Profile Groups","tags":["Profile Groups"]},"post":{"description":"Create a new profile group","operationId":"ProfileGroups_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.CreateAgentProfilePoolRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Profile Group","tags":["Profile Groups"]}},"/agents/v2/profile-groups/{groupId}":{"delete":{"description":"Delete a profile group","operationId":"ProfileGroup_delete","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Profile Group","tags":["Profile Groups"]},"get":{"description":"Get a profile group by ID","operationId":"ProfileGroup_get","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Profile Group","tags":["Profile Groups"]},"patch":{"description":"Update an existing profile group","operationId":"ProfileGroup_update","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.UpdateAgentProfilePoolRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePool"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Profile Group","tags":["Profile Groups"]}},"/agents/v2/profile-groups/{groupId}/members":{"delete":{"description":"Remove profiles from a profile group","operationId":"ProfileGroupMembers_remove","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.RemoveProfilesFromPoolRequest"}}},"required":true},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Remove Profiles from Profile Group","tags":["Profile Groups"]},"get":{"description":"List all profiles in a profile group","operationId":"ProfileGroupMembers_list","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfilePoolMember"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Profile Group Members","tags":["Profile Groups"]},"post":{"description":"Add profiles to a profile group","operationId":"ProfileGroupMembers_add","parameters":[{"in":"path","name":"groupId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AddProfilesToPoolRequest"}}},"required":true},"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Add Profiles to Profile Group","tags":["Profile Groups"]}},"/agents/v2/profiles":{"get":{"description":"List all profiles for an organization","operationId":"Profiles_list","parameters":[{"explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Profile.Search"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Profile.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Profiles","tags":["Profiles"]},"post":{"description":"Create a new profile. 409 when two attached secrets share a key.","operationId":"Profiles_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.CreateAgentProfileRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Profile","tags":["Profiles"]}},"/agents/v2/profiles/{profileId}":{"delete":{"description":"Delete a profile","operationId":"Profile_delete","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Profile","tags":["Profiles"]},"get":{"description":"Get a profile by ID","operationId":"Profile_get","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Profile","tags":["Profiles"]},"patch":{"description":"Update an existing profile. 409 when two attached secrets share a key.","operationId":"Profile_update","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.UpdateAgentProfileRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Profile","tags":["Profiles"]}},"/agents/v2/profiles/{profileId}/clear-browser-cache":{"delete":{"description":"Clears the browser profile/cache for the specified profile by deleting its browser profile","operationId":"Profile_clearBrowserCache","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"required":["message"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Clear Browser Cache","tags":["Profiles"]}},"/agents/v2/profiles/{profileId}/duplicate":{"post":{"description":"Duplicate a profile with all settings, credentials, and cookies","operationId":"Profile_duplicate","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.DuplicateAgentProfileRequest"}}},"description":"Optional request body for cross-org duplication"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfile"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Duplicate Profile","tags":["Profiles"]}},"/agents/v2/profiles/{profileId}/inbox-emails":{"get":{"description":"List emails in the profile's inbox","operationId":"Profile_getInboxEmails","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"explode":false,"in":"query","name":"limit","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.AgentProfileInboxEmailsResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Profile Inbox Emails","tags":["Profiles"]}},"/agents/v2/profiles/{profileId}/inbox-emails/{emailId}":{"get":{"description":"Get a single email from the profile's inbox by ID","operationId":"Profile_getInboxEmail","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"The Resend email ID","in":"path","name":"emailId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Profile.ProfileInboxEmailDetail"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Profile Inbox Email","tags":["Profiles"]}},"/agents/v2/schema/validate":{"post":{"description":"Validate a JSON schema against OpenAI structured output requirements","operationId":"SchemaValidation_validate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Schema.ValidateSchemaRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Schema.ValidateSchemaResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Validate schema","tags":["Schema"],"x-hidden":true}},"/agents/v2/secret-requests":{"get":{"operationId":"SecretRequests_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLink"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Secret Requests","tags":["Secrets"]},"post":{"description":"Create a secret request. The item key is derived from name unless itemKey is given. 429 when the user exceeds the creation rate limit.","operationId":"SecretRequests_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultShareLinkRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLinkCreated"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.TooManyRequestsErrorBody"}}},"description":"The client address exceeded the rate limit on the public surface. Retry-After carries the wait in whole seconds.","headers":{"Retry-After":{"required":true,"schema":{"format":"int32","type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Secret Request","tags":["Secrets"]}},"/agents/v2/secret-requests/{requestId}":{"delete":{"description":"Delete a request in any state. A pending request stops working at once; its link returns 404. The secret a completed request created is kept.","operationId":"SecretRequest_delete","parameters":[{"in":"path","name":"requestId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Secret Request","tags":["Secrets"]}},"/agents/v2/secret-requests/{requestId}/revoke":{"post":{"operationId":"SecretRequestRevoke_post","parameters":[{"in":"path","name":"requestId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLink"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Revoke Secret Request","tags":["Secrets"]}},"/agents/v2/secret-templates":{"get":{"description":"List the organization's secret templates, one page at a time. Filter by name with searchName.","operationId":"SecretTemplates_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Secrets.TemplateSearch"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Secrets.TemplateSortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Secret Templates","tags":["Secrets"]},"post":{"description":"Create an organization secret template.","operationId":"SecretTemplates_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultTemplateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Secret Template","tags":["Secrets"]}},"/agents/v2/secret-templates/{templateId}":{"delete":{"operationId":"SecretTemplate_delete","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Secret Template","tags":["Secrets"]},"get":{"operationId":"SecretTemplate_get","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Secret Template","tags":["Secrets"]},"patch":{"operationId":"SecretTemplate_update","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultTemplateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Secret Template","tags":["Secrets"]}},"/agents/v2/secret-templates/{templateId}/duplicate":{"post":{"operationId":"SecretTemplateDuplicate_post","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.DuplicateVaultTemplateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Duplicate Secret Template","tags":["Secrets"]}},"/agents/v2/secrets":{"get":{"description":"List the organization's secrets, one page at a time. Responses are masked. Filter by name with searchName.","operationId":"Secrets_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Secrets.Search"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Secrets.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Secrets","tags":["Secrets"]},"post":{"description":"Create a secret. The item key is derived from name unless itemKey is given. Secret values go to WorkOS; Postgres stores metadata and readable values only.","operationId":"Secrets_create","parameters":[{"description":"A key unique within the organization. Reusing it returns the secret already created with that key instead of creating a second one.","in":"header","name":"Idempotency-Key","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultItemRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Secret","tags":["Secrets"]}},"/agents/v2/secrets/{secretId}":{"delete":{"operationId":"Secret_delete","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Secret","tags":["Secrets"]},"get":{"operationId":"Secret_get","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Secret","tags":["Secrets"]},"patch":{"description":"Update a secret's name and/or item key. A rename leaves the key unchanged. 409 when a profile using this secret already has another secret with the new key.","operationId":"Secret_update","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultItemRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Secret","tags":["Secrets"]}},"/agents/v2/secrets/{secretId}/fields":{"post":{"operationId":"SecretFields_create","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.AddVaultItemFieldRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Add Secret Field","tags":["Secrets"]}},"/agents/v2/secrets/{secretId}/fields/{fieldKey}":{"delete":{"operationId":"SecretField_delete","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"The field's key, in UPPER_SNAKE case.","in":"path","name":"fieldKey","required":true,"schema":{"$ref":"#/components/schemas/Agents.Vault.FieldKey"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Remove Secret Field","tags":["Secrets"]}},"/agents/v2/secrets/{secretId}/rotate":{"post":{"operationId":"SecretRotate_post","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.RotateVaultItemRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Rotate Secret","tags":["Secrets"]}},"/agents/v2/secrets/{secretId}/versions":{"get":{"operationId":"SecretVersions_list","parameters":[{"in":"path","name":"secretId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultItemVersion"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Secret Versions","tags":["Secrets"]}},"/agents/v2/temp-files":{"post":{"description":"Stage a file prior to starting an execution, so that it can be used when the execution is started. See the /agents/{agentId}/execute to understand how to pass the returned file information to the execution endpoint.","operationId":"TempFiles_upload","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"multipart/form-data":{"encoding":{"files":{"contentType":"text/plain"}},"schema":{"properties":{"files":{"items":{"$ref":"#/components/schemas/Agents.Files.FilePart"},"type":"array"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Files.TempFilesResponse"}}},"description":"The request has succeeded."},"400":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"The server could not understand the request due to invalid syntax."},"403":{"content":{"text/plain":{"schema":{"enum":["User is not a member of the organization."],"type":"string"}}},"description":"Access is forbidden."},"500":{"content":{"text/plain":{"schema":{"enum":["Internal server error."],"type":"string"}}},"description":"Server error"}},"summary":"Stage a file for an execution","tags":["Files"]}},"/agents/v2/temp-files/{organizationId}":{"post":{"deprecated":true,"description":"Stage a file prior to starting an execution, so that it can be used when the execution is started. See the /agents/{agentId}/execute to understand how to pass the returned file information to the execution endpoint.","operationId":"TempFiles_stage","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"multipart/form-data":{"encoding":{"files":{"contentType":"text/plain"}},"schema":{"properties":{"files":{"items":{"$ref":"#/components/schemas/Agents.Files.FilePart"},"type":"array"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Files.TempFilesResponse"}}},"description":"The request has succeeded."},"400":{"content":{"text/plain":{"schema":{"enum":["Invalid file upload request."],"type":"string"}}},"description":"The server could not understand the request due to invalid syntax."},"403":{"content":{"text/plain":{"schema":{"enum":["User is not a member of the organization."],"type":"string"}}},"description":"Access is forbidden."},"500":{"content":{"text/plain":{"schema":{"enum":["Internal server error."],"type":"string"}}},"description":"Server error"}},"summary":"Stage a file for an execution","tags":["Files"]}},"/agents/v2/vault/items":{"get":{"deprecated":true,"description":"List vault items belonging to the organization. Responses are masked.","operationId":"VaultItems_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Vault Items","tags":["Vault"],"x-hidden":true},"post":{"deprecated":true,"description":"Create a vault item. The item key is derived from name unless itemKey is given. Secrets go to WorkOS; Postgres stores metadata and readable values only.","operationId":"VaultItems_create","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultItemRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Vault Item","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/items/{itemId}":{"delete":{"deprecated":true,"operationId":"VaultItem_delete","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Vault Item","tags":["Vault"],"x-hidden":true},"get":{"deprecated":true,"operationId":"VaultItem_get","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Vault Item","tags":["Vault"],"x-hidden":true},"patch":{"deprecated":true,"description":"Update a vault item's name and/or item key. A rename leaves the key unchanged. 409 when a profile using this item already has another item with the new key.","operationId":"VaultItem_update","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultItemRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Vault Item","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/items/{itemId}/fields":{"post":{"deprecated":true,"operationId":"VaultItemFields_create","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.AddVaultItemFieldRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Add Vault Item Field","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/items/{itemId}/fields/{fieldKey}":{"delete":{"deprecated":true,"operationId":"VaultItemField_delete","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"fieldKey","required":true,"schema":{"$ref":"#/components/schemas/Agents.Vault.FieldKey"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Remove Vault Item Field","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/items/{itemId}/rotate":{"post":{"deprecated":true,"operationId":"VaultItemRotate_post","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.RotateVaultItemRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultItem"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Rotate Vault Item","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/items/{itemId}/versions":{"get":{"deprecated":true,"operationId":"VaultItemVersions_list","parameters":[{"in":"path","name":"itemId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultItemVersion"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Vault Item Versions","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/share-links":{"get":{"deprecated":true,"operationId":"VaultShareLinks_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLink"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Vault Share Links","tags":["Vault"],"x-hidden":true},"post":{"deprecated":true,"description":"Create a credential request. The item key is derived from name unless itemKey is given. 429 when the user exceeds the creation rate limit.","operationId":"VaultShareLinks_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultShareLinkRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLinkCreated"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.TooManyRequestsErrorBody"}}},"description":"The client address exceeded the rate limit on the public surface. Retry-After carries the wait in whole seconds.","headers":{"Retry-After":{"required":true,"schema":{"format":"int32","type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Vault Share Link","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/share-links/{linkId}/revoke":{"post":{"deprecated":true,"operationId":"VaultShareLinkRevoke_post","parameters":[{"in":"path","name":"linkId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultShareLink"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Revoke Vault Share Link","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/templates":{"get":{"deprecated":true,"description":"List vault templates belonging to the organization.","operationId":"VaultTemplates_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List Vault Templates","tags":["Vault"],"x-hidden":true},"post":{"deprecated":true,"description":"Create an organization vault template.","operationId":"VaultTemplates_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.CreateVaultTemplateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create Vault Template","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/templates/{templateId}":{"delete":{"deprecated":true,"operationId":"VaultTemplate_delete","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete Vault Template","tags":["Vault"],"x-hidden":true},"get":{"deprecated":true,"operationId":"VaultTemplate_get","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get Vault Template","tags":["Vault"],"x-hidden":true},"patch":{"deprecated":true,"operationId":"VaultTemplate_update","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.UpdateVaultTemplateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update Vault Template","tags":["Vault"],"x-hidden":true}},"/agents/v2/vault/templates/{templateId}/duplicate":{"post":{"deprecated":true,"operationId":"VaultTemplateDuplicate_post","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.DuplicateVaultTemplateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Vault.VaultTemplate"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Duplicate Vault Template","tags":["Vault"],"x-hidden":true}},"/agents/v2/workflows":{"get":{"description":"List the workflows of an organization. Pass tagIds to return only workflows with those tags.","operationId":"Workflow_list","parameters":[{"description":"The organization. Defaults to the one organization the caller acts in, such as an API key's. Required when the caller belongs to several.","explode":false,"in":"query","name":"organizationId","schema":{"$ref":"#/components/schemas/Common.uuid"}},{"$ref":"#/components/parameters/Common.Pagination.pageSize"},{"$ref":"#/components/parameters/Common.Pagination.page"},{"$ref":"#/components/parameters/Agents.Agent.Search"},{"explode":false,"in":"query","name":"sortField","schema":{"$ref":"#/components/schemas/Agents.Agent.SortField"}},{"explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/Common.SortDirection"}},{"$ref":"#/components/parameters/Agents.Tag.WorkflowTagFilter.tagIds"},{"$ref":"#/components/parameters/Agents.Tag.WorkflowTagFilter.tagMatch"},{"$ref":"#/components/parameters/Agents.Tag.WorkflowTagFilter.withoutTagGroupId"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Workflows.Workflow.Base"},"type":"array"},"page":{"format":"int64","type":"integer"},"pageSize":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"}},"required":["items","page","pageSize","total"],"type":"object"}}},"description":"The request has succeeded."},"400":{"content":{"text/plain":{"schema":{"enum":["Invalid request parameters."],"type":"string"}}},"description":"The server could not understand the request due to invalid syntax."},"404":{"content":{"text/plain":{"schema":{"enum":["Organization not found."],"type":"string"}}},"description":"The server cannot find the requested resource."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"List workflows","tags":["Workflows"]},"post":{"description":"Create a workflow and its first version. Without a version, the workflow starts blank with a single start node.","operationId":"Workflow_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.CreateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.CreateResponse"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/workflows/available-tools":{"get":{"description":"List the tools available to AI task nodes in workflows.","operationId":"WorkflowAvailableTools_list","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.AvailableToolsResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List available tools","tags":["Workflows"]}},"/agents/v2/workflows/validate":{"post":{"description":"Validate a workflow spec that does not belong to an agent yet, returning blocking errors and advisory warnings. The pre-agentCreate counterpart of /agents/{agentId}/workflows/validate.","operationId":"WorkflowSpecValidation_validate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.ExternalCreateWorkflowRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowValidationResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Validate workflow spec","tags":["Workflows"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}":{"delete":{"description":"Delete a workflow. Only allowed when all its executions are in a terminal status (completed, cancelled, or failed).","operationId":"WorkflowById_delete","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete workflow","tags":["Workflows"],"x-hidden":true},"patch":{"description":"Update mutable workflow fields.","operationId":"WorkflowById_update","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.UpdateRequest"}}},"required":true},"responses":{"200":{"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Update workflow","tags":["Workflows"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}/execute":{"post":{"description":"Start an execution of the workflow's published version, of the version given in the request, or of the editable head when head is true.","operationId":"WorkflowExecute_post","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.ExecuteRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.ExecuteResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"Execute workflow","tags":["Workflows"]}},"/agents/v2/workflows/{workflowId}/execute/sync":{"post":{"description":"Start an execution of the workflow and wait for it to finish, up to timeoutSeconds.\nReturns 200 with the result once the execution completes, fails or is cancelled.\nReturns 202 when it has not finished in time, or when it is paused or awaiting\nconfirmation. The execution keeps running; follow it with GET /executions/{executionId}.\nThis call is not idempotent: on a gateway timeout, look the execution up instead of retrying.","operationId":"WorkflowExecuteSync_post","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.ExecuteSyncRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.ExecuteSyncResponse"}}},"description":"The request has succeeded."},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Workflow.ExecuteSyncResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Error"}}},"description":"An unexpected error response."}},"summary":"Execute workflow and wait for the result","tags":["Workflows"]}},"/agents/v2/workflows/{workflowId}/head/files":{"get":{"description":"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned `rev` can be supplied as `baseRev` to patch without a second fetch.","operationId":"WorkflowHead_getFiles","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus file bytes within the response budget).","explode":false,"in":"query","name":"contents","schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileContentsMode"}},{"description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","in":"query","name":"paths","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Narrow which variants/\u003ckey\u003e/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","in":"query","name":"variants","schema":{"type":"string"}},{"description":"Per-file ceiling, in bytes, for inlined file contents. Clamped to the server maximum. Files above the ceiling stay references.","explode":false,"in":"query","name":"maxFileBytes","schema":{"format":"int64","type":"integer"}},{"description":"Ceiling, in bytes, on the total inlined file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","explode":false,"in":"query","name":"maxTotalBytes","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.FileTree"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow head files","tags":["Files"]},"patch":{"description":"Patch the editable head's file representation in place: apply file writes and deletes, re-derive the structured workflow, and persist it. Structural-file writes require a matching baseRev. When the head is frozen (published or executed) the edit forks a fresh version behind the scenes.","operationId":"WorkflowHead_patchFiles","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.FilesPatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.Snapshot"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ConflictErrorBody"}}},"description":"The request conflicts with the current state of the server."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Patch workflow head files","tags":["Files"]}},"/agents/v2/workflows/{workflowId}/head/publish":{"post":{"description":"Publish the editable head as the workflow's published version","operationId":"WorkflowHead_publish","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.HeadPublishResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Publish workflow head","tags":["Files"]}},"/agents/v2/workflows/{workflowId}/head/validate":{"post":{"description":"Validate the editable head without changing it: the checks publish and run apply, as blocking errors and advisory warnings; the environment's capability rule; and what only the head's files show: a Python file nothing can run, a scripted node whose script is not in its directory, a script whose entry function takes no args while the node declares inputs, a script that hands off to a node that is not one of its transitions.","operationId":"WorkflowHead_validate","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.ValidationResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Validate workflow head","tags":["Files"]}},"/agents/v2/workflows/{workflowId}/versions":{"get":{"description":"List every version of the workflow with lightweight metadata","operationId":"WorkflowVersions_list","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Workflows.Version.Ref"},"type":"array"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"List workflow versions","tags":["Workflow Versions"]},"post":{"description":"Create a new unpublished version of the workflow","operationId":"WorkflowVersions_create","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.CreateRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.CreateResponse"}}},"description":"The request has succeeded and a new resource has been created as a result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Create workflow version","tags":["Workflow Versions"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}/versions/validate":{"post":{"description":"Validate a version spec for the workflow without persisting it, returning blocking errors and advisory warnings","operationId":"WorkflowVersions_validate","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.CreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.ValidationResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Validate workflow version","tags":["Workflow Versions"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}/versions/{versionId}":{"delete":{"description":"Delete an unpublished version that has no executions","operationId":"WorkflowVersions_delete","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. "},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Delete workflow version","tags":["Workflow Versions"],"x-hidden":true},"get":{"description":"Get a workflow version by its ID","operationId":"WorkflowVersions_get","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.Snapshot"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow version","tags":["Workflow Versions"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}/versions/{versionId}/execute":{"post":{"description":"Execute a workflow version by its ID, published or not","operationId":"WorkflowVersions_execute","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.ExecuteRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.ExecuteResponse"}}},"description":"The request has been accepted for processing, but processing has not yet completed."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.PaymentRequiredErrorBody"}}},"description":"Client error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Execute workflow version","tags":["Workflow Versions"],"x-hidden":true}},"/agents/v2/workflows/{workflowId}/versions/{versionId}/files":{"get":{"description":"Get a workflow version rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id.","operationId":"WorkflowVersions_getFiles","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus file bytes within the response budget).","explode":false,"in":"query","name":"contents","schema":{"$ref":"#/components/schemas/Agents.Workflow.WorkflowFileContentsMode"}},{"description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","in":"query","name":"paths","schema":{"items":{"type":"string"},"type":"array"}},{"description":"Narrow which variants/\u003ckey\u003e/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","in":"query","name":"variants","schema":{"type":"string"}},{"description":"Per-file ceiling, in bytes, for inlined file contents. Clamped to the server maximum. Files above the ceiling stay references.","explode":false,"in":"query","name":"maxFileBytes","schema":{"format":"int64","type":"integer"}},{"description":"Ceiling, in bytes, on the total inlined file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","explode":false,"in":"query","name":"maxTotalBytes","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.FileTree"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow version files","tags":["Workflow Versions"]}},"/agents/v2/workflows/{workflowId}/versions/{versionId}/inputs":{"get":{"description":"Get the input variable names a workflow version accepts at execution time","operationId":"WorkflowVersions_getInputs","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.Inputs"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow version inputs","tags":["Workflow Versions"]}},"/agents/v2/workflows/{workflowId}/versions/{versionId}/output-schemas":{"get":{"description":"Get the output schemas configured for a workflow version's output nodes, keyed by output node name","operationId":"WorkflowVersions_getOutputSchemas","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.OutputSchemas"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Get workflow version output schemas","tags":["Workflow Versions"]}},"/agents/v2/workflows/{workflowId}/versions/{versionId}/publish":{"post":{"description":"Publish an unpublished version, assigning it a version number","operationId":"WorkflowVersions_publish","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}},{"in":"path","name":"versionId","required":true,"schema":{"$ref":"#/components/schemas/Common.uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflows.Version.PublishResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Publish workflow version","tags":["Workflow Versions"],"x-hidden":true}},"/users/v2/whoami":{"get":{"description":"Returns who the request acts as and for which organization. Use it to check a credential before you rely on it.","operationId":"Whoami_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Users.Whoami.WhoamiResponse"}}},"description":"The request has succeeded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.BadRequestErrorBody"}}},"description":"The server could not understand the request due to invalid syntax."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.UnauthorizedErrorBody"}}},"description":"Access is unauthorized."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.ForbiddenErrorBody"}}},"description":"Access is forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.NotFoundErrorBody"}}},"description":"The server cannot find the requested resource."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.InternalServerErrorBody"}}},"description":"Server error"}},"summary":"Who am I","tags":["Context"]}}},"security":[{"ApiKeyAuth":[]}],"servers":[{"url":"https://odyssey.asteroid.ai"}],"tags":[{"name":"Agents"},{"name":"Environments"},{"name":"Schedules"},{"name":"Execution"},{"name":"Files"},{"name":"Profiles"},{"name":"Profile Groups"},{"name":"Agent Profiles"},{"name":"Agent Profile Pools"},{"name":"Workflows"},{"name":"Execution Batches"},{"name":"Scheduled Executions"},{"name":"Schema"},{"name":"Documentation"},{"name":"Context"},{"name":"API Keys"},{"name":"Integrations"},{"name":"Billing"},{"name":"Admin Customer Activity"},{"name":"Reference"},{"name":"Workflow Tags"},{"name":"Secrets"},{"name":"Vault"},{"name":"Catalog"},{"name":"Chats"},{"name":"Insights"},{"name":"Portal Skills"},{"name":"Skills"},{"name":"Workflow Versions"}]}
