Arthur AI Tasks V1 API
The Tasks V1 API from Arthur AI — 7 operation(s) for tasks v1.
The Tasks V1 API from Arthur AI — 7 operation(s) for tasks v1.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/arthur-ai-tasks-v1-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Arthur Scope Agents V1 Tasks V1 API
version: 0.1.0
servers:
- url: https://platform.arthur.ai/api
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Tasks V1
paths:
/api/v1/models/{model_id}/task:
patch:
tags:
- Tasks V1
summary: Update A Task
description: Submits a job to update the task definition for this model and returns the job ID. When the job finishes, it will upload the latest copy of the task state. Requires model_task_update permission.
operationId: patch_task
security:
- OAuth2AuthorizationCode:
- model_task_update
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchTaskRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskMutationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Tasks V1
summary: Delete A Task
description: Submits a job to delete the task and the corresponding platform model, and returns the job ID. Requires model_task_delete permission.
operationId: delete_task
security:
- OAuth2AuthorizationCode:
- model_task_delete
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskMutationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Tasks V1
summary: Get Cached Task State
description: Retrieve the task state cached in the control plane. Requires model_task_read permission.
operationId: get_task_state_cache
security:
- OAuth2AuthorizationCode:
- model_task_read
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskReadResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/models/{model_id}/task/sync:
post:
tags:
- Tasks V1
summary: Sync A Task
description: Submits a job to fetch the latest task state and returns the job ID. When the job finishes, it will upload the latest copy of the task state. Requires model_task_sync permission.
operationId: sync_task
security:
- OAuth2AuthorizationCode:
- model_task_sync
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskMutationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/models/{model_id}/task/cache:
put:
tags:
- Tasks V1
summary: Upload Task State
description: Upload a copy of the task state to cache in the control plane. Requires model_task_put_state_cache permission.
operationId: put_task_state_cache
security:
- OAuth2AuthorizationCode:
- model_task_put_state_cache
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PutTaskStateCacheRequest'
responses:
'204':
description: Successful Response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/models/{model_id}/task/connection_info:
put:
tags:
- Tasks V1
summary: Upload Task State
description: Upload the task connection information. Requires model_task_put_connection_info permission.
operationId: put_task_connection_info
security:
- OAuth2AuthorizationCode:
- model_task_put_connection_info
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PutTaskConnectionInfo'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskConnectionInfo'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Tasks V1
summary: Get Task Connection Info
description: Retrieve the task connection information. Requires model_task_get_connection_info permission.
operationId: get_task_connection_info
security:
- OAuth2AuthorizationCode:
- model_task_get_connection_info
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskConnectionInfo'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Tasks V1
summary: Delete Connection Info.
description: Deletes connection information for a model. Requires model_task_delete_connection_info permission.
operationId: delete_connection_info
security:
- OAuth2AuthorizationCode:
- model_task_delete_connection_info
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'204':
description: Successful Response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/models/{model_id}/task/regenerate_validation_key:
post:
tags:
- Tasks V1
summary: Regenerate Task Validation Key
description: Regenerate the task validation key. Requires model_task_regenerate_validation_key permission.
operationId: post_regenerate_validation_key
security:
- OAuth2AuthorizationCode:
- model_task_regenerate_validation_key
parameters:
- name: model_id
in: path
required: true
schema:
type: string
format: uuid
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskValidationKeyRegenerationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/projects/{project_id}/tasks:
post:
tags:
- Tasks V1
summary: Create A Task.
description: Submits a job to create a task in the project and returns a job ID. When the job finishes, it will upload a copy of the task state. Requires the project_create_model_task permission.
operationId: project_create_model_task
security:
- OAuth2AuthorizationCode:
- project_create_model_task
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostTaskRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskMutationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/projects/{project_id}/link_task:
post:
tags:
- Tasks V1
summary: Link An Existing Task To A New Model.
description: Submits a job to link an existing task to a new model in the project and returns a job ID. When the job finishes, it will upload a copy of the task state. Requires the project_create_model_link_task permission.
operationId: project_create_model_link_task
security:
- OAuth2AuthorizationCode:
- project_create_model_link_task
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostLinkTaskRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TaskMutationResponse'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Not Found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ReasoningEffortEnum:
type: string
enum:
- none
- minimal
- low
- medium
- high
- default
title: ReasoningEffortEnum
AgentMetadataResponse:
properties:
provider:
$ref: '#/components/schemas/RegisteredAgentProvider'
description: Provider of the registered agent.
gcp_metadata:
anyOf:
- $ref: '#/components/schemas/GCPAgentMetadataResponse'
- type: 'null'
description: Metadata for the agent.
service_names:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Service Names
description: List of service names that send traces to this task
type: object
required:
- provider
title: AgentMetadataResponse
description: Agent metadata for responses.
TaskReadResponse:
properties:
task:
anyOf:
- $ref: '#/components/schemas/TaskResponse'
- type: 'null'
description: Cached copy of the task state in the control plane. May be null if it has not been cached yet from the data plane.
last_synced_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Synced At
description: Time of last record update. Will be null if the task state has not been cached yet.
scope_model_id:
type: string
format: uuid
title: Scope Model Id
description: The ID of the corresponding scope model for this task.
evals:
anyOf:
- items:
$ref: '#/components/schemas/Eval'
type: array
- type: 'null'
title: Evals
description: Copy of the eval state for this task in the control plane. May be null if it has not been cached yet from the data plane.
continuous_evals:
anyOf:
- items:
$ref: '#/components/schemas/ContinuousEvalResponse'
type: array
- type: 'null'
title: Continuous Evals
description: Copy of the continuous eval state for this task in the control plane. May be null if it has not been cached yet from the data plane.
transforms:
anyOf:
- items:
$ref: '#/components/schemas/TraceTransformResponse'
type: array
- type: 'null'
title: Transforms
description: Copy of the transform state for this task in the control plane. May be null if it has not been cached yet from the data plane.
type: object
required:
- scope_model_id
title: TaskReadResponse
LLMBaseConfigSettings:
properties:
timeout:
anyOf:
- type: number
- type: 'null'
title: Timeout
description: Request timeout in seconds
temperature:
anyOf:
- type: number
- type: 'null'
title: Temperature
description: Sampling temperature (0.0 to 2.0). Higher values make output more random
top_p:
anyOf:
- type: number
- type: 'null'
title: Top P
description: Top-p sampling parameter (0.0 to 1.0). Alternative to temperature
max_tokens:
anyOf:
- type: integer
- type: 'null'
title: Max Tokens
description: Maximum number of tokens to generate in the response
stop:
anyOf:
- type: string
- type: 'null'
title: Stop
description: Stop sequence(s) where the model should stop generating
presence_penalty:
anyOf:
- type: number
- type: 'null'
title: Presence Penalty
description: Presence penalty (-2.0 to 2.0). Positive values penalize new tokens based on their presence
frequency_penalty:
anyOf:
- type: number
- type: 'null'
title: Frequency Penalty
description: Frequency penalty (-2.0 to 2.0). Positive values penalize tokens based on frequency
seed:
anyOf:
- type: integer
- type: 'null'
title: Seed
description: Random seed for reproducible outputs
logprobs:
anyOf:
- type: boolean
- type: 'null'
title: Logprobs
description: Whether to return log probabilities of output tokens
top_logprobs:
anyOf:
- type: integer
- type: 'null'
title: Top Logprobs
description: Number of most likely tokens to return log probabilities for (1-20)
logit_bias:
anyOf:
- items:
$ref: '#/components/schemas/LogitBiasItem'
type: array
- type: 'null'
title: Logit Bias
description: Modify likelihood of specified tokens appearing in completion
max_completion_tokens:
anyOf:
- type: integer
- type: 'null'
title: Max Completion Tokens
description: Maximum number of completion tokens (alternative to max_tokens)
reasoning_effort:
anyOf:
- $ref: '#/components/schemas/ReasoningEffortEnum'
- type: 'null'
description: Reasoning effort level for models that support it (e.g., OpenAI o1 series)
thinking:
anyOf:
- $ref: '#/components/schemas/AnthropicThinkingParam'
- type: 'null'
description: Anthropic-specific thinking parameter for Claude models
additionalProperties: false
type: object
title: LLMBaseConfigSettings
ContinuousEvalTransformVariableMappingResponse:
properties:
transform_variable:
type: string
title: Transform Variable
description: Name of the transform variable.
eval_variable:
type: string
title: Eval Variable
description: Name of the eval variable.
type: object
required:
- transform_variable
- eval_variable
title: ContinuousEvalTransformVariableMappingResponse
RegisteredAgentProvider:
type: string
enum:
- gcp
- external
title: RegisteredAgentProvider
PostTaskValidationAPIKey:
properties:
id:
type: string
title: Id
description: The Shield ID for the API key.
name:
type: string
title: Name
description: The user-friendly name of the API key.
key:
type: string
title: Key
description: The value of the API key.
type: object
required:
- id
- name
- key
title: PostTaskValidationAPIKey
KeywordsConfig:
properties:
keywords:
items:
type: string
type: array
title: Keywords
description: List of Keywords
type: object
required:
- keywords
title: KeywordsConfig
example:
keywords:
- Blocked_Keyword_1
- Blocked_Keyword_2
MetricResponse:
properties:
id:
type: string
title: Id
description: ID of the Metric
name:
type: string
title: Name
description: Name of the Metric
type:
$ref: '#/components/schemas/MetricType'
description: Type of the Metric
metric_metadata:
type: string
title: Metric Metadata
description: Metadata of the Metric
config:
anyOf:
- type: string
- type: 'null'
title: Config
description: JSON-serialized configuration for the Metric
created_at:
type: string
format: date-time
title: Created At
description: Time the Metric was created in unix milliseconds
updated_at:
type: string
format: date-time
title: Updated At
description: Time the Metric was updated in unix milliseconds
enabled:
anyOf:
- type: boolean
- type: 'null'
title: Enabled
description: Whether the Metric is enabled
type: object
required:
- id
- name
- type
- metric_metadata
- created_at
- updated_at
title: MetricResponse
RuleScope:
type: string
enum:
- default
- task
title: RuleScope
ExamplesConfig:
properties:
examples:
items:
$ref: '#/components/schemas/ExampleConfig'
type: array
title: Examples
description: List of all the examples for Sensitive Data Rule
hint:
anyOf:
- type: string
- type: 'null'
title: Hint
description: Optional. Hint added to describe what Sensitive Data Rule should be checking for
type: object
required:
- examples
title: ExamplesConfig
example:
examples:
- example: John has O negative blood group
result: true
- example: Most of the people have A positive blood group
result: false
hint: specific individual's blood type
AnthropicThinkingParam:
properties:
type:
type: string
enum:
- enabled
- adaptive
title: Type
budget_tokens:
type: integer
title: Budget Tokens
additionalProperties: false
type: object
title: AnthropicThinkingParam
TaskConnectionInfo:
properties:
created_at:
type: string
format: date-time
title: Created At
description: Time of record creation.
updated_at:
type: string
format: date-time
title: Updated At
description: Time of last record update.
validation_key:
$ref: '#/components/schemas/TaskValidationAPIKey'
description: The information for the API key with validation permissions for the task.
api_host:
type: string
title: Api Host
description: Host for the task.
type: object
required:
- created_at
- updated_at
- validation_key
- api_host
title: TaskConnectionInfo
TaskResponse:
properties:
id:
type: string
title: Id
description: ' ID of the task'
name:
type: string
title: Name
description: Name of the task
created_at:
type: integer
title: Created At
description: Time the task was created in unix milliseconds
updated_at:
type: integer
title: Updated At
description: Time the task was created in unix milliseconds
is_agentic:
anyOf:
- type: boolean
- type: 'null'
title: Is Agentic
description: Whether the task is agentic or not
is_system_task:
anyOf:
- type: boolean
- type: 'null'
title: Is System Task
description: Whether this is a system-managed task (e.g., for traces without a task_id or service name, or for Arthur-created traces)
default: false
is_autocreated:
anyOf:
- type: boolean
- type: 'null'
title: Is Autocreated
description: Whether this task was automatically created by Arthur
default: false
is_archived:
anyOf:
- type: boolean
- type: 'null'
title: Is Archived
description: Whether this task is archived
default: false
agent_metadata:
anyOf:
- $ref: '#/components/schemas/AgentMetadataResponse'
- type: 'null'
description: Metadata to describe the creation source/provider for registered agents.
rules:
items:
$ref: '#/components/schemas/RuleResponse'
type: array
title: Rules
description: List of all the rules for the task.
metrics:
anyOf:
- items:
$ref: '#/components/schemas/MetricResponse'
type: array
- type: 'null'
title: Metrics
description: List of all the metrics for the task.
type: object
required:
- id
- name
- created_at
- updated_at
- rules
title: TaskResponse
RegexConfig:
properties:
regex_patterns:
items:
type: string
type: array
title: Regex Patterns
description: List of Regex patterns to be used for validation. Be sure to encode requests in JSON and account for escape characters.
additionalProperties: false
type: object
required:
- regex_patterns
title: RegexConfig
example:
regex_patterns:
- \d{3}-\d{2}-\d{4}
- \d{5}-\d{6}-\d{7}
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Eval:
properties:
name:
type: string
title: Name
description: Name of the llm eval
eval_kind:
type: string
title: Eval Kind
description: Eval kind discriminator (e.g. 'llm_as_a_judge', 'pii', 'toxicity')
default: llm_as_a_judge
model_name:
anyOf:
- type: string
- type: 'null'
title: Model Name
description: Name of the LLM model (e.g., 'gpt-4o', 'claude-3-sonnet'). None for ML evals.
model_provider:
anyOf:
- $ref: '#/components/schemas/ModelProvider'
- type: 'null'
description: Provider of the LLM model (e.g., 'openai', 'anthropic', 'azure'). None for ML evals.
instructions:
anyOf:
- type: string
- type: 'null'
title: Instructions
description: Instructions for the llm eval. None for ML evals.
variables:
items:
type: string
type: array
title: Variables
description: List of variable names for the llm eval
tags:
items:
type: string
type: array
title: Tags
description: List of tags for this llm eval version
config:
anyOf:
- $ref: '#/components/schemas/LLMBaseConfigSettings'
- additionalProperties: true
type: object
- type: 'null'
title: EvalConfig
description: Eval configuration. LLMBaseConfigSettings for LLM evals; type-specific dict for ML evals.
created_at:
type: string
format: date-time
title: Created At
description: Timestamp when the llm eval was created.
deleted_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Deleted At
description: Time that this llm eval was deleted
version:
type: integer
title: Version
description: Version of the llm eval
default: 1
type: object
required:
- name
- created_at
title: Eval
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthur-ai/refs/heads/main/openapi/arthur-ai-tasks-v1-api-openapi.yml