ArthurAI Jobs V1 API
The Jobs V1 API from ArthurAI — 7 operation(s) for jobs v1.
The Jobs V1 API from ArthurAI — 7 operation(s) for jobs 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/arthurai-jobs-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 GenAI Engine Agent Discovery Jobs V1 API
version: 2.1.688
servers:
- url: https://platform.arthur.ai/api
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Jobs V1
paths:
/api/v1/jobs/{job_id}:
get:
tags:
- Jobs V1
summary: Get Job By Id
description: Returns a single job by ID. Requires project_job_read permission.
operationId: get_job
security:
- OAuth2AuthorizationCode:
- project_job_read
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'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'
patch:
tags:
- Jobs V1
summary: Update Job By Id
description: Updates a single job by ID. Requires project_job_update permission.
operationId: update_job
security:
- OAuth2AuthorizationCode:
- project_job_update
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchJob'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'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/jobs/{job_id}/state:
put:
tags:
- Jobs V1
summary: Update Job State
description: Update job state. Requires project_job_put_state permission.
operationId: put_job_state
security:
- OAuth2AuthorizationCode:
- project_job_put_state
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
- name: job_run_id
in: query
required: true
schema:
type: string
format: uuid
description: Job run ID associated with the state update.
title: Job Run Id
description: Job run ID associated with the state update.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PutJobState'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'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/jobs/{job_id}/runs:
get:
tags:
- Jobs V1
summary: Get Job Runs
description: Get Job runs. Required project_job_read_runs permission.
operationId: get_job_runs
security:
- OAuth2AuthorizationCode:
- project_job_read_runs
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceList_JobRun_'
'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/jobs/{job_id}/runs/{job_run_id}/logs:
post:
tags:
- Jobs V1
summary: Append To Job Logs
description: Append job logs. Requires project_job_append_logs permission.
operationId: post_job_logs
security:
- OAuth2AuthorizationCode:
- project_job_append_logs
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
- name: job_run_id
in: path
required: true
schema:
type: string
format: uuid
description: The job run associated with the logs. Should be formatted as a UUID.
title: Job Run Id
description: The job run associated with the logs. Should be formatted as a UUID.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobLogs'
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'
get:
tags:
- Jobs V1
summary: Get Job Logs
description: Get job logs for a run. Requires project_job_read_logs permission.
operationId: get_job_logs
security:
- OAuth2AuthorizationCode:
- project_job_read_logs
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
- name: job_run_id
in: path
required: true
schema:
type: string
format: uuid
description: The job run associated with the logs. Should be formatted as a UUID.
title: Job Run Id
description: The job run associated with the logs. Should be formatted as a UUID.
- name: order
in: query
required: false
schema:
$ref: '#/components/schemas/SortOrder'
description: Override the sort order used. Optional.
default: asc
description: Override the sort order used. Optional.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceList_JobLog_'
'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/jobs/{job_id}/runs/{job_run_id}/errors:
post:
tags:
- Jobs V1
summary: Append To Job Errors
description: Append job errors. Requires project_job_append_errors permission.
operationId: post_job_errors
security:
- OAuth2AuthorizationCode:
- project_job_append_errors
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
- name: job_run_id
in: path
required: true
schema:
type: string
format: uuid
description: The job run associated with the errors. Should be formatted as a UUID.
title: Job Run Id
description: The job run associated with the errors. Should be formatted as a UUID.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobErrors'
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'
get:
tags:
- Jobs V1
summary: Get Job Errors
description: Get job errors. Requires project_job_read_errors permission.
operationId: get_job_errors
security:
- OAuth2AuthorizationCode:
- project_job_read_errors
parameters:
- name: job_id
in: path
required: true
schema:
type: string
format: uuid
title: Job Id
- name: job_run_id
in: path
required: true
schema:
type: string
format: uuid
description: The job run associated with the errors. Should be formatted as a UUID.
title: Job Run Id
description: The job run associated with the errors. Should be formatted as a UUID.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceList_JobError_'
'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}/jobs:
get:
tags:
- Jobs V1
summary: List Jobs
description: 'Returns jobs in the project matching the filter and sorting criteria. If multiple filters are specified, results will only be returned that match all of the specified criteria. Requires project_list_jobs permission. Note: exclude_kinds takes precedence over kinds and will exclude jobs even if they are in kinds.'
operationId: get_jobs
security:
- OAuth2AuthorizationCode:
- project_list_jobs
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
title: Project Id
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/JobsSort'
description: Override the field used for sorting the returned list. Optional.
default: queued_at
description: Override the field used for sorting the returned list. Optional.
- name: order
in: query
required: false
schema:
$ref: '#/components/schemas/SortOrder'
description: Override the sort order used. Optional.
default: desc
description: Override the sort order used. Optional.
- name: duration_sec_greater_than
in: query
required: false
schema:
type: integer
description: Filter the results for jobs that ran for greater than or equal to this number of seconds. Optional.
title: Duration Sec Greater Than
description: Filter the results for jobs that ran for greater than or equal to this number of seconds. Optional.
- name: duration_sec_less_than
in: query
required: false
schema:
type: integer
description: Filter the results for the jobs that ran for less than or equal to this number of seconds. Optional.
title: Duration Sec Less Than
description: Filter the results for the jobs that ran for less than or equal to this number of seconds. Optional.
- name: started_before
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that started before this timestamp. Optional.
title: Started Before
description: Filter the results for the jobs that started before this timestamp. Optional.
- name: started_after
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that started after this timestamp. Optional.
title: Started After
description: Filter the results for the jobs that started after this timestamp. Optional.
- name: queued_before
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that were queued before this timestamp. Optional.
title: Queued Before
description: Filter the results for the jobs that were queued before this timestamp. Optional.
- name: queued_after
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that were queued after this timestamp. Optional.
title: Queued After
description: Filter the results for the jobs that were queued after this timestamp. Optional.
- name: ready_before
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that are ready before this timestamp. Optional.
title: Ready Before
description: Filter the results for the jobs that are ready before this timestamp. Optional.
- name: ready_before_current_time
in: query
required: false
schema:
type: boolean
description: When true, filters jobs ready before the current server time. Takes precedence over ready_before. Optional.
default: false
title: Ready Before Current Time
description: When true, filters jobs ready before the current server time. Takes precedence over ready_before. Optional.
- name: ready_after
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that are ready after this timestamp. Optional.
title: Ready After
description: Filter the results for the jobs that are ready after this timestamp. Optional.
- name: ready_after_current_time
in: query
required: false
schema:
type: boolean
description: When true, filters jobs ready after the current server time. Takes precedence over ready_after. Optional.
default: false
title: Ready After Current Time
description: When true, filters jobs ready after the current server time. Takes precedence over ready_after. Optional.
- name: finished_before
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that finished before this timestamp. Optional.
title: Finished Before
description: Filter the results for the jobs that finished before this timestamp. Optional.
- name: finished_after
in: query
required: false
schema:
type: string
format: date-time
description: Filter the results for the jobs that finished after this timestamp. Optional.
title: Finished After
description: Filter the results for the jobs that finished after this timestamp. Optional.
- name: kinds
in: query
required: false
schema:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/JobKind'
description: Filter the results for the jobs of this kind. Optional.
title: Kinds
description: Filter the results for the jobs of this kind. Optional.
- name: exclude_kinds
in: query
required: false
schema:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/JobKind'
description: Exclude jobs of these kinds. Takes precedence over kinds.
title: Exclude Kinds
description: Exclude jobs of these kinds. Takes precedence over kinds.
- name: states
in: query
required: false
schema:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/JobState'
description: Filter the results for jobs in these states. Optional.
title: States
description: Filter the results for jobs in these states. Optional.
- name: error_count_above
in: query
required: false
schema:
type: integer
description: Filter the results for the jobs that had greater than or equal to this many errors. Optional.
title: Error Count Above
description: Filter the results for the jobs that had greater than or equal to this many errors. Optional.
- name: data_plane_id
in: query
required: false
schema:
type: string
format: uuid
description: Filter the results for the jobs that were ran on this dataplane. Optional.
title: Data Plane Id
description: Filter the results for the jobs that were ran on this dataplane. Optional.
- name: schedule_id
in: query
required: false
schema:
type: string
format: uuid
description: Filter the results for jobs associated with this schedule ID. Optional.
title: Schedule Id
description: Filter the results for jobs associated with this schedule ID. Optional.
- name: trigger_type
in: query
required: false
schema:
$ref: '#/components/schemas/JobTrigger'
description: Filter the results for the jobs that were started by this trigger type. Optional.
description: Filter the results for the jobs that were started by this trigger type. Optional.
- name: triggered_by_user_id
in: query
required: false
schema:
type: string
format: uuid
description: Filter the results for the jobs that started by this user id. Only valid when trigger_type = 'user'. Optional.
title: Triggered By User Id
description: Filter the results for the jobs that started by this user id. Only valid when trigger_type = 'user'. Optional.
- name: triggered_by_user_email
in: query
required: false
schema:
type: string
description: Filter the results for the jobs that started by this user email. Only valid when trigger_type = 'user'. Optional.
format: email
title: Triggered By User Email
description: Filter the results for the jobs that started by this user email. Only valid when trigger_type = 'user'. Optional.
- name: model_id
in: query
required: false
schema:
type: string
format: uuid
description: Filter the results for jobs associated with this model ID. Includes jobs associated with datasets used by the model. Optional.
title: Model Id
description: Filter the results for jobs associated with this model ID. Includes jobs associated with datasets used by the model. Optional.
- name: nonce
in: query
required: false
schema:
type: string
description: Filter the results for jobs that match a job nonce used to ensure exactly once execution.
title: Nonce
description: Filter the results for jobs that match a job nonce used to ensure exactly once execution.
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
description: The page to return starting from 1 up to total_pages.
default: 1
title: Page
description: The page to return starting from 1 up to total_pages.
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
description: The number of records per page. The max is 1000.
default: 20
title: Page Size
description: The number of records per page. The max is 1000.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InfiniteResourceList_Job_'
'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'
post:
tags:
- Jobs V1
summary: Submit Jobs Batch
description: Submit new jobs to run. Requires project_create_job permission.
operationId: post_submit_jobs_batch
security:
- OAuth2AuthorizationCode:
- project_create_job
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/PostJobBatch'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/JobsBatch'
'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'
/api/v1/data_planes/{data_plane_id}/jobs/next:
post:
tags:
- Jobs V1
summary: Dequeue Job
description: Returns the next available job for processing from the data plane's job queue. Requires data_plane_jobs_dequeue_next permission.
operationId: post_dequeue_job
security:
- OAuth2AuthorizationCode:
- data_plane_jobs_dequeue_next
parameters:
- name: data_plane_id
in: path
required: true
schema:
type: string
format: uuid
title: Data Plane Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobDequeueParameters'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/JobRun'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
description: Internal Server Error
'204':
description: No Content
'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:
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}
JobTrigger:
type: string
enum:
- user
- schedule
- event
title: JobTrigger
RegenerateTaskValidationKeyJobSpec:
properties:
job_type:
type: string
const: regenerate_validation_key
title: Job Type
default: regenerate_validation_key
scope_model_id:
type: string
format: uuid
title: Scope Model Id
description: The ID of the model to regenerate the validation key for.
type: object
required:
- scope_model_id
title: RegenerateTaskValidationKeyJobSpec
Job:
properties:
id:
type: string
format: uuid
title: Id
description: UUID of the job.
kind:
$ref: '#/components/schemas/JobKind'
description: Type of job.
job_spec:
anyOf:
- $ref: '#/components/schemas/FetchDataJobSpec'
- $ref: '#/components/schemas/MetricsCalculationJobSpec'
- $ref: '#/components/schemas/SchemaInspectionJobSpec'
- $ref: '#/components/schemas/ConnectorCheckJobSpec'
- $ref: '#/components/schemas/ListDatasetsJobSpec'
- $ref: '#/components/schemas/ScheduleJobsJobSpec'
- $ref: '#/components/schemas/AlertCheckJobSpec'
- $ref: '#/components/schemas/CreateModelTaskJobSpec'
- $ref: '#/components/schemas/UpdateModelTaskRulesJobSpec'
- $ref: '#/components/schemas/DeleteModelTaskJobSpec'
- $ref: '#/components/schemas/FetchModelTaskJobSpec'
- $ref: '#/components/schemas/RegenerateTaskValidationKeyJobSpec'
- $ref: '#/components/schemas/CreateModelLinkTaskJobSpec'
- $ref: '#/components/schemas/TestCustomAggregationJobSpec'
- $ref: '#/components/schemas/DiscoverAgentsJobSpec'
- $ref: '#/components/schemas/CompliancePolicyCheckJobSpec'
title: Job Spec
description: Job specification for the job kind.
state:
$ref: '#/components/schemas/JobState'
description: Current state of the job.
project_id:
type: string
format: uuid
title: Project Id
description: ID of parent project.
data_plane_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Data Plane Id
description: UUID of the data plane that executed the job or null if not picked up by data plane yet.
queued_at:
type: string
format: date-time
title: Queued At
description: ISO 8601 timestamp when the job was queued.
ready_at:
type: string
format: date-time
title: Ready At
description: ISO 8601 timestamp of the earliest time the job can be executed.
started_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Started At
description: ISO 8601 timestamp when the job started or null if not started yet.
finished_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Finished At
description: ISO 8601 timestamp when the job finished or null if not finished yet.
duration_sec:
anyOf:
- type: integer
- type: 'null'
title: Duration Sec
description: Duration of the job in seconds or null if not finished yet.
error_count:
anyOf:
- type: integer
- type: 'null'
title: Error Count
description: Count of errors the job flagged or null if not finished yet.
trigger_type:
$ref: '#/components/schemas/JobTrigger'
description: Type of trigger.
triggered_by_user:
anyOf:
- $ref: '#/components/schemas/User'
- type: 'null'
description: User object that triggered the job, null if trigger_type is not 'user'.
schedule_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Schedule Id
description: ID of the schedule this job should follow.
attempts:
type: integer
title: Attempts
description: Number of times the job was attempted.
max_attempts:
type: integer
title: Max Attempts
description: Max number of times the job can fail and be retried.
nonce:
anyOf:
- type: string
- type: 'null'
title: Nonce
description: Optional job nonce for ensuring exactly once execution.
memory_requirements_mb:
type: integer
title: Memory Requirements Mb
description: Memory requirements for the job in megabytes.
job_priority:
$ref: '#/components/schemas/JobPriority'
description: Priority of the job.
type: object
required:
- id
- kind
- job_spec
# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthurai/refs/heads/main/openapi/arthurai-jobs-v1-api-openapi.yml