@arizeai/phoenix-client
Version:
A client for the Phoenix API
1,444 lines (1,442 loc) • 376 kB
text/typescript
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/v1/annotation_configs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List annotation configurations
* @description Retrieve a paginated list of all annotation configurations in the system.
*/
get: operations["listAnnotationConfigs"];
put?: never;
/** Create an annotation configuration */
post: operations["createAnnotationConfig"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/annotation_configs/{config_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get an annotation configuration by ID or name */
get: operations["getAnnotationConfig"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/annotation_configs/{config_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/** Update an annotation configuration */
put: operations["updateAnnotationConfig"];
post?: never;
/** Delete an annotation configuration */
delete: operations["deleteAnnotationConfig"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/annotation_configs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List annotation configurations assigned to a project
* @description Retrieve a paginated list of the annotation configurations assigned to a project, identified by either project ID or project name.
*/
get: operations["getProjectAnnotationConfigs"];
/**
* Replace the set of annotation configurations assigned to a project
* @description Replace the project's entire set of assigned annotation configurations with the provided set. The server diffs the desired set against the current set: configs in the body but not assigned are added, and configs assigned but not in the body are removed. An empty array clears all assignments.
*/
put: operations["setProjectAnnotationConfigs"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/annotation_configs/{config_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Assign an annotation configuration to a project
* @description Assign an annotation configuration to a project. This operation is idempotent: re-assigning a config that is already assigned is a no-op that returns the config. Both the project and the config are identified by either ID or name.
*/
put: operations["assignAnnotationConfigToProject"];
post?: never;
/**
* Unassign an annotation configuration from a project
* @description Unassign an annotation configuration from a project. This operation is idempotent: unassigning a config that is not currently assigned is a no-op. The underlying annotation config is not deleted. Both the project and the config are identified by either ID or name.
*/
delete: operations["unassignAnnotationConfigFromProject"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/span_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get span annotations filtered by span_ids and/or identifier.
* @description Return span annotations for a project, filtered by `span_ids`, `identifier`, or both. At least one of `span_ids` or `identifier` must be supplied. When both are supplied, results are the AND-intersection of the two filters.
*/
get: operations["listSpanAnnotationsBySpanIds"];
put?: never;
post?: never;
/**
* Delete span annotations in a project that match the supplied filter.
* @description Hard-delete span annotations within the named project that match the
* supplied filter.
*
* - The request must either supply both `start_time` AND `end_time`
* to bound the delete to a `[start_time, end_time)` time window,
* OR set `delete_all=true` to acknowledge an unbounded sweep. A request
* that satisfies neither is rejected with 422.
* - `name`, `identifier`, and `annotator_kind` are optional narrowing
* filters; on their own they do NOT authorize the request — they only
* narrow within an already-authorized request (bounded time range or
* `delete_all=true`).
* - All supplied filters are combined with AND. `name` and `identifier`,
* when present, must be non-empty.
* - `start_time` is inclusive (`>=`); `end_time` is exclusive
* (`<`). When both are supplied, `start_time` must be strictly earlier
* than `end_time` (else 422). A half-bounded range (only one of
* the two) does NOT satisfy the gate and is rejected unless
* `delete_all=true` is also set. Naive datetimes are interpreted as UTC.
* - The endpoint is idempotent: a request that matches no rows still
* returns 204.
* - When authentication is enabled, non-admin callers can only delete rows
* they own (`user_id == current_user.id`); admins delete all matching
* rows.
*/
delete: operations["deleteSpanAnnotations"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/trace_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get trace annotations filtered by trace_ids and/or identifier.
* @description Return trace annotations for a project, filtered by `trace_ids`, `identifier`, or both. At least one of `trace_ids` or `identifier` must be supplied. When both are supplied, results are the AND-intersection of the two filters.
*/
get: operations["listTraceAnnotationsByTraceIds"];
put?: never;
post?: never;
/**
* Delete trace annotations in a project that match the supplied filter.
* @description Hard-delete trace annotations within the named project that match the
* supplied filter.
*
* - The request must either supply both `start_time` AND `end_time`
* to bound the delete to a `[start_time, end_time)` time window,
* OR set `delete_all=true` to acknowledge an unbounded sweep. A request
* that satisfies neither is rejected with 422.
* - `name`, `identifier`, and `annotator_kind` are optional narrowing
* filters; on their own they do NOT authorize the request — they only
* narrow within an already-authorized request (bounded time range or
* `delete_all=true`).
* - All supplied filters are combined with AND. `name` and `identifier`,
* when present, must be non-empty.
* - `start_time` is inclusive (`>=`); `end_time` is exclusive
* (`<`). When both are supplied, `start_time` must be strictly earlier
* than `end_time` (else 422). A half-bounded range (only one of
* the two) does NOT satisfy the gate and is rejected unless
* `delete_all=true` is also set. Naive datetimes are interpreted as UTC.
* - The endpoint is idempotent: a request that matches no rows still
* returns 204.
* - When authentication is enabled, non-admin callers can only delete rows
* they own (`user_id == current_user.id`); admins delete all matching
* rows.
*/
delete: operations["deleteTraceAnnotations"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/session_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get session annotations filtered by session_ids and/or identifier.
* @description Return session annotations for a project, filtered by `session_ids`, `identifier`, or both. At least one of `session_ids` or `identifier` must be supplied. When both are supplied, results are the AND-intersection of the two filters.
*/
get: operations["listSessionAnnotationsBySessionIds"];
put?: never;
post?: never;
/**
* Delete session annotations in a project that match the supplied filter.
* @description Hard-delete session annotations within the named project that match the
* supplied filter.
*
* - The request must either supply both `start_time` AND `end_time`
* to bound the delete to a `[start_time, end_time)` time window,
* OR set `delete_all=true` to acknowledge an unbounded sweep. A request
* that satisfies neither is rejected with 422.
* - `name`, `identifier`, and `annotator_kind` are optional narrowing
* filters; on their own they do NOT authorize the request — they only
* narrow within an already-authorized request (bounded time range or
* `delete_all=true`).
* - All supplied filters are combined with AND. `name` and `identifier`,
* when present, must be non-empty.
* - `start_time` is inclusive (`>=`); `end_time` is exclusive
* (`<`). When both are supplied, `start_time` must be strictly earlier
* than `end_time` (else 422). A half-bounded range (only one of
* the two) does NOT satisfy the gate and is rejected unless
* `delete_all=true` is also set. Naive datetimes are interpreted as UTC.
* - The endpoint is idempotent: a request that matches no rows still
* returns 204.
* - When authentication is enabled, non-admin callers can only delete rows
* they own (`user_id == current_user.id`); admins delete all matching
* rows.
*/
delete: operations["deleteSessionAnnotations"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/dataset_labels": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List dataset labels
* @description Retrieve a paginated list of all dataset labels in the system.
*/
get: operations["listDatasetLabels"];
put?: never;
/** Create a dataset label */
post: operations["createDatasetLabel"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/dataset_labels/{label_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get a dataset label by ID */
get: operations["getDatasetLabel"];
put?: never;
post?: never;
/**
* Delete a dataset label by ID
* @description Delete a dataset label. This also removes the label from every dataset it is applied to.
*/
delete: operations["deleteDatasetLabel"];
options?: never;
head?: never;
/**
* Update a dataset label by ID
* @description Partially update a dataset label's name, color, and/or description. Only the fields included in the request body are changed; omitted fields are left as-is.
*/
patch: operations["updateDatasetLabel"];
trace?: never;
};
"/v1/datasets/{dataset_identifier}/labels": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List the labels applied to a dataset */
get: operations["listDatasetLabelsForDataset"];
/**
* Replace the set of labels applied to a dataset
* @description Replace the entire set of labels applied to a dataset. Labels present in the request but not currently applied are added; labels currently applied but absent from the request are removed. An empty list removes all labels.
*/
put: operations["setDatasetLabelsForDataset"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{dataset_identifier}/labels/{label_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Apply a label to a dataset
* @description Apply an existing label to a dataset. This operation is idempotent: applying a label that is already applied is a no-op that returns the label.
*/
put: operations["addDatasetLabelToDataset"];
post?: never;
/**
* Remove a label from a dataset
* @description Remove a label from a dataset without deleting the label itself. This operation is idempotent: removing a label that is not applied is a no-op.
*/
delete: operations["removeDatasetLabelFromDataset"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List datasets */
get: operations["listDatasets"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get dataset by ID */
get: operations["getDataset"];
put?: never;
post?: never;
/** Delete dataset by ID */
delete: operations["deleteDatasetById"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/versions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List dataset versions */
get: operations["listDatasetVersionsByDatasetId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/upload": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Upload dataset from JSON, JSONL, CSV, or PyArrow */
post: operations["uploadDataset"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/examples": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get examples from a dataset */
get: operations["getDatasetExamples"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/csv": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download dataset examples as CSV file */
get: operations["getDatasetCsv"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/jsonl": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download dataset examples as JSONL file */
get: operations["getDatasetJSONL"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/jsonl/openai_ft": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download dataset examples as OpenAI fine-tuning JSONL file */
get: operations["getDatasetJSONLOpenAIFineTuning"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{id}/jsonl/openai_evals": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download dataset examples as OpenAI evals JSONL file */
get: operations["getDatasetJSONLOpenAIEvals"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/datasets/{dataset_id}/experiments": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List experiments by dataset
* @description Retrieve a paginated list of experiments for the specified dataset.
*/
get: operations["listExperiments"];
put?: never;
/** Create experiment on a dataset */
post: operations["createExperiment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiments/{experiment_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get experiment by ID */
get: operations["getExperiment"];
put?: never;
post?: never;
/** Delete experiment by ID */
delete: operations["deleteExperiment"];
options?: never;
head?: never;
/**
* Update an experiment by ID
* @description Partially update an experiment's name, description, and/or metadata. Only the fields included in the request body are changed; omitted fields are left as-is. Patching an ephemeral experiment refreshes its last-update timestamp, which extends the window before it is swept away.
*/
patch: operations["updateExperiment"];
trace?: never;
};
"/v1/experiments/{experiment_id}/incomplete-runs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get incomplete runs for an experiment
* @description Get runs that need to be completed for this experiment.
*
* Returns all incomplete runs, including both missing runs (not yet attempted)
* and failed runs (attempted but have errors).
*
* Args:
* experiment_id: The ID of the experiment
* cursor: Cursor for pagination
* limit: Maximum number of results to return
*
* Returns:
* Paginated list of incomplete runs grouped by dataset example,
* with repetition numbers that need to be run
*/
get: operations["getIncompleteExperimentRuns"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiments/{experiment_id}/json": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download experiment runs as a JSON file */
get: operations["getExperimentJSON"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiments/{experiment_id}/csv": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Download experiment runs as a CSV file */
get: operations["getExperimentCSV"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiments/{experiment_id}/runs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List runs for an experiment
* @description Retrieve a paginated list of runs for an experiment
*/
get: operations["listExperimentRuns"];
put?: never;
/** Create run for an experiment */
post: operations["createExperimentRun"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiments/{experiment_id}/incomplete-evaluations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get incomplete evaluations for an experiment
* @description Get experiment runs that have incomplete evaluations.
*
* Returns runs with:
* - Missing evaluations (evaluator has not been run)
* - Failed evaluations (evaluator ran but has errors)
*
* Args:
* experiment_id: The ID of the experiment
* evaluation_name: List of evaluation names to check (required, at least one)
* cursor: Cursor for pagination
* limit: Maximum number of results to return
*
* Returns:
* Paginated list of runs with incomplete evaluations
*/
get: operations["getIncompleteExperimentEvaluations"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/experiment_evaluations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create or update evaluation for an experiment run */
post: operations["upsertExperimentEvaluation"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/traces": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List traces for a project */
get: operations["listProjectTraces"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/trace_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create trace annotations */
post: operations["annotateTraces"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/trace_notes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create a trace note
* @description Add a note annotation to a trace. By default each call appends a new note with an auto-generated UUIDv4 identifier, so multiple notes accumulate on the same trace. Callers may supply a non-empty `identifier` to upsert on (trace_id, name='note', identifier) — repeated calls with the same identifier overwrite the existing note, matching the semantics of structured annotations.
*/
post: operations["createTraceNote"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/traces/{trace_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a trace by identifier
* @description Delete an entire trace by its identifier. The identifier can be either:
* 1. A Relay node ID (base64-encoded)
* 2. An OpenTelemetry trace_id (hex string)
*
* This will permanently remove all spans in the trace and their associated data.
*/
delete: operations["deleteTrace"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/spans/otlpv1": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search spans with simple filters (no DSL)
* @description Return spans within a project filtered by time range. Supports cursor-based pagination.
*/
get: operations["spanSearch"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/spans": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List spans with simple filters (no DSL)
* @description Return spans within a project filtered by time range. Supports cursor-based pagination.
*/
get: operations["getSpans"];
put?: never;
/**
* Create spans
* @description Submit spans to be inserted into a project. If any spans are invalid or duplicates, no spans will be inserted.
*/
post: operations["createSpans"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/span_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create span annotations */
post: operations["annotateSpans"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/span_notes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create a span note
* @description Add a note annotation to a span. By default each call appends a new note with an auto-generated UUIDv4 identifier, so multiple notes accumulate on the same span. Callers may supply a non-empty `identifier` to upsert on (span_id, name='note', identifier) — repeated calls with the same identifier overwrite the existing note, matching the semantics of structured annotations.
*/
post: operations["createSpanNote"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/spans/{span_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a span by span_identifier
* @description Delete a single span by identifier.
*
* **Important**: This operation deletes ONLY the specified span itself and does NOT
* delete its descendants/children. All child spans will remain in the trace and
* become orphaned (their parent_id will point to a non-existent span).
*
* Behavior:
* - Deletes only the target span (preserves all descendant spans)
* - If this was the last span in the trace, the trace record is also deleted
* - If the deleted span had a parent, its cumulative metrics (error count, token counts)
* are subtracted from all ancestor spans in the chain
*
* **Note**: This operation is irreversible and may create orphaned spans.
*/
delete: operations["deleteSpan"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompts": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List all prompts
* @description Retrieve a paginated list of all prompts in the system. A prompt can have multiple versions.
*/
get: operations["getPrompts"];
put?: never;
/**
* Create a new prompt
* @description Create a new prompt and its initial version. A prompt can have multiple versions.
*/
post: operations["postPromptVersion"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompts/{prompt_identifier}/versions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List prompt versions
* @description Retrieve all versions of a specific prompt with pagination support. Each prompt can have multiple versions with different configurations.
*/
get: operations["listPromptVersions"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompt_versions/{prompt_version_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get prompt version by ID
* @description Retrieve a specific prompt version using its unique identifier. A prompt version contains the actual template and configuration.
*/
get: operations["getPromptVersionByPromptVersionId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompts/{prompt_identifier}/tags/{tag_name}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get prompt version by tag
* @description Retrieve a specific prompt version using its tag name. Tags are used to identify specific versions of a prompt.
*/
get: operations["getPromptVersionByTagName"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompts/{prompt_identifier}/latest": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get latest prompt version
* @description Retrieve the most recent version of a specific prompt.
*/
get: operations["getPromptVersionLatest"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompt_versions/{prompt_version_id}/tags": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List prompt version tags
* @description Retrieve all tags associated with a specific prompt version. Tags are used to identify and categorize different versions of a prompt.
*/
get: operations["getPromptVersionTags"];
put?: never;
/**
* Add tag to prompt version
* @description Add a new tag to a specific prompt version. Tags help identify and categorize different versions of a prompt.
*/
post: operations["createPromptVersionTag"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompt_versions/{prompt_version_id}/tags/{tag_name}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a tag from a prompt version
* @description Delete a tag from a specific prompt version by tag name. The tag is resolved within the scope of the prompt linked to the version.
*/
delete: operations["deletePromptVersionTag"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/prompts/{prompt_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a prompt
* @description Delete a prompt and all its versions, tags, and labels by identifier.
*/
delete: operations["deletePrompt"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List all projects
* @description Retrieve a paginated list of all projects in the system.
*/
get: operations["getProjects"];
put?: never;
/**
* Create a new project
* @description Create a new project with the specified configuration.
*/
post: operations["createProject"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get project by ID or name
* @description Retrieve a specific project using its unique identifier: either project ID or project name. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.
*/
get: operations["getProject"];
/**
* Update a project by ID or name
* @description Update an existing project with new configuration. Project names cannot be changed. The project identifier is either project ID or project name. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.
*/
put: operations["updateProject"];
post?: never;
/**
* Delete a project by ID or name
* @description Delete an existing project and all its associated data. The project identifier is either project ID or project name. The default project cannot be deleted. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.
*/
delete: operations["deleteProject"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/sessions/{session_identifier}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get session by ID or session_id */
get: operations["getSession"];
put?: never;
post?: never;
/**
* Delete a session by identifier
* @description Delete a session by its identifier. The identifier can be either:
* 1. A global ID (base64-encoded)
* 2. A user-provided session_id string
*
* This will permanently remove the session and all associated traces, spans, and annotations via cascade delete.
*/
delete: operations["deleteSession"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/sessions/delete": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Bulk delete sessions
* @description Delete multiple sessions by their identifiers (GlobalIDs or session_id strings). All identifiers in a single request must be the same type. Non-existent IDs are silently skipped. All associated traces, spans, and annotations are cascade deleted.
*/
post: operations["deleteSessions"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/projects/{project_identifier}/sessions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List sessions for a project */
get: operations["listProjectSessions"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/session_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create session annotations */
post: operations["annotateSessions"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/session_notes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create a session note
* @description Add a note annotation to a session. By default each call appends a new note with an auto-generated UUIDv4 identifier, so multiple notes accumulate on the same session. Callers may supply a non-empty `identifier` to upsert on (session_id, name='note', identifier) — repeated calls with the same identifier overwrite the existing note, matching the semantics of structured annotations.
*/
post: operations["createSessionNote"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/document_annotations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create span document annotations */
post: operations["annotateSpanDocuments"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/user": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get the authenticated user
* @description Returns the profile of the currently authenticated user. When authentication is disabled, returns an anonymous user representation.
*/
get: operations["getViewer"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/users": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List all users
* @description Retrieve a paginated list of all users in the system.
*/
get: operations["getUsers"];
put?: never;
/**
* Create a new user
* @description Create a new user with the specified configuration.
*/
post: operations["createUser"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/users/{user_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a user by ID
* @description Delete an existing user by their unique GlobalID.
*/
delete: operations["deleteUser"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/secrets": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Upsert or delete secrets
* @description Atomically upsert or delete a batch of secrets. Entries with a non-null `value` are created or updated; entries with `value: null` are deleted. The `value` field is required for every entry, and omitting it returns 422. When the same key appears more than once, the last occurrence wins. Deleting a non-existent key succeeds silently. Secret values are never returned in the response.
*/
put: operations["upsertOrDeleteSecrets"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/user/api_keys": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List the authenticated user's API keys
* @description Retrieve the API keys belonging to the currently authenticated user. The keys themselves are not recoverable and are never included in the response.
*/
get: operations["getUserApiKeys"];
put?: never;
/**
* Create an API key for the authenticated user
* @description Create a personal API key for the currently authenticated user. The key inherits the user's role, so it grants no more access than the user already has. Creation requires an access-token session; API keys cannot mint replacement keys. The response contains the key itself, which is shown only once and cannot be retrieved afterwards.
*/
post: operations["createUserApiKey"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/users/api_keys": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List all user API keys
* @description Retrieve API keys belonging to human users across the organization. System API keys are excluded. Restricted to admins.
*/
get: operations["getAllUserApiKeys"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/user/api_keys/{api_key_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a user API key
* @description Permanently revoke a user API key. Users can revoke their own keys, and admins can revoke keys belonging to other users. The key stops working immediately.
*/
delete: operations["deleteUserApiKey"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/system/api_keys": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List system API keys
* @description Retrieve all system API keys. System keys belong to the system user rather than to any human, so this endpoint is restricted to admins. The keys themselves are not recoverable and are never included in the response.
*/
get: operations["getSystemApiKeys"];
put?: never;
/**
* Create a system API key
* @description Create a system API key. System keys belong to the system user rather than to any human, so this endpoint is restricted to admins. Creation requires an admin access-token session or the configured admin secret; API keys cannot mint keys. The response contains the key itself, which is shown only once and cannot be retrieved afterwards.
*/
post: operations["createSystemApiKey"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/system/api_keys/{api_key_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a system API key
* @description Permanently revoke a system API key. The key stops working immediately. Restricted to admins.
*/
delete: operations["deleteSystemApiKey"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Login
* @description Authenticate user via email/password and return access/refresh tokens.
*/
post: operations["_login_auth_login_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/logout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Logout
* @description Log out user by revoking tokens and clearing cookies.
*/
get: operations["_logout_auth_logout_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/refresh": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Refresh Tokens