Update a Task

Update an existing Task with new configuration or create a new revision. When updating a Task, you can: 1. Modify basic Task properties (name, description, enabled status, task_run_visibility) 2. Create a new revision with updated prompts, models, and configuration (including fallback models) 3. Manage active revisions and their traffic weights for A/B testing 4. Update tags for the Task or specific revisions Task Run Visibility Control: - Update `task_run_visibility` to control who can view all task runs - Options: `owner_only`, `editors_and_owners`, `all_viewers` Fallback Model Support: - Configure `fallback_llm_model_id` and `fallback_llm_config` for automatic failover - Improves reliability when primary model encounters errors or rate limits Note: Creating a new revision does not automatically make it active. Use the active_revisions field to control which revisions receive traffic.

Authentication

AuthorizationBearer

Bearer token authentication using JWT tokens from Ory Kratos/Hydra

Path parameters

org_idstringRequiredformat: "uuid"
The unique identifier of the organization.
project_idstringRequiredformat: "uuid"
The unique identifier of the project.
task_idstringRequiredformat: "uuid"
The specific Task to reference.

Request

This endpoint expects an object.
system_promptstring or nullOptional
The system prompt that is used to set the LLM context.
user_promptstring or nullOptional

The description of the Task. It is not required to mention the outputs in the prompt, but it can help the model to understand the context better. Any input strings should be referenced with the dynamic {...} syntax, this informs the model to look for those values in the input data.

llm_model_idstring or nullOptionalformat: "uuid"
The LLM model to use for the Task.
llm_configmap from strings to any or nullOptional
Specific configuration parameters for the LLM model.
output_formatmap from strings to objects or enums or nullOptional

This gives control over the structure of how the Task responds. Supports shorthand notation or an object with type can be specified for each attribute. In most instances, the LLM will be able to generate the desired output into the relevant property, but an optional description can be passed to provide it with additional context.

task_forwarder_idstring or nullOptionalformat: "uuid"
The unique identifier for a valid Task Forwarder. It is used to forward the Task output to another system or service.
ragobject or nullOptional

Note: This is a Paid Tier feature. Provide additional domain specific input to the LLM so that it is able to reference user specific information when executing the Task. Examples of this could be a product catalogue, terms and conditions or a user manual.

file_input_modeenum or nullOptional

Specifies what file types are accepted for visual LLM processing. Values: ‘none’ (default), ‘image’, ‘pdf’, ‘image_or_pdf’, ‘any’.

annotationstring or nullOptional<=255 characters
testbooleanOptionalDefaults to false

True if revision is a test revision. Test revisions cannot be live and are used for rapid Task testing/iteration.

input_processorslist of objectsOptional
optimise_imagesboolean or nullOptionalDefaults to true

When true (default) images will be automatically optimised before processing. Set to false to disable lossy image optimisation.

fallback_llm_model_idstring or nullOptionalformat: "uuid"
The LLM model to use as fallback if the primary model fails.
fallback_llm_configmap from strings to any or nullOptional
Specific configuration parameters for the fallback LLM model.
tool_choiceenum or nullOptional
Tool invocation mode when MCP tools are attached.
task_mcp_tool_idslist of strings or nullOptional
Task MCP tool IDs attached to this revision.
namestring or nullOptionalformat: "^[a-zA-Z0-9\- ]+$"<=63 characters
A name or reference for the Task.
descriptionstring or nullOptional
A longer description of the Task for internal reference.
enabledboolean or nullOptional

When true the Task is active and callable. false denotes the Task is not yet operational.

exposed_to_agentsboolean or nullOptional

When true the Task is accessible to agents through the unauthenticated agent endpoint.

task_run_visibilityenum or nullOptional

Controls who can view all task runs. ‘owner_only’ - only task owners see all runs (default), ‘editors_and_owners’ - task editors and owners see all runs, ‘all_viewers’ - all users with view permission see all runs.

active_revisionslist of objects or nullOptional
The revision currently active for this Task.
tagslist of strings or nullOptional
revision_tagslist of strings or nullOptional

Response

Task updated successfully
namestringformat: "^[a-zA-Z0-9\- ]+$"
A name or reference for the Task.
enabledboolean

When true the Task is active and callable. false denotes the Task is not yet operational.

idstringformat: "uuid"
The unique identifier of the Task.
project_idstringformat: "uuid"
The Project that the Task belongs to.
createdstring
When the Task was created.
access_tokenstring or null
Task specific Bearer token that can be used to authenticated when executing this Task.
active_revisionslist of objects
The revision currently active for this Task.
descriptionstring or null
A longer description of the Task for internal reference.
publicbooleanDefaults to false

When true the Task is public and can be accessed by any User.

exposed_to_agentsbooleanDefaults to false

When true the Task is accessible to agents through the unauthenticated agent endpoint.

output_modalityenum
Specifies the output modality of the task. Can be 'json', 'image', 'audio', 'pdf', 'text', or 'csv'. Defaults to 'json'.
task_run_visibilityenumDefaults to owner_only

Controls who can view all task runs. ‘owner_only’ - only task owners see all runs (default), ‘editors_and_owners’ - task editors and owners see all runs, ‘all_viewers’ - all users with view permission see all runs.

modifiedstring or null
When the Task was last updated.
deletedstring or null
Timestamp when the task was deleted, if applicable.
revisionslist of objects

Each update to a Task results in a new Revision being created. Task Revisions are a powerful concept that can be used to assist with A/B testing, comparing responses from different LLM’s, etc.

cloned_from_task_revision_idstring or nullformat: "uuid"
The unique identifier of the task revision this task was cloned from, if applicable.
tagslist of objects

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
500
Internal Server Error