ArthurAI Notebooks API
Endpoints for managing experiment notebooks
Endpoints for managing experiment notebooks
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-notebooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.1.0
info:
title: Arthur GenAI Engine Agent Discovery Notebooks API
version: 2.1.688
description: Endpoints for managing experiment notebooks
tags:
- name: Notebooks
description: Endpoints for managing experiment notebooks
paths:
/api/v1/tasks/{task_id}/notebooks:
post:
tags:
- Notebooks
summary: Create a notebook
description: Create a new notebook for organizing experiments within a task
operationId: create_notebook_api_v1_tasks__task_id__notebooks_post
security:
- API Key: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
title: Task Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNotebookRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Notebooks
summary: List notebooks
description: List all notebooks for a task with pagination and optional name search
operationId: list_notebooks_api_v1_tasks__task_id__notebooks_get
security:
- API Key: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
title: Task Id
- name: name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Name
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/PaginationSortMethod'
description: Sort the results (asc/desc)
default: desc
description: Sort the results (asc/desc)
- name: page_size
in: query
required: false
schema:
type: integer
description: Page size. Default is 10. Must be greater than 0 and less than 5000.
default: 10
title: Page Size
description: Page size. Default is 10. Must be greater than 0 and less than 5000.
- name: page
in: query
required: false
schema:
type: integer
description: Page number
default: 0
title: Page
description: Page number
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/notebooks/{notebook_id}:
get:
tags:
- Notebooks
summary: Get notebook details
description: Get detailed information about a notebook including state and experiment history
operationId: get_notebook_api_v1_notebooks__notebook_id__get
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Notebooks
summary: Update notebook metadata
description: Update notebook name or description (not the state)
operationId: update_notebook_api_v1_notebooks__notebook_id__put
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNotebookRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Notebooks
summary: Delete notebook
description: Delete a notebook (experiments are kept)
operationId: delete_notebook_api_v1_notebooks__notebook_id__delete
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/notebooks/{notebook_id}/state:
get:
tags:
- Notebooks
summary: Get notebook state
description: Get the current state (draft configuration) of a notebook
operationId: get_notebook_state_api_v1_notebooks__notebook_id__state_get
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookState-Output'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Notebooks
summary: Set notebook state
description: Set the state (draft configuration) of a notebook
operationId: set_notebook_state_api_v1_notebooks__notebook_id__state_put
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetNotebookStateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/NotebookDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/notebooks/{notebook_id}/history:
get:
tags:
- Notebooks
summary: Get notebook history
description: Get paginated list of experiments run from this notebook
operationId: get_notebook_history_api_v1_notebooks__notebook_id__history_get
security:
- API Key: []
parameters:
- name: notebook_id
in: path
required: true
schema:
type: string
description: Notebook ID
title: Notebook Id
description: Notebook ID
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/PaginationSortMethod'
description: Sort the results (asc/desc)
default: desc
description: Sort the results (asc/desc)
- name: page_size
in: query
required: false
schema:
type: integer
description: Page size. Default is 10. Must be greater than 0 and less than 5000.
default: 10
title: Page Size
description: Page size. Default is 10. Must be greater than 0 and less than 5000.
- name: page
in: query
required: false
schema:
type: integer
description: Page number
default: 0
title: Page
description: Page number
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PromptExperimentListResponse'
'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
EvalVariableMapping-Input:
properties:
variable_name:
type: string
title: Variable Name
description: Name of the eval variable
source:
oneOf:
- $ref: '#/components/schemas/DatasetColumnVariableSource'
- $ref: '#/components/schemas/ExperimentOutputVariableSource'
title: Source
description: Source of the variable value
discriminator:
propertyName: type
mapping:
dataset_column: '#/components/schemas/DatasetColumnVariableSource'
experiment_output: '#/components/schemas/ExperimentOutputVariableSource'
type: object
required:
- variable_name
- source
title: EvalVariableMapping
description: Mapping of an eval variable to its source (dataset column or experiment output)
CreateNotebookRequest:
properties:
name:
type: string
title: Name
description: Name of the notebook
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description
state:
anyOf:
- $ref: '#/components/schemas/NotebookState-Input'
- type: 'null'
description: Initial state
type: object
required:
- name
title: CreateNotebookRequest
description: Request to create a new notebook
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
PromptExperimentListResponse:
properties:
page:
type: integer
title: Page
description: Current page number (0-indexed)
page_size:
type: integer
title: Page Size
description: Number of items per page
total_pages:
type: integer
title: Total Pages
description: Total number of pages
total_count:
type: integer
title: Total Count
description: Total number of records
data:
items:
$ref: '#/components/schemas/PromptExperimentSummary'
type: array
title: Data
description: List of prompt experiment summaries
type: object
required:
- page
- page_size
- total_pages
- total_count
- data
title: PromptExperimentListResponse
description: Paginated list of prompt experiments
NotebookListResponse:
properties:
data:
items:
$ref: '#/components/schemas/NotebookSummary'
type: array
title: Data
description: List of notebook summaries
page:
type: integer
title: Page
description: Current page number (0-indexed)
page_size:
type: integer
title: Page Size
description: Number of items per page
total_pages:
type: integer
title: Total Pages
description: Total number of pages
total_count:
type: integer
title: Total Count
description: Total number of notebooks
type: object
required:
- data
- page
- page_size
- total_pages
- total_count
title: NotebookListResponse
description: Paginated list of notebooks
DatasetRef:
properties:
id:
type: string
format: uuid
title: Id
description: Dataset ID
version:
type: integer
title: Version
description: Dataset version number
name:
type: string
title: Name
description: Dataset name
type: object
required:
- id
- version
- name
title: DatasetRef
description: Reference to a dataset and version (with name)
ModelProvider:
type: string
enum:
- anthropic
- openai
- gemini
- bedrock
- vertex_ai
- hosted_vllm
- azure
title: ModelProvider
PaginationSortMethod:
type: string
enum:
- asc
- desc
title: PaginationSortMethod
ExperimentOutputVariableSource:
properties:
type:
type: string
const: experiment_output
title: Type
description: 'Type of source: ''experiment_output'''
experiment_output:
$ref: '#/components/schemas/ExperimentOutputSource'
description: Experiment output source
type: object
required:
- type
- experiment_output
title: ExperimentOutputVariableSource
description: Variable source from experiment output
PromptVariableMapping-Input:
properties:
variable_name:
type: string
title: Variable Name
description: Name of the prompt variable
source:
$ref: '#/components/schemas/DatasetColumnVariableSource'
description: Dataset column source
type: object
required:
- variable_name
- source
title: PromptVariableMapping
description: Mapping of a prompt variable to a dataset column source
DatasetColumnVariableSource:
properties:
type:
type: string
const: dataset_column
title: Type
description: 'Type of source: ''dataset_column'''
dataset_column:
$ref: '#/components/schemas/DatasetColumnSource'
description: Dataset column source
type: object
required:
- type
- dataset_column
title: DatasetColumnVariableSource
description: Variable source from a dataset column
NotebookDetail:
properties:
id:
type: string
title: Id
description: Notebook ID
task_id:
type: string
title: Task Id
description: Associated task ID
name:
type: string
title: Name
description: Notebook name
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description
created_at:
type: string
title: Created At
description: ISO timestamp when created
updated_at:
type: string
title: Updated At
description: ISO timestamp when last updated
state:
$ref: '#/components/schemas/NotebookState-Output'
description: Current draft state
experiments:
items:
$ref: '#/components/schemas/PromptExperimentSummary'
type: array
title: Experiments
description: History of experiments run from this notebook
type: object
required:
- id
- task_id
- name
- created_at
- updated_at
- state
- experiments
title: NotebookDetail
description: Detailed notebook information
PromptExperimentSummary:
properties:
id:
type: string
title: Id
description: Unique identifier for the experiment
name:
type: string
title: Name
description: Name of the experiment
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the experiment
created_at:
type: string
title: Created At
description: ISO timestamp when experiment was created
finished_at:
anyOf:
- type: string
- type: 'null'
title: Finished At
description: ISO timestamp when experiment finished
status:
$ref: '#/components/schemas/ExperimentStatus'
description: Current status of the experiment
dataset_id:
type: string
format: uuid
title: Dataset Id
description: ID of the dataset used
dataset_name:
type: string
title: Dataset Name
description: Name of the dataset used
dataset_version:
type: integer
title: Dataset Version
description: Version of the dataset used
total_rows:
type: integer
title: Total Rows
description: Total number of test rows in the experiment
completed_rows:
type: integer
title: Completed Rows
description: Number of test rows completed successfully
failed_rows:
type: integer
title: Failed Rows
description: Number of test rows that failed
total_cost:
anyOf:
- type: string
- type: 'null'
title: Total Cost
description: Total cost of running the experiment
prompt_configs:
items:
oneOf:
- $ref: '#/components/schemas/SavedPromptConfig'
- $ref: '#/components/schemas/UnsavedPromptConfig'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedPromptConfig'
unsaved: '#/components/schemas/UnsavedPromptConfig'
type: array
title: Prompt Configs
description: List of prompts being tested
type: object
required:
- id
- name
- created_at
- status
- dataset_id
- dataset_name
- dataset_version
- total_rows
- completed_rows
- failed_rows
- prompt_configs
title: PromptExperimentSummary
description: Summary of a prompt experiment
EvalRef-Output:
properties:
name:
type: string
title: Name
description: Name of the evaluation
version:
type: integer
title: Version
description: Version of the evaluation
variable_mapping:
items:
$ref: '#/components/schemas/EvalVariableMapping-Output'
type: array
title: Variable Mapping
description: Mapping of eval variables to data sources
type: object
required:
- name
- version
- variable_mapping
title: EvalRef
description: Reference to an evaluation configuration
NotebookState-Input:
properties:
prompt_configs:
anyOf:
- items:
oneOf:
- $ref: '#/components/schemas/SavedPromptConfig'
- $ref: '#/components/schemas/UnsavedPromptConfig'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedPromptConfig'
unsaved: '#/components/schemas/UnsavedPromptConfig'
type: array
- type: 'null'
title: Prompt Configs
description: List of prompt configurations
prompt_variable_mapping:
anyOf:
- items:
$ref: '#/components/schemas/PromptVariableMapping-Input'
type: array
- type: 'null'
title: Prompt Variable Mapping
description: Variable mappings for prompts
dataset_ref:
anyOf:
- $ref: '#/components/schemas/DatasetRef'
- type: 'null'
description: Dataset reference (includes name)
dataset_row_filter:
anyOf:
- items:
$ref: '#/components/schemas/NewDatasetVersionRowColumnItemRequest'
type: array
- type: 'null'
title: Dataset Row Filter
description: Optional list of column name and value filters. Only rows matching ALL specified column name-value pairs (AND condition) will be included.
eval_list:
anyOf:
- items:
$ref: '#/components/schemas/EvalRef-Input'
type: array
- type: 'null'
title: Eval List
description: List of evaluations
type: object
title: NotebookState
description: Draft state of a notebook - mirrors experiment config but all fields optional.
NotebookSummary:
properties:
id:
type: string
title: Id
description: Notebook ID
task_id:
type: string
title: Task Id
description: Associated task ID
name:
type: string
title: Name
description: Notebook name
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description
created_at:
type: string
title: Created At
description: ISO timestamp when created
updated_at:
type: string
title: Updated At
description: ISO timestamp when last updated
run_count:
type: integer
title: Run Count
description: Number of experiments run from this notebook
latest_run_id:
anyOf:
- type: string
- type: 'null'
title: Latest Run Id
description: ID of most recent experiment run
latest_run_status:
anyOf:
- $ref: '#/components/schemas/ExperimentStatus'
- type: 'null'
description: Status of most recent experiment
type: object
required:
- id
- task_id
- name
- created_at
- updated_at
- run_count
title: NotebookSummary
description: Summary of a notebook
UnsavedPromptConfig:
properties:
type:
type: string
const: unsaved
title: Type
default: unsaved
auto_name:
anyOf:
- type: string
- type: 'null'
title: Auto Name
description: Auto-generated name (set by backend)
messages:
items:
additionalProperties: true
type: object
type: array
title: Messages
description: Prompt messages
model_name:
type: string
title: Model Name
description: LLM model name
model_provider:
$ref: '#/components/schemas/ModelProvider'
description: LLM provider
tools:
anyOf:
- items:
additionalProperties: true
type: object
type: array
- type: 'null'
title: Tools
description: Available tools
config:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Config
description: LLM config settings
variables:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Variables
description: Variables (auto-detected if not provided)
type: object
required:
- messages
- model_name
- model_provider
title: UnsavedPromptConfig
description: Configuration for an unsaved prompt
EvalVariableMapping-Output:
properties:
variable_name:
type: string
title: Variable Name
description: Name of the eval variable
source:
oneOf:
- $ref: '#/components/schemas/DatasetColumnVariableSource'
- $ref: '#/components/schemas/ExperimentOutputVariableSource'
title: Source
description: Source of the variable value
discriminator:
propertyName: type
mapping:
dataset_column: '#/components/schemas/DatasetColumnVariableSource'
experiment_output: '#/components/schemas/ExperimentOutputVariableSource'
type: object
required:
- variable_name
- source
title: EvalVariableMapping
description: Mapping of an eval variable to its source (dataset column or experiment output)
ExperimentStatus:
type: string
enum:
- queued
- running
- failed
- completed
title: ExperimentStatus
description: Status of an experiment
PromptVariableMapping-Output:
properties:
variable_name:
type: string
title: Variable Name
description: Name of the prompt variable
source:
$ref: '#/components/schemas/DatasetColumnVariableSource'
description: Dataset column source
type: object
required:
- variable_name
- source
title: PromptVariableMapping
description: Mapping of a prompt variable to a dataset column source
SavedPromptConfig:
properties:
type:
type: string
const: saved
title: Type
default: saved
name:
type: string
title: Name
description: Name of the saved prompt
version:
type: integer
title: Version
description: Version of the saved prompt
type: object
required:
- name
- version
title: SavedPromptConfig
description: Configuration for a saved prompt
DatasetColumnSource:
properties:
name:
type: string
title: Name
description: Name of the dataset column
type: object
required:
- name
title: DatasetColumnSource
description: Reference to a dataset column
SetNotebookStateRequest:
properties:
state:
$ref: '#/components/schemas/NotebookState-Input'
description: New state for the notebook
type: object
required:
- state
title: SetNotebookStateRequest
description: Request to set the notebook state
UpdateNotebookRequest:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: New name
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: New description
type: object
title: UpdateNotebookRequest
description: Request to update a notebook
NotebookState-Output:
properties:
prompt_configs:
anyOf:
- items:
oneOf:
- $ref: '#/components/schemas/SavedPromptConfig'
- $ref: '#/components/schemas/UnsavedPromptConfig'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedPromptConfig'
unsaved: '#/components/schemas/UnsavedPromptConfig'
type: array
- type: 'null'
title: Prompt Configs
description: List of prompt configurations
prompt_variable_mapping:
anyOf:
- items:
$ref: '#/components/schemas/PromptVariableMapping-Output'
type: array
- type: 'null'
title: Prompt Variable Mapping
description: Variable mappings for prompts
dataset_ref:
anyOf:
- $ref: '#/components/schemas/DatasetRef'
- type: 'null'
description: Dataset reference (includes name)
dataset_row_filter:
anyOf:
- items:
$ref: '#/components/schemas/NewDatasetVersionRowColumnItemRequest'
type: array
- type: 'null'
title: Dataset Row Filter
description: Optional list of column name and value filters. Only rows matching ALL specified column name-value pairs (AND condition) will be included.
eval_list:
anyOf:
- items:
$ref: '#/components/schemas/EvalRef-Output'
type: array
- type: 'null'
title: Eval List
description: List of evaluations
type: object
title: NotebookState
description: Draft state of a notebook - mirrors experiment config but all fields optional.
EvalRef-Input:
properties:
name:
type: string
title: Name
description: Name of the evaluation
version:
type: integer
title: Version
description: Version of the evaluation
variable_mapping:
items:
$ref: '#/components/schemas/EvalVariableMapping-Input'
type: array
title: Variable Mapping
description: Mapping of eval variables to data sources
type: object
required:
- name
- version
- variable_mapping
title: EvalRef
description: Reference to an evaluation configuration
ExperimentOutputSource:
properties:
json_path:
anyOf:
- type: string
- type: 'null'
title: Json Path
description: Optional JSON path to extract from experiment output. Should use dot notation for array indexing (eg. response.objects.0.properties.category)
type: object
title: ExperimentOutputSource
description: Reference to experiment output
NewDatasetVersionRowColumnItemRequest:
properties:
column_name:
type: string
title: Column Name
description: Name of column.
column_value:
type: string
title: Column Value
description: Value of column for the row.
type: object
required:
- column_name
- column_value
title: NewDatasetVersionRowColumnItemRequest
description: Represents a single column-value pair in a dataset row.
securitySchemes:
API Key:
type: http
description: Bearer token authentication with an API key
scheme: bearer