5a558eb09e
TypeScript SDK Compatibility V1.x E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / TypeScript SDK Compatibility V1.x E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
TypeScript SDK E2E Tests / TypeScript SDK E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
Python SDK E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK E2E Tests / Python SDK E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK E2E Tests / build-opik (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Python SDK Compatibility V1.x E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK E2E Tests / build-opik (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer E2E Tests Python ${{matrix.python_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer Integration Smoke Tests (push) Has been cancelled
🐙 Code Quality / detect (push) Has been cancelled
🐙 Code Quality / lint (${{ matrix.leg.name }}) (push) Has been cancelled
🐙 Code Quality / summary (push) Has been cancelled
TypeScript SDK Library Integration Tests / Check Secrets (push) Has been cancelled
TypeScript SDK Library Integration Tests / opik-vercel (Vercel AI SDK / eve) (push) Has been cancelled
SDK Library Integration Tests Runner / Check Secrets (push) Has been cancelled
SDK Library Integration Tests Runner / Missed OpenAI API Key Warning (push) Has been cancelled
SDK Library Integration Tests Runner / Build (push) Has been cancelled
SDK Library Integration Tests Runner / openai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_legacy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / llama_index_tests (push) Has been cancelled
SDK Library Integration Tests Runner / anthropic_tests (push) Has been cancelled
SDK Library Integration Tests Runner / mistral_tests (push) Has been cancelled
SDK Library Integration Tests Runner / groq_tests (push) Has been cancelled
SDK Library Integration Tests Runner / aisuite_tests (push) Has been cancelled
SDK Library Integration Tests Runner / haystack_tests (push) Has been cancelled
SDK Library Integration Tests Runner / dspy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v1_tests (push) Has been cancelled
SDK Library Integration Tests Runner / genai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_legacy_1_3_0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / evaluation_metrics_tests (push) Has been cancelled
SDK Library Integration Tests Runner / bedrock_tests (push) Has been cancelled
SDK Library Integration Tests Runner / litellm_tests (push) Has been cancelled
SDK Library Integration Tests Runner / harbor_tests (push) Has been cancelled
SDK Library Integration Tests Runner / Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / render-equality (push) Has been cancelled
Opik Optimizer - Unit Tests / Opik Optimizer Unit Tests Python ${{matrix.python_version}} (push) Has been cancelled
Python BE E2E Tests / Python BE E2E (push) Has been cancelled
Python Backend Tests / run-python-backend-tests (push) Has been cancelled
Python SDK Unit Tests / Python SDK Unit Tests ${{matrix.python_version}} (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
SDK E2E Libraries Integration Tests / Check Secrets (push) Has been cancelled
SDK E2E Libraries Integration Tests / Missed OpenAI API Key Warning (push) Has been cancelled
SDK E2E Libraries Integration Tests / build-opik (push) Has been cancelled
SDK E2E Libraries Integration Tests / E2E Lib Integration Python ${{matrix.python_version}} (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-gemini) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-langchain) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-openai) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-otel) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-vercel) (push) Has been cancelled
TypeScript SDK Build & Publish / build-and-publish (push) Has been cancelled
TypeScript SDK Unit Tests / Test on Node ${{ matrix.node-version }} (push) Has been cancelled
Backend Tests / discover-tests (push) Has been cancelled
Backend Tests / ${{ matrix.name }} (push) Has been cancelled
Build and Publish SDK / build-and-publish (push) Has been cancelled
Build Opik Docker Images / set-version (push) Has been cancelled
Build Opik Docker Images / build-backend (push) Has been cancelled
Build Opik Docker Images / build-sandbox-executor-python (push) Has been cancelled
Build Opik Docker Images / build-python-backend (push) Has been cancelled
Build Opik Docker Images / build-frontend (push) Has been cancelled
Build Opik Docker Images / create-git-tag (push) Has been cancelled
ClickHouse Migration Cluster Check / validate-clickhouse-migrations (push) Has been cancelled
Docs - Publish / run (push) Has been cancelled
E2E Tests - Post Merge (v2) / 🧪 E2E v2 Tests (${{ github.event.inputs.tier || 't1' }}) (push) Has been cancelled
E2E Tests - Post Merge (v2) / 📢 Slack Notification (push) Has been cancelled
Frontend Unit Tests / Test on Node 20 (push) Has been cancelled
Guardrails E2E Tests / Select Python version matrix (push) Has been cancelled
Guardrails E2E Tests / Guardrails E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Guardrails E2E Tests / 📢 Slack Notification (push) Has been cancelled
Guardrails Backend Unit Tests / Guardrails Backend Unit Tests (push) Has been cancelled
Guardrails Backend Unit Tests / 📢 Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v3.21.0) (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v4.2.0) (push) Has been cancelled
Lint Opik Helm Chart / unittest-helm-chart (push) Has been cancelled
22428 lines
583 KiB
YAML
22428 lines
583 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Opik REST API
|
|
description: "The Opik REST API is currently in beta and subject to change. If you\
|
|
\ have any questions or feedback about the APIs, please reach out on GitHub: https://github.com/comet-ml/opik.\n\
|
|
\nAll of the methods listed in this documentation are used by either the SDK or\
|
|
\ the UI to interact with the Opik server. As a result,\nthe methods have been\
|
|
\ optimized for these use-cases in mind. If you are looking for a method that\
|
|
\ is not listed above, please create\nand issue on GitHub or raise a PR!\n\nOpik\
|
|
\ includes two main deployment options that results in slightly different API\
|
|
\ usage:\n\n- **Self-hosted Opik instance:** You will simply need to specify the\
|
|
\ URL as `http://localhost:5173/api/<endpoint_path>` or similar. This is the default\
|
|
\ option for the docs.\n- **Opik Cloud:** You will need to specify the Opik API\
|
|
\ Key and Opik Workspace in the header. The format of the header should be:\n\n\
|
|
\ ```\n {\n \"Comet-Workspace\": \"your-workspace-name\",\n \"authorization\"\
|
|
: \"your-api-key\"\n }\n ```\n\n The full payload would therefore look like:\n\
|
|
\ \n ```\n curl -X GET 'https://www.comet.com/opik/api/v1/private/projects'\
|
|
\ \\\n -H 'Accept: application/json' \\\n -H 'Comet-Workspace: <your-workspace-name>'\
|
|
\ \\\n -H 'authorization: <your-api-key>'\n ```\n\n Do take note here that\
|
|
\ the authorization header value does not include the `Bearer ` prefix. To switch\
|
|
\ to using the Opik Cloud in the documentation, you can\n click on the edit button\
|
|
\ displayed when hovering over the `Base URL` displayed on the right hand side\
|
|
\ of the docs.\n"
|
|
contact:
|
|
name: Github Repository
|
|
url: https://github.com/comet-ml/opik
|
|
license:
|
|
name: Apache 2.0
|
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
version: 1.0.0
|
|
servers:
|
|
- url: http://localhost:5173/api
|
|
description: Local server
|
|
- url: https://www.comet.com/opik/api
|
|
description: Opik Cloud
|
|
tags:
|
|
- name: MCP OAuth
|
|
description: MCP OAuth 2.1 Authorization Server resources
|
|
- name: System analytics queries
|
|
description: Internal endpoint to run Agent Insights free-form SQL
|
|
- name: System usage
|
|
description: System usage related resource
|
|
- name: Agent Configs
|
|
description: Agent configuration management
|
|
- name: Agent Insights Jobs
|
|
description: "Per-(workspace, project) Agent Insights report configuration"
|
|
- name: Agent Insights
|
|
description: Agent Insights report results
|
|
- name: Alerts
|
|
description: Alert resources
|
|
- name: Annotation Queues
|
|
description: Private annotation queue operations
|
|
- name: Assertion Results
|
|
description: Assertion result related resources
|
|
- name: Attachments
|
|
description: Attachments related resources
|
|
- name: Check
|
|
description: Access check resources
|
|
- name: Automation rule evaluators
|
|
description: Automation rule evaluators resource
|
|
- name: Chat Completions
|
|
description: Chat Completions related resources
|
|
- name: Dashboards
|
|
description: Workspace Dashboard resources
|
|
- name: Datasets
|
|
description: Dataset resources
|
|
- name: Environments
|
|
description: Environment related resources
|
|
- name: Experiments
|
|
description: Experiment resources
|
|
- name: Feedback-definitions
|
|
description: Feedback definitions related resources
|
|
- name: Guardrails
|
|
description: Guardrails related resources
|
|
- name: Insights Views
|
|
description: Insights View resources
|
|
- name: LLM Models
|
|
description: LLM model registry resources
|
|
- name: LlmProviderKey
|
|
description: LLM Provider Key
|
|
- name: Runners
|
|
description: Local runner management endpoints
|
|
- name: Manual Evaluation
|
|
description: "Manual evaluation resources for traces, threads, and spans"
|
|
- name: Ollama
|
|
description: Ollama provider configuration endpoints with OpenAI-compatible API
|
|
support.
|
|
- name: Ollie State
|
|
description: Ollie pod state persistence
|
|
- name: OpenTelemetry Ingestion
|
|
description: Resource to ingest Traces and Spans via OpenTelemetry
|
|
- name: Optimizations
|
|
description: Optimization resources
|
|
- name: Pairing
|
|
description: Pairing sessions for the `opik connect` and `opik endpoint` CLI commands
|
|
- name: Projects
|
|
description: Project related resources
|
|
- name: Prompts
|
|
description: Prompt resources
|
|
- name: Report Failures
|
|
description: Generic failure log for reports/jobs
|
|
- name: Reports
|
|
description: Ollie daily report management
|
|
- name: Retention Rules
|
|
description: Data retention rule management
|
|
- name: Service Toggles
|
|
description: Service Toggles resources
|
|
- name: Spans
|
|
description: Span related resources
|
|
- name: Traces
|
|
description: Trace related resources
|
|
- name: Welcome Wizard
|
|
description: Welcome wizard tracking resources
|
|
- name: Workspace permissions
|
|
description: Workspace permissions related resources
|
|
- name: Workspaces
|
|
description: Workspace related resources
|
|
- name: Redirect
|
|
description: Redirects for SDK generated links
|
|
paths:
|
|
/oauth/authorize:
|
|
get:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: OAuth Authorization Endpoint
|
|
description: "OAuth 2.1 authorization endpoint (RFC 6749 §3.1). Validates the\
|
|
\ client and PKCE parameters, then redirects to the login or consent page"
|
|
operationId: authorize
|
|
parameters:
|
|
- name: client_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
- name: redirect_uri
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
- name: response_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: code_challenge
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: code_challenge_method
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: resource
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: state
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"302":
|
|
description: "Redirect to login, consent, or client redirect_uri with an\
|
|
\ error"
|
|
post:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: Submit Authorization Consent
|
|
description: "Submit the user's consent, issue an authorization code, and return\
|
|
\ the client redirect target"
|
|
operationId: consent
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ConsentRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Consent response with the client redirect target
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ConsentResponse"
|
|
/oauth/authorize/context:
|
|
get:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: Get Authorization Consent Context
|
|
description: "Get the client details, eligible workspaces, and a CSRF token\
|
|
\ used to render the consent screen"
|
|
operationId: getAuthorizeContext
|
|
parameters:
|
|
- name: client_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
- name: redirect_uri
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Authorization consent context
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AuthorizeContext"
|
|
/.well-known/oauth-authorization-server:
|
|
get:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: Get OAuth Authorization Server Metadata
|
|
description: Get OAuth 2.1 Authorization Server Metadata (RFC 8414)
|
|
operationId: getOAuthAuthorizationServerMetadata
|
|
responses:
|
|
"200":
|
|
description: Authorization Server Metadata
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AuthorizationServerMetadata"
|
|
/oauth/register:
|
|
post:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: OAuth Dynamic Client Registration Endpoint
|
|
description: OAuth 2.0 Dynamic Client Registration (RFC 7591). Registers a public
|
|
client for the MCP OAuth flow; throttled per source IP
|
|
operationId: registerOAuthClient
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ClientRegistrationRequest"
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Registered client metadata
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ClientRegistrationResponse"
|
|
"429":
|
|
description: Registration rate limit exceeded
|
|
/oauth/revoke:
|
|
post:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: OAuth Token Revocation Endpoint
|
|
description: "OAuth 2.0 token revocation endpoint (RFC 7009). Always returns\
|
|
\ 200, whether the token was revoked, never existed, or was invalid"
|
|
operationId: revoke
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
client_id:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Revocation acknowledged
|
|
/oauth/token:
|
|
post:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: OAuth Token Endpoint
|
|
description: "OAuth 2.1 token endpoint (RFC 6749 §4.1.3, §6). Exchanges an authorization\
|
|
\ code with PKCE or a refresh token for an access/refresh token pair"
|
|
operationId: token
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
grant_type:
|
|
type: string
|
|
code:
|
|
type: string
|
|
redirect_uri:
|
|
type: string
|
|
client_id:
|
|
type: string
|
|
code_verifier:
|
|
type: string
|
|
refresh_token:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Token response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TokenResponse"
|
|
"400":
|
|
description: OAuth error (RFC 6749 §5.2)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OAuthError"
|
|
/opik/auth-oauth:
|
|
post:
|
|
tags:
|
|
- MCP OAuth
|
|
summary: Validate OAuth Access Token
|
|
description: Introspects a bearer access token and returns the identity it resolves
|
|
to
|
|
operationId: validateOAuthToken
|
|
parameters:
|
|
- name: Authorization
|
|
in: header
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Validated token identity
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ValidatedToken"
|
|
"401":
|
|
description: "Missing, malformed, or unknown access token"
|
|
/v1/internal/analytics-queries/projects/{projectId}:
|
|
post:
|
|
tags:
|
|
- System analytics queries
|
|
summary: Execute Agent Insights free-form SQL
|
|
description: Runs Ollie-generated read-only SQL bounded to the caller's workspace
|
|
and the requested project. Returns 501 when the Agent Insights toggle is off.
|
|
operationId: executeAnalyticsQuery
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnalyticsQueryRequest"
|
|
responses:
|
|
"200":
|
|
description: Query results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnalyticsQueryResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"501":
|
|
description: Agent Insights queries are not enabled
|
|
/v1/internal/usage/bi-datasets:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get datasets information for BI events
|
|
description: Get datasets information for BI events per user per workspace
|
|
operationId: getDatasetBiInfo
|
|
responses:
|
|
"200":
|
|
description: Datasets BiInformationResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BiInformationResponse"
|
|
/v1/internal/usage/bi-experiments:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get experiments information for BI events
|
|
description: Get experiments information for BI events per user per workspace
|
|
operationId: getExperimentBiInfo
|
|
responses:
|
|
"200":
|
|
description: Experiments BiInformationResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BiInformationResponse"
|
|
/v1/internal/usage/bi-spans:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get spans information for BI events
|
|
description: Get spans information for BI events per user per workspace
|
|
operationId: getSpansBiInfo
|
|
responses:
|
|
"200":
|
|
description: Spans BiInformationResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BiInformationResponse"
|
|
/v1/internal/usage/workspace-span-counts-breakdown:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: "Get spans count on previous day grouped by workspace, project and\
|
|
\ user"
|
|
description: "Get spans count on previous day grouped by workspace, project\
|
|
\ and user"
|
|
operationId: getSpansCountBreakdownForWorkspaces
|
|
responses:
|
|
"200":
|
|
description: UsageByWorkspaceProjectUserResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UsageByWorkspaceProjectUserResponse"
|
|
/v1/internal/usage/workspace-span-counts:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get spans count on previous day for all available workspaces
|
|
description: Get spans count on previous day for all available workspaces
|
|
operationId: getSpansCountForWorkspaces
|
|
responses:
|
|
"200":
|
|
description: SpanCountResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpansCountResponse"
|
|
/v1/internal/usage/bi-traces:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get traces information for BI events
|
|
description: Get traces information for BI events per user per workspace
|
|
operationId: getTracesBiInfo
|
|
responses:
|
|
"200":
|
|
description: Traces BiInformationResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BiInformationResponse"
|
|
/v1/internal/usage/workspace-trace-counts:
|
|
get:
|
|
tags:
|
|
- System usage
|
|
summary: Get traces count on previous day for all available workspaces
|
|
description: Get traces count on previous day for all available workspaces
|
|
operationId: getTracesCountForWorkspaces
|
|
responses:
|
|
"200":
|
|
description: TraceCountResponse resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceCountResponse"
|
|
/v1/private/agent-configs/blueprints:
|
|
post:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Create optimizer config with initial blueprint
|
|
description: Creates a new optimizer config with initial blueprint. Fails if
|
|
the project already has a config.
|
|
operationId: createAgentConfig
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentConfigCreate_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/agent-configs/blueprints/{blueprint_id}"
|
|
"400":
|
|
description: Bad Request (e.g. MASK type not allowed)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
"409":
|
|
description: Conflict (config already exists)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
patch:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Add blueprint to existing config
|
|
description: Adds a new blueprint to an existing optimizer config. Fails if
|
|
the project has no config yet.
|
|
operationId: updateAgentConfig
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentConfigCreate_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/agent-configs/blueprints/{blueprint_id}"
|
|
"404":
|
|
description: Not Found (no config for project)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
/v1/private/agent-configs/blueprints/projects/{project_id}/masks/{mask_id}:
|
|
post:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Create blueprint from mask
|
|
description: Creates a new blueprint by applying a mask's changes on top of
|
|
the latest blueprint for the project.
|
|
operationId: createBlueprintFromMask
|
|
parameters:
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/agent-configs/blueprints/{blueprint_id}"
|
|
"404":
|
|
description: Not Found (no config or mask not found)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Write"
|
|
/v1/private/agent-configs/blueprints/environments:
|
|
post:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Create or update environments
|
|
description: Creates or updates environment-to-blueprint mappings
|
|
operationId: createOrUpdateEnvs
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentConfigEnvUpdate"
|
|
responses:
|
|
"204":
|
|
description: Environments updated
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/agent-configs/blueprints/environments/{env_name}/projects/{project_id}:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Retrieve blueprint by environment
|
|
description: Retrieves the blueprint associated with a specific environment
|
|
operationId: getBlueprintByEnv
|
|
parameters:
|
|
- name: env_name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Blueprint retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentBlueprint_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
put:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Set environment by blueprint name
|
|
description: Sets an environment to point to a blueprint identified by name
|
|
operationId: setEnvByBlueprintName
|
|
parameters:
|
|
- name: env_name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentConfigEnvSetByName"
|
|
responses:
|
|
"204":
|
|
description: Environment updated
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
delete:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Delete environment
|
|
description: Soft-deletes an environment by setting its ended_at timestamp
|
|
operationId: deleteEnv
|
|
parameters:
|
|
- name: env_name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Environment deleted
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/agent-configs/blueprints/{blueprint_id}:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Retrieve blueprint by ID
|
|
description: Retrieves a specific blueprint by its ID
|
|
operationId: getBlueprintById
|
|
parameters:
|
|
- name: blueprint_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Blueprint retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentBlueprint_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/agent-configs/blueprints/projects/{project_id}/names/{name}:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Retrieve blueprint by name
|
|
description: Retrieves a specific blueprint by its name within a project
|
|
operationId: getBlueprintByName
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Blueprint retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentBlueprint_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/agent-configs/blueprints/history/projects/{project_id}:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Get blueprint history
|
|
description: Retrieves paginated blueprint history for a project
|
|
operationId: getBlueprintHistory
|
|
parameters:
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: History retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BlueprintPage_History"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_History"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_History"
|
|
/v1/private/agent-configs/blueprints/{blueprint_id}/deltas:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Retrieve delta by blueprint ID
|
|
description: Retrieves only the changes (delta) introduced in a specific blueprint
|
|
operationId: getDeltaById
|
|
parameters:
|
|
- name: blueprint_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Delta retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentBlueprint_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/agent-configs/blueprints/latest/projects/{project_id}:
|
|
get:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Retrieve latest blueprint
|
|
description: Retrieves the latest blueprint for a project
|
|
operationId: getLatestBlueprint
|
|
parameters:
|
|
- name: project_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Blueprint retrieved
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentBlueprint_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/agent-configs/blueprints/remove-keys:
|
|
post:
|
|
tags:
|
|
- Agent Configs
|
|
summary: Remove configuration parameters
|
|
description: Removes configuration parameters by creating a new blueprint that
|
|
closes the specified keys. Returns 204 if no changes were needed (idempotent).
|
|
operationId: removeConfigKeys
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentConfigRemoveValues"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/agent-configs/blueprints/{blueprint_id}"
|
|
"204":
|
|
description: No changes needed (no config or keys already removed)
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/agent-insights/jobs/{projectId}:
|
|
get:
|
|
tags:
|
|
- Agent Insights Jobs
|
|
summary: Get Agent Insights job
|
|
description: "Returns the Agent Insights job for the (workspace, project), or\
|
|
\ 404 if none exists."
|
|
operationId: getAgentInsightsJob
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Job
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsJob"
|
|
"404":
|
|
description: Job not found
|
|
post:
|
|
tags:
|
|
- Agent Insights Jobs
|
|
summary: Create Agent Insights job
|
|
description: Creates the Agent Insights job for a project. 409 if one already
|
|
exists.
|
|
operationId: createAgentInsightsJob
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"201":
|
|
description: Job created
|
|
headers:
|
|
Location:
|
|
description: URI of the created job
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsJob"
|
|
"404":
|
|
description: Project not found
|
|
"409":
|
|
description: Job already exists
|
|
patch:
|
|
tags:
|
|
- Agent Insights Jobs
|
|
summary: Update Agent Insights job
|
|
description: "Partially updates the Agent Insights job for a project (e.g. status;\
|
|
\ never deletes). Returns the updated job, or 404 if none exists."
|
|
operationId: updateAgentInsightsJob
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsJobUpdate"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Job updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsJob"
|
|
"404":
|
|
description: Job not found
|
|
/v1/private/agent-insights/jobs/{projectId}/trigger:
|
|
post:
|
|
tags:
|
|
- Agent Insights Jobs
|
|
summary: Trigger Agent Insights job
|
|
description: Triggers an immediate report run for an existing job (over the
|
|
last 24h). Fire-and-forget; returns 202. 404 if none exists.
|
|
operationId: triggerAgentInsightsJob
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"202":
|
|
description: Run accepted
|
|
"404":
|
|
description: Job not found
|
|
/v1/private/agent-insights/issues:
|
|
get:
|
|
tags:
|
|
- Agent Insights
|
|
summary: Find agent insights issues
|
|
description: "Returns a paginated list of issues that have at least one detail\
|
|
\ row within the requested time window, with metrics aggregated over the window"
|
|
operationId: findAgentInsightsIssues
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: from_date
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: to_date
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: status
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- open
|
|
- resolved
|
|
- closed
|
|
- name: severity
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- critical
|
|
- high
|
|
- medium
|
|
- low
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: Issues page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsIssuePage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
post:
|
|
tags:
|
|
- Agent Insights
|
|
summary: Store agent insights report results
|
|
description: Upserts the detected issues and their per-day metrics for the given
|
|
report day in a single transaction. Issue status is never modified by this
|
|
endpoint.
|
|
operationId: reportAgentInsightsIssues
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsReport"
|
|
responses:
|
|
"204":
|
|
description: Report stored
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Project not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/agent-insights/issues/{issue_id}:
|
|
get:
|
|
tags:
|
|
- Agent Insights
|
|
summary: Get agent insights issue by id
|
|
description: Returns the issue together with its per-day breakdown within the
|
|
requested time window
|
|
operationId: getAgentInsightsIssueById
|
|
parameters:
|
|
- name: issue_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: from_date
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date
|
|
- name: to_date
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: date
|
|
responses:
|
|
"200":
|
|
description: Issue with details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsIssueWithDetails"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
patch:
|
|
tags:
|
|
- Agent Insights
|
|
summary: Update agent insights issue status
|
|
description: "Moves an issue through its lifecycle: open, resolved or closed"
|
|
operationId: updateAgentInsightsIssue
|
|
parameters:
|
|
- name: issue_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AgentInsightsIssueUpdate"
|
|
responses:
|
|
"204":
|
|
description: Issue updated
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/alerts:
|
|
get:
|
|
tags:
|
|
- Alerts
|
|
summary: Find alerts
|
|
description: Find alerts
|
|
operationId: findAlerts
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AlertPage_Public"
|
|
post:
|
|
tags:
|
|
- Alerts
|
|
summary: Create alert
|
|
description: Create alert
|
|
operationId: createAlert
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Alert_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/alerts/{alertId}"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/alerts/delete:
|
|
post:
|
|
tags:
|
|
- Alerts
|
|
summary: Delete alert batch
|
|
description: Delete multiple alerts by their IDs
|
|
operationId: deleteAlertBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/alerts/{id}:
|
|
get:
|
|
tags:
|
|
- Alerts
|
|
summary: Get Alert by id
|
|
description: Get Alert by id
|
|
operationId: getAlertById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Alert resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Alert_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
put:
|
|
tags:
|
|
- Alerts
|
|
summary: Update alert
|
|
description: Update alert
|
|
operationId: updateAlert
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Alert_Write"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/alerts/webhooks/examples:
|
|
get:
|
|
tags:
|
|
- Alerts
|
|
summary: Get webhook payload examples
|
|
description: "Get webhook payload examples for all alert event types, optionally\
|
|
\ filtered by alert type"
|
|
operationId: getWebhookExamples
|
|
parameters:
|
|
- name: alert_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- slack
|
|
- pagerduty
|
|
responses:
|
|
"200":
|
|
description: Webhook examples
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WebhookExamples"
|
|
/v1/private/alerts/webhooks/tests:
|
|
post:
|
|
tags:
|
|
- Alerts
|
|
summary: Test alert webhook
|
|
description: Test alert webhook
|
|
operationId: testWebhook
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Alert_Write"
|
|
responses:
|
|
"200":
|
|
description: Webhook test
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WebhookTestResult"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues/{id}/items/add:
|
|
post:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Add items to annotation queue
|
|
description: Add traces or threads to annotation queue
|
|
operationId: addItemsToAnnotationQueue
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueueItemIds"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues:
|
|
get:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Find annotation queues
|
|
description: Find annotation queues with filtering and sorting
|
|
operationId: findAnnotationQueues
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter annotation queues by name (partial match, case insensitive)"
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Annotation queues page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueuePage_Public"
|
|
post:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Create annotation queue
|
|
description: Create annotation queue for human annotation workflows
|
|
operationId: createAnnotationQueue
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueue_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/traces/{annotationId}"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues/batch:
|
|
post:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Create annotation queue batch
|
|
description: Create multiple annotation queues for human annotation workflows
|
|
operationId: createAnnotationQueueBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueueBatch_Write"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues/delete:
|
|
post:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Delete annotation queue batch
|
|
description: Delete multiple annotation queues by their IDs
|
|
operationId: deleteAnnotationQueueBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues/{id}:
|
|
get:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Get annotation queue by id
|
|
description: Get annotation queue by id
|
|
operationId: getAnnotationQueueById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Annotation queue resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueue_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
patch:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Update annotation queue
|
|
description: Update annotation queue by id
|
|
operationId: updateAnnotationQueue
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueueUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/annotation-queues/{queueId}/locks:
|
|
get:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Get all active locks for an annotation queue
|
|
description: Returns lock status for all actively locked items in the queue
|
|
operationId: getAnnotationQueueLocks
|
|
parameters:
|
|
- name: queueId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Queue locks
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocksResponse"
|
|
/v1/private/annotation-queues/{queueId}/items/{itemId}/lock:
|
|
put:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Create or extend annotation queue item lock
|
|
description: "Claim an annotation queue item for the current user, or extend\
|
|
\ an existing lock"
|
|
operationId: lockAnnotationQueueItem
|
|
parameters:
|
|
- name: queueId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: itemId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Lock result
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LockResponse"
|
|
/v1/private/annotation-queues/{id}/items/delete:
|
|
post:
|
|
tags:
|
|
- Annotation Queues
|
|
summary: Remove items from annotation queue
|
|
description: Remove items from annotation queue
|
|
operationId: removeItemsFromAnnotationQueue
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AnnotationQueueItemIds"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/assertion-results:
|
|
put:
|
|
tags:
|
|
- Assertion Results
|
|
summary: Batch ingestion of assertion results
|
|
description: Batch ingestion of assertion results for traces or spans
|
|
operationId: storeAssertionsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AssertionResultBatch"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/attachment/list:
|
|
get:
|
|
tags:
|
|
- Attachments
|
|
summary: Attachments list for entity
|
|
description: Attachments list for entity
|
|
operationId: attachmentList
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 100
|
|
- name: project_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: entity_type
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
- name: entity_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Attachment Resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AttachmentPage"
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/attachment/upload-complete:
|
|
post:
|
|
tags:
|
|
- Attachments
|
|
summary: Complete multipart attachment upload
|
|
description: Complete multipart attachment upload
|
|
operationId: completeMultiPartUpload
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CompleteMultipartUploadRequest"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/attachment/delete:
|
|
post:
|
|
tags:
|
|
- Attachments
|
|
summary: Delete attachments
|
|
description: Delete attachments
|
|
operationId: deleteAttachments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CompleteMultipartUploadRequest"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/attachment/download:
|
|
get:
|
|
tags:
|
|
- Attachments
|
|
summary: Download attachment from MinIO
|
|
description: Download attachment from MinIO
|
|
operationId: downloadAttachment
|
|
parameters:
|
|
- name: workspace_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: container_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: entity_type
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
- name: entity_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: file_name
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
- name: mime_type
|
|
in: query
|
|
required: true
|
|
schema:
|
|
minLength: 1
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Attachment Resource
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/attachment/upload-start:
|
|
post:
|
|
tags:
|
|
- Attachments
|
|
summary: Start multipart attachment upload
|
|
description: Start multipart attachment upload
|
|
operationId: startMultiPartUpload
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StartMultipartUploadRequest"
|
|
responses:
|
|
"200":
|
|
description: MultipartUploadResponse
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StartMultipartUploadResponse"
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/attachment/upload:
|
|
put:
|
|
tags:
|
|
- Attachments
|
|
summary: Upload attachment to MinIO
|
|
description: Upload attachment to MinIO
|
|
operationId: uploadAttachment
|
|
parameters:
|
|
- name: file_name
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
- name: mime_type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: entity_type
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
- name: entity_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/auth:
|
|
post:
|
|
tags:
|
|
- Check
|
|
summary: Check user access to workspace
|
|
description: Check user access to workspace
|
|
operationId: checkAccess
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AuthDetailsHolder"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/auth/workspace:
|
|
get:
|
|
tags:
|
|
- Check
|
|
summary: User's default workspace name
|
|
description: User's default workspace name
|
|
operationId: getWorkspaceName
|
|
responses:
|
|
"200":
|
|
description: Authentication resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceNameHolder"
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/automations/evaluators:
|
|
get:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Find project Evaluators
|
|
description: Find project Evaluators
|
|
operationId: findEvaluators
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter automation rules with rule ID containing this value\
|
|
\ (partial match, like %id%)"
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter automation rule evaluators by name (partial match,\
|
|
\ case insensitive)"
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: Evaluators resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AutomationRuleEvaluatorPage_Public"
|
|
post:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Create automation rule evaluator
|
|
description: Create automation rule evaluator
|
|
operationId: createAutomationRuleEvaluator
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/automations/evaluators/{evaluatorId}"
|
|
/v1/private/automations/evaluators/delete:
|
|
post:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Delete automation rule evaluators
|
|
description: Delete automation rule evaluators batch
|
|
operationId: deleteAutomationRuleEvaluatorBatch
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/automations/evaluators/{id}:
|
|
get:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Get automation rule evaluator by id
|
|
description: Get automation rule by id
|
|
operationId: getEvaluatorById
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Automation Rule resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
patch:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Update Automation Rule Evaluator by id
|
|
description: Update Automation Rule Evaluator by id
|
|
operationId: updateAutomationRuleEvaluator
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/automations/evaluators/{id}/logs:
|
|
get:
|
|
tags:
|
|
- Automation rule evaluators
|
|
summary: Get automation rule evaluator logs by id
|
|
description: Get automation rule evaluator logs by id
|
|
operationId: getEvaluatorLogsById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1000
|
|
responses:
|
|
"200":
|
|
description: Automation rule evaluator logs resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LogPage"
|
|
/v1/private/chat/completions:
|
|
post:
|
|
tags:
|
|
- Chat Completions
|
|
summary: Create chat completions
|
|
description: Create chat completions
|
|
operationId: createChatCompletions
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ChatCompletionRequest"
|
|
responses:
|
|
"200":
|
|
description: Chat completions response
|
|
content:
|
|
text/event-stream:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
anyOf:
|
|
- $ref: "#/components/schemas/ChatCompletionResponse"
|
|
- $ref: "#/components/schemas/ErrorMessage"
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ChatCompletionResponse"
|
|
/v1/private/dashboards:
|
|
get:
|
|
tags:
|
|
- Dashboards
|
|
summary: Find dashboards
|
|
description: Find dashboards in a workspace
|
|
operationId: findDashboards
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter dashboards by name (partial match, case insensitive)"
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Dashboard page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DashboardPage_Public"
|
|
post:
|
|
tags:
|
|
- Dashboards
|
|
summary: Create dashboard
|
|
description: Create a new dashboard in a workspace
|
|
operationId: createDashboard
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/dashboards/{dashboardId}"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
/v1/private/dashboards/{dashboardId}:
|
|
get:
|
|
tags:
|
|
- Dashboards
|
|
summary: Get dashboard by id
|
|
description: Get dashboard by id
|
|
operationId: getDashboardById
|
|
parameters:
|
|
- name: dashboardId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Dashboard resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
"404":
|
|
description: Dashboard not found
|
|
delete:
|
|
tags:
|
|
- Dashboards
|
|
summary: Delete dashboard
|
|
description: Delete dashboard by id
|
|
operationId: deleteDashboard
|
|
parameters:
|
|
- name: dashboardId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
patch:
|
|
tags:
|
|
- Dashboards
|
|
summary: Update dashboard
|
|
description: Update dashboard by id. Partial updates are supported - only provided
|
|
fields will be updated.
|
|
operationId: updateDashboard
|
|
parameters:
|
|
- name: dashboardId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DashboardUpdate_Public"
|
|
responses:
|
|
"200":
|
|
description: Updated dashboard
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
"404":
|
|
description: Dashboard not found
|
|
"409":
|
|
description: Conflict - dashboard with this name already exists
|
|
/v1/private/dashboards/delete-batch:
|
|
post:
|
|
tags:
|
|
- Dashboards
|
|
summary: Delete dashboards
|
|
description: Delete dashboards batch
|
|
operationId: deleteDashboardsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/{id}/items/changes:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Apply changes to dataset items
|
|
description: |
|
|
Apply delta changes (add, edit, delete) to a dataset version with conflict detection.
|
|
|
|
This endpoint:
|
|
- Creates a new version with the applied changes
|
|
- Validates that baseVersion matches the latest version (unless override=true)
|
|
- Returns 409 Conflict if baseVersion is stale and override is not set
|
|
|
|
Use `override=true` query parameter to force version creation even with stale baseVersion.
|
|
|
|
Set 'copy_from_dataset_id' and 'copy_from_version_id' together on the request body to read
|
|
carry-forward rows from the supplied (dataset, version) pair instead of the destination's
|
|
prior version. When the fields are null, carry-forward rows are read from the destination's
|
|
prior version.
|
|
operationId: applyDatasetItemChanges
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: override
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemChanges_Public"
|
|
responses:
|
|
"201":
|
|
description: Version created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersion_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"404":
|
|
description: Dataset or version not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"409":
|
|
description: Version conflict - baseVersion is not the latest
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/datasets/items/batch:
|
|
patch:
|
|
tags:
|
|
- Datasets
|
|
summary: Batch update dataset items
|
|
description: Update multiple dataset items
|
|
operationId: batchUpdateDatasetItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/datasets:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Find datasets
|
|
description: Find datasets
|
|
operationId: findDatasets
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: with_experiments_only
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: with_optimizations_only
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: prompt_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter datasets by name (partial match, case insensitive)"
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Dataset resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetPage_Public"
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create dataset
|
|
description: Create dataset
|
|
operationId: createDataset
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dataset_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/api/v1/private/datasets/{id}"
|
|
/v1/private/datasets/items:
|
|
put:
|
|
tags:
|
|
- Datasets
|
|
summary: Create/update dataset items
|
|
description: |-
|
|
Create/update dataset items based on dataset item id.
|
|
Each item's 'id' field is the stable identifier and upsert key.
|
|
Provide it to update an existing item, or omit it to create a new one.
|
|
|
|
Set 'copy_from_dataset_id' and 'copy_from_version_id' together to read carry-forward rows
|
|
from the supplied (dataset, version) pair instead of the destination's prior version. When
|
|
the fields are null, carry-forward rows are read from the destination's prior version.
|
|
operationId: createOrUpdateDatasetItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemBatch_Write"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/items/from-csv:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create dataset items from CSV file
|
|
description: Create dataset items from uploaded CSV file. CSV should have headers
|
|
in the first row. Processing happens asynchronously in batches.
|
|
operationId: createDatasetItemsFromCsv
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
required:
|
|
- dataset_id
|
|
- file
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: object
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"202":
|
|
description: Accepted - CSV processing started
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/datasets/items/from-json:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create dataset items from JSON file
|
|
description: |-
|
|
Create dataset items from an uploaded JSON or JSONL file. JSON files must contain a top-level array of objects.
|
|
JSONL files contain one JSON object per non-blank line; multi-line JSON objects are not supported.
|
|
Reserved keys (id, source, description, tags, evaluators, execution_policy) are extracted into the
|
|
corresponding DatasetItem fields; all remaining keys form the item's data map and preserve their JSON types.
|
|
To link dataset items to specific traces or spans use the dedicated /items/from-traces or /items/from-spans endpoints.
|
|
Processing happens asynchronously in batches. With dataset versioning enabled, a supplied id acts as an upsert key.
|
|
operationId: createDatasetItemsFromJson
|
|
requestBody:
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
required:
|
|
- dataset_id
|
|
- file
|
|
- format
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: object
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
format:
|
|
type: string
|
|
enum:
|
|
- json
|
|
- jsonl
|
|
responses:
|
|
"202":
|
|
description: Accepted - JSON processing started
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/datasets/{dataset_id}/items/from-spans:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create dataset items from spans
|
|
description: Create dataset items from spans with enriched metadata
|
|
operationId: createDatasetItemsFromSpans
|
|
parameters:
|
|
- name: dataset_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateDatasetItemsFromSpansRequest"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/{dataset_id}/items/from-traces:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create dataset items from traces
|
|
description: Create dataset items from traces with enriched metadata
|
|
operationId: createDatasetItemsFromTraces
|
|
parameters:
|
|
- name: dataset_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateDatasetItemsFromTracesRequest"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/{id}:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset by id
|
|
description: Get dataset by id
|
|
operationId: getDatasetById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Dataset resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dataset_Public"
|
|
put:
|
|
tags:
|
|
- Datasets
|
|
summary: Update dataset by id
|
|
description: Update dataset by id
|
|
operationId: updateDataset
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetUpdate"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
delete:
|
|
tags:
|
|
- Datasets
|
|
summary: Delete dataset by id
|
|
description: Delete dataset by id
|
|
operationId: deleteDataset
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/delete:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Delete dataset by name
|
|
description: Delete dataset by name
|
|
operationId: deleteDatasetByName
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetIdentifier"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/items/delete:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Delete dataset items
|
|
description: |
|
|
Delete dataset items using one of two modes:
|
|
1. **Delete by IDs**: Provide 'item_ids' to delete specific items by their IDs
|
|
2. **Delete by filters**: Provide 'dataset_id' with optional 'filters' to delete items matching criteria
|
|
|
|
When using filters, an empty 'filters' array will delete all items in the specified dataset.
|
|
operationId: deleteDatasetItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemsDelete"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request - invalid parameters or conflicting fields
|
|
/v1/private/datasets/delete-batch:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Delete datasets
|
|
description: Delete datasets batch
|
|
operationId: deleteDatasetsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/datasets/export-jobs/{jobId}/download:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Download dataset export file
|
|
description: Downloads the exported CSV file for a completed export job. This
|
|
endpoint proxies the file download to avoid exposing internal storage URLs.
|
|
operationId: downloadDatasetExport
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: CSV file content
|
|
content:
|
|
text/csv:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
"400":
|
|
description: Export job is not ready for download
|
|
"404":
|
|
description: Export job not found
|
|
/v1/private/datasets/{id}/expansions:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Expand dataset with synthetic samples
|
|
description: Generate synthetic dataset samples using LLM based on existing
|
|
data patterns
|
|
operationId: expandDataset
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetExpansion_Write"
|
|
responses:
|
|
"200":
|
|
description: Generated synthetic samples
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetExpansionResponse"
|
|
/v1/private/datasets/{id}/items/experiments/items:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Find dataset items with experiment items
|
|
description: Find dataset items with experiment items
|
|
operationId: findDatasetItemsWithExperimentItems
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: experiment_ids
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: truncate
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "Truncate image included in either input, output or metadata"
|
|
responses:
|
|
"200":
|
|
description: Dataset item resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemPage_Compare"
|
|
/v1/private/datasets/retrieve:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset by name
|
|
description: Get dataset by name
|
|
operationId: getDatasetByIdentifier
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetIdentifier_Public"
|
|
responses:
|
|
"200":
|
|
description: Dataset resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dataset_Public"
|
|
/v1/private/datasets/{id}/items/experiments/items/stats:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get experiment items stats for dataset
|
|
description: Get experiment items stats for dataset
|
|
operationId: getDatasetExperimentItemsStats
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: experiment_ids
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Experiment items stats resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectStats_Public"
|
|
/v1/private/datasets/export-jobs/{jobId}:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset export job status
|
|
description: Retrieves the current status of a dataset export job
|
|
operationId: getDatasetExportJob
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Export job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetExportJob_Public"
|
|
"404":
|
|
description: Export job not found
|
|
/v1/private/datasets/export-jobs:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get all dataset export jobs
|
|
description: Retrieves all export jobs for the workspace. This is used to restore
|
|
the export panel state after page refresh.
|
|
operationId: getDatasetExportJobs
|
|
responses:
|
|
"200":
|
|
description: List of export jobs
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetExportJob_Public"
|
|
/v1/private/datasets/items/{itemId}:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset item by id
|
|
description: Get dataset item by id
|
|
operationId: getDatasetItemById
|
|
parameters:
|
|
- name: itemId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Dataset item resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItem_Public"
|
|
patch:
|
|
tags:
|
|
- Datasets
|
|
summary: Partially update dataset item by id
|
|
description: Partially update dataset item by id. Only provided fields will
|
|
be updated.
|
|
operationId: patchDatasetItem
|
|
parameters:
|
|
- name: itemId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItem_Write"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Dataset item not found
|
|
/v1/private/datasets/{id}/items:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset items
|
|
description: Get dataset items
|
|
operationId: getDatasetItems
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: version
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Version hash or tag to fetch specific dataset version
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: truncate
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "Truncate image included in either input, output or metadata"
|
|
responses:
|
|
"200":
|
|
description: Dataset items resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemPage_Public"
|
|
/v1/private/datasets/{id}/items/experiments/items/output/columns:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Get dataset items output columns
|
|
description: Get dataset items output columns
|
|
operationId: getDatasetItemsOutputColumns
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: experiment_ids
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Dataset item output columns
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PageColumns"
|
|
/v1/private/datasets/export-jobs/{jobId}/mark-viewed:
|
|
put:
|
|
tags:
|
|
- Datasets
|
|
summary: Mark dataset export job as viewed
|
|
description: Marks a dataset export job as viewed by setting the viewed_at timestamp.
|
|
This is used to track that a user has seen a failed job's error message. This
|
|
operation is idempotent.
|
|
operationId: markDatasetExportJobViewed
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Job marked as viewed
|
|
"404":
|
|
description: Export job not found
|
|
/v1/private/datasets/{id}/export:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Start dataset CSV export
|
|
description: Initiates an asynchronous CSV export job for the dataset. Returns
|
|
immediately with job details for polling.
|
|
operationId: startDatasetExport
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"202":
|
|
description: Export job created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetExportJob_Public"
|
|
"200":
|
|
description: Existing export job in progress
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetExportJob_Public"
|
|
/v1/private/datasets/items/stream:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Stream dataset items
|
|
description: Stream dataset items
|
|
operationId: streamDatasetItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetItemStreamRequest"
|
|
responses:
|
|
"200":
|
|
description: Dataset items stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/DatasetItem"
|
|
- $ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/datasets/{id}/versions/diff:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: Compare latest version with draft
|
|
description: "Compare the latest committed dataset version with the current\
|
|
\ draft state. This endpoint provides insights into changes made since the\
|
|
\ last version was committed. The comparison calculates additions, modifications,\
|
|
\ deletions, and unchanged items between the latest version snapshot and current\
|
|
\ draft."
|
|
operationId: compareDatasetVersions
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Diff computed successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionDiff"
|
|
"404":
|
|
description: Version not found
|
|
/v1/private/datasets/{id}/versions/hash/{versionHash}/tags:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Create version tag
|
|
description: "Add a tag to a specific dataset version for easy reference (e.g.,\
|
|
\ 'baseline', 'v1.0', 'production')"
|
|
operationId: createVersionTag
|
|
parameters:
|
|
- name: versionHash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionTag"
|
|
responses:
|
|
"204":
|
|
description: Tag created successfully
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found - Version not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict - Tag already exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/datasets/{id}/versions/{versionHash}/tags/{tag}:
|
|
delete:
|
|
tags:
|
|
- Datasets
|
|
summary: Delete version tag
|
|
description: "Remove a tag from a dataset version. The version itself is not\
|
|
\ deleted, only the tag reference."
|
|
operationId: deleteVersionTag
|
|
parameters:
|
|
- name: versionHash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: tag
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Tag deleted successfully
|
|
/v1/private/datasets/{id}/versions:
|
|
get:
|
|
tags:
|
|
- Datasets
|
|
summary: List dataset versions
|
|
description: "Get paginated list of versions for a dataset, ordered by creation\
|
|
\ time (newest first)"
|
|
operationId: listDatasetVersions
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Dataset versions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/datasets/{id}/versions/restore:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Restore dataset to a previous version
|
|
description: "Restores the dataset to a previous version state by creating a\
|
|
\ new version with items copied from the specified version. If the version\
|
|
\ is already the latest, returns it as-is (no-op)."
|
|
operationId: restoreDatasetVersion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionRestore_Public"
|
|
responses:
|
|
"200":
|
|
description: Version restored successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersion_Public"
|
|
"404":
|
|
description: Version not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/datasets/{id}/versions/retrieve:
|
|
post:
|
|
tags:
|
|
- Datasets
|
|
summary: Retrieve dataset version by name
|
|
description: "Get a specific version by its version name (e.g., 'v1', 'v373').\
|
|
\ This is more efficient than paginating through all versions for large datasets."
|
|
operationId: retrieveDatasetVersion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionRetrieveRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: Dataset version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersion_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"404":
|
|
description: Version not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/datasets/{id}/versions/hash/{versionHash}:
|
|
patch:
|
|
tags:
|
|
- Datasets
|
|
summary: Update dataset version
|
|
description: Update a dataset version's change_description and/or add new tags
|
|
operationId: updateDatasetVersion
|
|
parameters:
|
|
- name: versionHash
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersionUpdate_Public"
|
|
responses:
|
|
"200":
|
|
description: Version updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetVersion_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"404":
|
|
description: Not Found - Version not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"409":
|
|
description: Conflict - Tag already exists
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/environments:
|
|
get:
|
|
tags:
|
|
- Environments
|
|
summary: Find environments
|
|
description: Find environments for the workspace. Capped at the workspace limit
|
|
(default 20).
|
|
operationId: findEnvironments
|
|
responses:
|
|
"200":
|
|
description: Environments page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EnvironmentPage_Public"
|
|
post:
|
|
tags:
|
|
- Environments
|
|
summary: Create environment
|
|
description: Create environment
|
|
operationId: createEnvironment
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Environment_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/environments/{environmentId}"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/environments/delete:
|
|
post:
|
|
tags:
|
|
- Environments
|
|
summary: Delete environments
|
|
description: Delete environments batch. Idempotent — missing ids are silently
|
|
ignored.
|
|
operationId: deleteEnvironmentsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/environments/{id}:
|
|
get:
|
|
tags:
|
|
- Environments
|
|
summary: Get environment by id
|
|
description: Get environment by id
|
|
operationId: getEnvironmentById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Environment
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Environment_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
patch:
|
|
tags:
|
|
- Environments
|
|
summary: Update environment by id
|
|
description: Update environment by id
|
|
operationId: updateEnvironment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/EnvironmentUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/batch:
|
|
patch:
|
|
tags:
|
|
- Experiments
|
|
summary: Batch update experiments
|
|
description: Update multiple experiments
|
|
operationId: batchUpdateExperiments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Find experiments
|
|
description: Find experiments
|
|
operationId: findExperiments
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: datasetId
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: optimization_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: types
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter experiments by name (partial match, case insensitive)"
|
|
- name: dataset_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: prompt_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: experiment_ids
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter experiments by a list of experiment IDs
|
|
- name: force_sorting
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: Force sorting even when exceeding the endpoint result set limit.
|
|
May result in slower queries
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Experiments resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Create experiment
|
|
description: Create experiment
|
|
operationId: createExperiment
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Experiment_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/experiments/{id}"
|
|
/v1/private/experiments/items:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Create experiment items
|
|
description: Create experiment items
|
|
operationId: createExperimentItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentItemsBatch"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/experiments/items/delete:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Delete experiment items
|
|
description: Delete experiment items
|
|
operationId: deleteExperimentItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentItemsDelete"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/experiments/delete:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Delete experiments by id
|
|
description: Delete experiments by id
|
|
operationId: deleteExperimentsById
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteIdsHolder"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/experiments/execute:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Create and execute experiment
|
|
description: Creates experiments for each prompt variant and asynchronously
|
|
processes all dataset items
|
|
operationId: executeExperiment
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentExecutionRequest"
|
|
required: true
|
|
responses:
|
|
"202":
|
|
description: Experiments created and processing started
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentExecutionResponse"
|
|
/v1/private/experiments/items/bulk:
|
|
put:
|
|
tags:
|
|
- Experiments
|
|
summary: Record experiment items in bulk
|
|
description: "Record experiment items in bulk with traces, spans, and feedback\
|
|
\ scores. Maximum request size is 4MB."
|
|
operationId: experimentItemsBulk
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentItemBulkUpload_ExperimentItemBulkWriteView"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/feedback-scores/names:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Find Feedback Score names
|
|
description: Find Feedback Score names
|
|
operationId: findFeedbackScoreNames
|
|
parameters:
|
|
- name: experiment_ids
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Feedback Scores resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreNames_Public"
|
|
/v1/private/experiments/groups:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Find experiment groups
|
|
description: Find experiments grouped by specified fields
|
|
operationId: findExperimentGroups
|
|
parameters:
|
|
- name: groups
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: types
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter experiments by name (partial match, case insensitive)"
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Experiment groups
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentGroupResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/groups/aggregations:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Find experiment groups with aggregations
|
|
description: Find experiments grouped by specified fields with aggregation metrics
|
|
operationId: findExperimentGroupsAggregations
|
|
parameters:
|
|
- name: groups
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: types
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter experiments by name (partial match, case insensitive)"
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: Filter experiments by deleted projects
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Experiment groups with aggregations
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentGroupAggregationsResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/finish:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Finish experiments
|
|
description: Finish experiments and trigger alert events
|
|
operationId: finishExperiments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteIdsHolder"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/{id}:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Get experiment by id
|
|
description: Get experiment by id
|
|
operationId: getExperimentById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Experiment resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Experiment_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
patch:
|
|
tags:
|
|
- Experiments
|
|
summary: Update experiment by id
|
|
description: Update experiment by id
|
|
operationId: updateExperiment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/items/{id}:
|
|
get:
|
|
tags:
|
|
- Experiments
|
|
summary: Get experiment item by id
|
|
description: Get experiment item by id
|
|
operationId: getExperimentItemById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Experiment item resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentItem_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/experiments/items/stream:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Stream experiment items
|
|
description: Stream experiment items
|
|
operationId: streamExperimentItems
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentItemStreamRequest"
|
|
responses:
|
|
"200":
|
|
description: Experiment items stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/ExperimentItem"
|
|
- $ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/experiments/stream:
|
|
post:
|
|
tags:
|
|
- Experiments
|
|
summary: Stream experiments
|
|
description: Stream experiments
|
|
operationId: streamExperiments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentStreamRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: Experiments stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/Experiment_Public"
|
|
- $ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/feedback-definitions:
|
|
get:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Find Feedback definitions
|
|
description: Find Feedback definitions
|
|
operationId: findFeedbackDefinitions
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter feedback definitions by name (partial match, case insensitive)"
|
|
- name: type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
responses:
|
|
"200":
|
|
description: Feedback definitions resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackDefinitionPage_Public"
|
|
post:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Create feedback definition
|
|
description: Get feedback definition
|
|
operationId: createFeedbackDefinition
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Feedback_Create"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/feedback-definitions/{feedbackId}"
|
|
/v1/private/feedback-definitions/{id}:
|
|
get:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Get feedback definition by id
|
|
description: Get feedback definition by id
|
|
operationId: getFeedbackDefinitionById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Feedback definition resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Feedback_Public"
|
|
put:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Update feedback definition by id
|
|
description: Update feedback definition by id
|
|
operationId: updateFeedbackDefinition
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Feedback_Update"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
delete:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Delete feedback definition by id
|
|
description: Delete feedback definition by id
|
|
operationId: deleteFeedbackDefinitionById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/feedback-definitions/delete:
|
|
post:
|
|
tags:
|
|
- Feedback-definitions
|
|
summary: Delete feedback definitions
|
|
description: Delete feedback definitions batch
|
|
operationId: deleteFeedbackDefinitionsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/guardrails:
|
|
post:
|
|
tags:
|
|
- Guardrails
|
|
summary: Create guardrails for traces in a batch
|
|
description: Batch guardrails for traces
|
|
operationId: createGuardrails
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GuardrailBatch_Write"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/insights-views:
|
|
get:
|
|
tags:
|
|
- Insights Views
|
|
summary: Find insights views
|
|
description: Find insights views in a workspace
|
|
operationId: findInsightsViews
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter insights views by name (partial match, case insensitive)"
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Insights view page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DashboardPage_Public"
|
|
post:
|
|
tags:
|
|
- Insights Views
|
|
summary: Create insights view
|
|
description: Create a new insights view in a workspace
|
|
operationId: createInsightsView
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/insights-views/{insightsViewId}"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
/v1/private/insights-views/{insightsViewId}:
|
|
get:
|
|
tags:
|
|
- Insights Views
|
|
summary: Get insights view by id
|
|
description: Get insights view by id
|
|
operationId: getInsightsViewById
|
|
parameters:
|
|
- name: insightsViewId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Insights view resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
"404":
|
|
description: Insights view not found
|
|
delete:
|
|
tags:
|
|
- Insights Views
|
|
summary: Delete insights view
|
|
description: Delete insights view by id
|
|
operationId: deleteInsightsView
|
|
parameters:
|
|
- name: insightsViewId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
patch:
|
|
tags:
|
|
- Insights Views
|
|
summary: Update insights view
|
|
description: Update insights view by id. Partial updates are supported - only
|
|
provided fields will be updated.
|
|
operationId: updateInsightsView
|
|
parameters:
|
|
- name: insightsViewId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DashboardUpdate_Public"
|
|
responses:
|
|
"200":
|
|
description: Updated insights view
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
"404":
|
|
description: Insights view not found
|
|
"409":
|
|
description: Conflict - insights view with this name already exists
|
|
/v1/private/insights-views/delete-batch:
|
|
post:
|
|
tags:
|
|
- Insights Views
|
|
summary: Delete insights views
|
|
description: Delete insights views batch
|
|
operationId: deleteInsightsViewsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/llm/models:
|
|
get:
|
|
tags:
|
|
- LLM Models
|
|
summary: Get LLM models
|
|
description: Get the list of supported LLM models grouped by provider
|
|
operationId: getLlmModels
|
|
responses:
|
|
"200":
|
|
description: LLM models by provider
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
/v1/private/llm-provider-key/delete:
|
|
post:
|
|
tags:
|
|
- LlmProviderKey
|
|
summary: Delete LLM Provider's ApiKeys
|
|
description: Delete LLM Provider's ApiKeys batch
|
|
operationId: deleteLlmProviderApiKeysBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/llm-provider-key:
|
|
get:
|
|
tags:
|
|
- LlmProviderKey
|
|
summary: Find LLM Provider's ApiKeys
|
|
description: Find LLM Provider's ApiKeys
|
|
operationId: findLlmProviderKeys
|
|
responses:
|
|
"200":
|
|
description: LLMProviderApiKey resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProviderApiKeyPage_Public"
|
|
post:
|
|
tags:
|
|
- LlmProviderKey
|
|
summary: Store LLM Provider's ApiKey
|
|
description: Store LLM Provider's ApiKey
|
|
operationId: storeLlmProviderApiKey
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProviderApiKey_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/proxy/api_key/{apiKeyId}"
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/llm-provider-key/{id}:
|
|
get:
|
|
tags:
|
|
- LlmProviderKey
|
|
summary: Get LLM Provider's ApiKey by id
|
|
description: Get LLM Provider's ApiKey by id
|
|
operationId: getLlmProviderApiKeyById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: LLMProviderApiKey resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProviderApiKey_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
patch:
|
|
tags:
|
|
- LlmProviderKey
|
|
summary: Update LLM Provider's ApiKey
|
|
description: Update LLM Provider's ApiKey
|
|
operationId: updateLlmProviderApiKey
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProviderApiKeyUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"401":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"403":
|
|
description: Access forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/jobs/{jobId}/logs:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: Get local runner job logs
|
|
description: Get log entries for a local runner job
|
|
operationId: getJobLogs
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: offset
|
|
in: query
|
|
schema:
|
|
minimum: 0
|
|
type: integer
|
|
format: int32
|
|
default: 0
|
|
responses:
|
|
"200":
|
|
description: Log entries
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LocalRunnerLogEntry"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Append local runner job logs
|
|
description: Append log entries for a running local runner job
|
|
operationId: appendJobLogs
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LocalRunnerLogEntry"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/jobs/{jobId}/cancel:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Cancel local runner job
|
|
description: Cancel a pending or running local runner job
|
|
operationId: cancelJob
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/bridge/commands:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Submit bridge command
|
|
description: Submit a bridge command for execution by the local daemon
|
|
operationId: createBridgeCommand
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommandSubmitRequest"
|
|
responses:
|
|
"201":
|
|
description: Command submitted
|
|
headers:
|
|
Location:
|
|
description: URI of the command
|
|
style: simple
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommandSubmitResponse"
|
|
"404":
|
|
description: Runner not found or not connected
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Runner does not support bridge
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"429":
|
|
description: Too many requests
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/jobs:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Create local runner job
|
|
description: Create a local runner job and enqueue it for execution
|
|
operationId: createJob
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateLocalRunnerJobRequest"
|
|
responses:
|
|
"201":
|
|
description: Job created
|
|
headers:
|
|
Location:
|
|
description: URI of the job
|
|
style: simple
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: Get local runner
|
|
description: Get a single local runner with its registered agents
|
|
operationId: getRunner
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Runner details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunner"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
delete:
|
|
tags:
|
|
- Runners
|
|
summary: Disconnect local runner
|
|
description: "Disconnect a local runner, terminating its connection and failing\
|
|
\ any pending jobs"
|
|
operationId: disconnectRunner
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/local-runners/{runnerId}/bridge/commands/{commandId}:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: Get bridge command
|
|
description: "Get bridge command status, optionally long-polling for completion"
|
|
operationId: getBridgeCommand
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: commandId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: wait
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- name: timeout
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
default: 30
|
|
responses:
|
|
"200":
|
|
description: Command state
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommand"
|
|
"404":
|
|
description: Command not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/jobs/{jobId}:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: Get local runner job
|
|
description: Get a single local runner job's status and results
|
|
operationId: getJob
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Job details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerJob"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/heartbeats:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Local runner heartbeat
|
|
description: Refresh local runner heartbeat
|
|
operationId: heartbeat
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerHeartbeatRequest"
|
|
responses:
|
|
"200":
|
|
description: Heartbeat response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerHeartbeatResponse"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"410":
|
|
description: Gone
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/jobs:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: List local runner jobs
|
|
description: List jobs for a local runner
|
|
operationId: listJobs
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 0
|
|
type: integer
|
|
format: int32
|
|
default: 0
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 25
|
|
responses:
|
|
"200":
|
|
description: Jobs list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerJobPage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners:
|
|
get:
|
|
tags:
|
|
- Runners
|
|
summary: List local runners
|
|
description: List local runners owned by the current user in the workspace
|
|
operationId: listRunners
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: status
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- pairing
|
|
- connected
|
|
- disconnected
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 0
|
|
type: integer
|
|
format: int32
|
|
default: 0
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 25
|
|
responses:
|
|
"200":
|
|
description: Runners list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerPage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/bridge/commands/next:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Poll next bridge commands
|
|
description: Long-poll for pending bridge commands (batch)
|
|
operationId: nextBridgeCommands
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommandNextRequest"
|
|
responses:
|
|
"200":
|
|
description: Commands batch
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommandBatchResponse"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/jobs/next:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Next local runner job
|
|
description: Long-poll for the next pending local runner job
|
|
operationId: nextJob
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Job available, or null if no pending jobs"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
nullable: true
|
|
allOf:
|
|
- $ref: "#/components/schemas/LocalRunnerJob"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/checklist:
|
|
patch:
|
|
tags:
|
|
- Runners
|
|
summary: Patch runner checklist
|
|
description: Partial update of the runner's checklist (deep merge)
|
|
operationId: patchChecklist
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/agents:
|
|
put:
|
|
tags:
|
|
- Runners
|
|
summary: Register local runner agents
|
|
description: Register or update the local runner's agent list
|
|
operationId: registerAgents
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: Map of agent name to agent definition
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/{runnerId}/bridge/commands/{commandId}/results:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Report bridge command result
|
|
description: Report bridge command completion or failure
|
|
operationId: reportBridgeResult
|
|
parameters:
|
|
- name: runnerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: commandId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BridgeCommandResultRequest"
|
|
responses:
|
|
"204":
|
|
description: Result accepted
|
|
"404":
|
|
description: Command not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Already completed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/local-runners/jobs/{jobId}/results:
|
|
post:
|
|
tags:
|
|
- Runners
|
|
summary: Report local runner job result
|
|
description: Report local runner job completion or failure
|
|
operationId: reportJobResult
|
|
parameters:
|
|
- name: jobId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/LocalRunnerJobResultRequest"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/manual-evaluation/spans:
|
|
post:
|
|
tags:
|
|
- Manual Evaluation
|
|
summary: Manually evaluate spans
|
|
description: Manually trigger evaluation rules on selected spans. Bypasses sampling
|
|
and enqueues all specified spans for evaluation.
|
|
operationId: evaluateSpans
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted - Evaluation request queued successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationResponse"
|
|
"400":
|
|
description: Bad Request - Invalid request or missing automation rules
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found - Project not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/manual-evaluation/threads:
|
|
post:
|
|
tags:
|
|
- Manual Evaluation
|
|
summary: Manually evaluate threads
|
|
description: Manually trigger evaluation rules on selected threads. Bypasses
|
|
sampling and enqueues all specified threads for evaluation.
|
|
operationId: evaluateThreads
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted - Evaluation request queued successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationResponse"
|
|
"400":
|
|
description: Bad Request - Invalid request or missing automation rules
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found - Project not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/manual-evaluation/traces:
|
|
post:
|
|
tags:
|
|
- Manual Evaluation
|
|
summary: Manually evaluate traces
|
|
description: Manually trigger evaluation rules on selected traces. Bypasses
|
|
sampling and enqueues all specified traces for evaluation.
|
|
operationId: evaluateTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted - Evaluation request queued successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ManualEvaluationResponse"
|
|
"400":
|
|
description: Bad Request - Invalid request or missing automation rules
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found - Project not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/ollama/models:
|
|
post:
|
|
tags:
|
|
- Ollama
|
|
summary: List available Ollama models
|
|
description: "Fetches the list of models available from the Ollama instance.\
|
|
\ URL may be provided with or without /v1 suffix (e.g., http://localhost:11434\
|
|
\ or http://localhost:11434/v1). The /v1 suffix will be automatically removed\
|
|
\ for model discovery. For actual LLM inference, use the URL with /v1 suffix\
|
|
\ for OpenAI-compatible endpoints."
|
|
operationId: listModels
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OllamaInstanceBaseUrlRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Models retrieved successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/OllamaModel"
|
|
"422":
|
|
description: Unprocessable Content - Invalid URL format
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"500":
|
|
description: Failed to fetch models
|
|
"503":
|
|
description: Ollama provider is disabled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/ollama/test-connection:
|
|
post:
|
|
tags:
|
|
- Ollama
|
|
summary: Test connection to Ollama instance
|
|
description: "Validates that the provided Ollama URL is reachable. URL may be\
|
|
\ provided with or without /v1 suffix (e.g., http://localhost:11434 or http://localhost:11434/v1).\
|
|
\ The /v1 suffix will be automatically removed for connection testing. For\
|
|
\ inference, use the URL with /v1 suffix."
|
|
operationId: testConnection
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OllamaInstanceBaseUrlRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Connection test successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OllamaConnectionTestResponse"
|
|
"422":
|
|
description: Unprocessable Content - Invalid URL format
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"502":
|
|
description: Connection test failed - Ollama instance unreachable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OllamaConnectionTestResponse"
|
|
"503":
|
|
description: Ollama provider is disabled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/ollie/state:
|
|
get:
|
|
tags:
|
|
- Ollie State
|
|
summary: Download ollie state
|
|
description: Download stored ollie state file
|
|
operationId: downloadOllieState
|
|
responses:
|
|
"200":
|
|
description: Ollie state file
|
|
content:
|
|
application/gzip:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/gzip:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/gzip:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
put:
|
|
tags:
|
|
- Ollie State
|
|
summary: Replace ollie state
|
|
description: "Upload gzip-compressed SQLite DB file, replacing any existing\
|
|
\ state"
|
|
operationId: replaceOllieState
|
|
parameters:
|
|
- name: Content-Length
|
|
in: header
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
requestBody:
|
|
content:
|
|
application/gzip:
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"429":
|
|
description: Rate limit exceeded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
delete:
|
|
tags:
|
|
- Ollie State
|
|
summary: Delete ollie state
|
|
description: Clear stored ollie state
|
|
operationId: deleteOllieState
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/otel/v1/traces:
|
|
post:
|
|
tags:
|
|
- OpenTelemetry Ingestion
|
|
operationId: receiveProtobufTraces
|
|
requestBody:
|
|
content:
|
|
application/x-protobuf:
|
|
schema:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
responses:
|
|
default:
|
|
description: default response
|
|
content:
|
|
'*/*': {}
|
|
/v1/private/optimizations/studio/{id}/cancel:
|
|
get:
|
|
tags:
|
|
- Optimizations
|
|
summary: Cancel Studio optimizations
|
|
description: Cancel Studio optimizations by id
|
|
operationId: cancelStudioOptimizations
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"501":
|
|
description: Not Implemented
|
|
/v1/private/optimizations:
|
|
get:
|
|
tags:
|
|
- Optimizations
|
|
summary: Find optimizations
|
|
description: Find optimizations
|
|
operationId: findOptimizations
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: dataset_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter optimizations by name (partial match, case insensitive)"
|
|
- name: dataset_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter optimizations by dataset name (partial match)
|
|
- name: dataset_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Optimizations resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OptimizationPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
put:
|
|
tags:
|
|
- Optimizations
|
|
summary: Upsert optimization
|
|
description: Upsert optimization
|
|
operationId: upsertOptimization
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Optimization_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/optimizations/{id}"
|
|
post:
|
|
tags:
|
|
- Optimizations
|
|
summary: Create optimization
|
|
description: Create optimization
|
|
operationId: createOptimization
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Optimization_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/optimizations/{id}"
|
|
/v1/private/optimizations/delete:
|
|
post:
|
|
tags:
|
|
- Optimizations
|
|
summary: Delete optimizations by id
|
|
description: Delete optimizations by id
|
|
operationId: deleteOptimizationsById
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteIdsHolder"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/optimizations/{id}:
|
|
get:
|
|
tags:
|
|
- Optimizations
|
|
summary: Get optimization by id
|
|
description: Get optimization by id
|
|
operationId: getOptimizationById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Optimization resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Optimization_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
put:
|
|
tags:
|
|
- Optimizations
|
|
summary: Update optimization by id
|
|
description: Update optimization by id
|
|
operationId: updateOptimizationsById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OptimizationUpdate"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/optimizations/studio/{id}/logs:
|
|
get:
|
|
tags:
|
|
- Optimizations
|
|
summary: Get Studio optimization logs
|
|
description: Get presigned S3 URL for downloading optimization logs
|
|
operationId: getStudioOptimizationLogs
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Logs response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OptimizationStudioLog"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/pairing/sessions/{sessionId}/activate:
|
|
post:
|
|
tags:
|
|
- Pairing
|
|
summary: Activate a pairing session
|
|
description: Verify the activation HMAC and flip the runner row to CONNECTED
|
|
operationId: activatePairingSession
|
|
parameters:
|
|
- name: sessionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ActivateRequest"
|
|
responses:
|
|
"201":
|
|
description: Session activated
|
|
headers:
|
|
Location:
|
|
description: URI of the runner
|
|
style: simple
|
|
"403":
|
|
description: Invalid HMAC
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Session not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Session already activated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"422":
|
|
description: Unprocessable entity
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"429":
|
|
description: Too many requests
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/pairing/sessions:
|
|
post:
|
|
tags:
|
|
- Pairing
|
|
summary: Create a pairing session
|
|
description: Register a short-lived pairing session that a local daemon will
|
|
later activate via HMAC
|
|
operationId: createPairingSession
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateSessionRequest"
|
|
responses:
|
|
"201":
|
|
description: Session created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateSessionResponse"
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Project not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"422":
|
|
description: Unprocessable entity
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"429":
|
|
description: Too many requests
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/{projectId}/alerts:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find alerts by project
|
|
description: Find alerts scoped to a project
|
|
operationId: findAlertsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Alerts page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AlertPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/projects/{projectId}/dashboards:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find dashboards by project
|
|
description: Find dashboards scoped to a project
|
|
operationId: findDashboardsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter dashboards by name (partial match, case insensitive)"
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Dashboard page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DashboardPage_Public"
|
|
/v1/private/projects/{projectId}/datasets:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find datasets by project
|
|
description: Find datasets scoped to a project
|
|
operationId: findDatasetsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: with_experiments_only
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: with_optimizations_only
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter datasets by name (partial match, case insensitive)"
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Dataset page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DatasetPage_Public"
|
|
/v1/private/projects/{projectId}/experiments:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find experiments by project
|
|
description: Find experiments scoped to a project
|
|
operationId: findExperimentsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: datasetId
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: optimization_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: types
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter experiments by name (partial match, case insensitive)"
|
|
- name: dataset_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: experiment_ids
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter experiments by a list of experiment IDs
|
|
- name: force_sorting
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: Force sorting even when exceeding the endpoint result set limit.
|
|
May result in slower queries
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Experiments page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExperimentPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/projects/{projectId}/optimizations:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find optimizations by project
|
|
description: Find optimizations scoped to a project
|
|
operationId: findOptimizationsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: dataset_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: dataset_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter optimizations by name (partial match, case insensitive)"
|
|
- name: dataset_deleted
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Optimizations page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OptimizationPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/projects/{projectId}/prompts:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Get prompts by project
|
|
description: Get prompts scoped to a project
|
|
operationId: getPromptsByProject
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter prompts by name (partial match, case insensitive)"
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptPage_Public"
|
|
/v1/private/projects:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find projects
|
|
description: Find projects
|
|
operationId: findProjects
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter projects by name (partial match, case insensitive)"
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Project resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectPage_Public"
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Create project
|
|
description: Create project
|
|
operationId: createProject
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Project_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/projects/{projectId}"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/{id}:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Get project by id
|
|
description: Get project by id
|
|
operationId: getProjectById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Project resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Project_Public"
|
|
delete:
|
|
tags:
|
|
- Projects
|
|
summary: Delete project by id
|
|
description: Delete project by id
|
|
operationId: deleteProjectById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
patch:
|
|
tags:
|
|
- Projects
|
|
summary: Update project by id
|
|
description: Update project by id
|
|
operationId: updateProject
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/delete:
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Delete projects
|
|
description: Delete projects batch
|
|
operationId: deleteProjectsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/projects/feedback-scores/names:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find Feedback Score names By Project Ids
|
|
description: Find Feedback Score names By Project Ids
|
|
operationId: findFeedbackScoreNamesByProjectIds
|
|
parameters:
|
|
- name: project_ids
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Feedback Scores resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreNames"
|
|
/v1/private/projects/{id}/token-usage/names:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Find Token Usage names
|
|
description: Find Token Usage names
|
|
operationId: findTokenUsageNames
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Token Usage names resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TokenUsageNames"
|
|
/v1/private/projects/{id}/kpi-cards:
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Get Project KPI Cards
|
|
description: Gets KPI card metrics for a project
|
|
operationId: getProjectKpiCards
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/KpiCardRequest"
|
|
responses:
|
|
"200":
|
|
description: KPI Card Metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/KpiCardResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/{id}/metrics:
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Get Project Metrics
|
|
description: Gets specified metrics for a project
|
|
operationId: getProjectMetrics
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectMetricRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: Project Metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectMetricResponse_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/projects/stats:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Get Project Stats
|
|
description: Get Project Stats
|
|
operationId: getProjectStats
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter projects by name (partial match, case insensitive)"
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Project Stats
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectStatsSummary"
|
|
/v1/private/projects/retrieve:
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Retrieve project
|
|
description: Retrieve project
|
|
operationId: retrieveProject
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectRetrieve_Detailed"
|
|
responses:
|
|
"200":
|
|
description: Project resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Project_Detailed"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detailed"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detailed"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detailed"
|
|
/v1/private/prompts:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompts
|
|
description: Get prompts
|
|
operationId: getPrompts
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter prompts by name (partial match, case insensitive)"
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptPage_Public"
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Create prompt
|
|
description: Create prompt
|
|
operationId: createPrompt
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Prompt_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/prompts/{promptId}"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/prompts/versions:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Create prompt version
|
|
description: Create prompt version
|
|
operationId: createPromptVersion
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreatePromptVersion_Detail"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
patch:
|
|
tags:
|
|
- Prompts
|
|
summary: Update prompt versions
|
|
description: |
|
|
Update one or more prompt versions.
|
|
|
|
Note: Prompt versions are immutable by design.
|
|
Only organizational properties, such as tags etc., can be updated.
|
|
Core properties like template and metadata cannot be modified after creation.
|
|
|
|
PATCH semantics:
|
|
- non-empty values update the field
|
|
- null values preserve existing field values (no change)
|
|
- empty values explicitly clear the field
|
|
operationId: updatePromptVersions
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/prompts/{id}:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompt by id
|
|
description: "Get prompt by id; when mask_id or environment is provided, requestedVersion\
|
|
\ is populated with the resolved version. mask_id and environment are mutually\
|
|
\ exclusive."
|
|
operationId: getPromptById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: mask_id
|
|
in: query
|
|
description: "Optional mask version id; when set, requestedVersion is the\
|
|
\ mask row for that id"
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: environment
|
|
in: query
|
|
description: "Optional environment name; when set, requestedVersion is the\
|
|
\ version mapped to that environment for the prompt"
|
|
schema:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Prompt resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Prompt_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
put:
|
|
tags:
|
|
- Prompts
|
|
summary: Update prompt
|
|
description: Update prompt
|
|
operationId: updatePrompt
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Prompt_Updatable"
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
delete:
|
|
tags:
|
|
- Prompts
|
|
summary: Delete prompt
|
|
description: Delete prompt
|
|
operationId: deletePrompt
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
/v1/private/prompts/delete:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Delete prompts
|
|
description: Delete prompts batch
|
|
operationId: deletePromptsBatch
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/prompts/by-commit/{commit}:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompt by commit
|
|
description: Get prompt by commit
|
|
operationId: getPromptByCommit
|
|
parameters:
|
|
- name: commit
|
|
in: path
|
|
required: true
|
|
schema:
|
|
pattern: "^[a-zA-Z0-9]{8}$"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Prompt_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/versions/{versionId}:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompt version by id
|
|
description: Get prompt version by id
|
|
operationId: getPromptVersionById
|
|
parameters:
|
|
- name: versionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Prompt version resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/{promptId}/versions/by-number/{versionNumber}:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompt version by sequential number
|
|
description: Get a prompt version by its sequential v<N> number for the given
|
|
prompt.
|
|
operationId: getPromptVersionByNumber
|
|
parameters:
|
|
- name: promptId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: versionNumber
|
|
in: path
|
|
required: true
|
|
schema:
|
|
maxLength: 10
|
|
minLength: 0
|
|
pattern: v\d+
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Prompt version resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/{id}/versions:
|
|
get:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompt versions
|
|
description: Get prompt versions
|
|
operationId: getPromptVersions
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: search
|
|
in: query
|
|
description: Search text to find in template or change description fields
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionPage_Public"
|
|
/v1/private/prompts/retrieve-by-commits:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Get prompts by commits
|
|
description: Get prompts by prompt version commits
|
|
operationId: getPromptsByCommits
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionCommitsRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink_Public"
|
|
/v1/private/prompts/{promptId}/versions/{versionId}/restore:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Restore prompt version
|
|
description: Restore a prompt version by creating a new version with the content
|
|
from the specified version
|
|
operationId: restorePromptVersion
|
|
parameters:
|
|
- name: promptId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: versionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/versions/retrieve:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Retrieve prompt version
|
|
description: Retrieve prompt version
|
|
operationId: retrievePromptVersion
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionRetrieve_Detail"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/versions/retrieve-by-ids:
|
|
post:
|
|
tags:
|
|
- Prompts
|
|
summary: Retrieve prompt versions by ids
|
|
description: Retrieve a batch of prompt versions by their ids. Typically used
|
|
by the UI to resolve mask overlays.
|
|
operationId: retrievePromptVersionsByIds
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionIdsRequest_Detail"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Detail"
|
|
/v1/private/prompts/versions/{versionId}/environments:
|
|
patch:
|
|
tags:
|
|
- Prompts
|
|
summary: Set prompt version environment
|
|
description: |
|
|
Set or clear the environment owned by a prompt version.
|
|
Setting a non-null environment moves ownership atomically: any previous owner of that
|
|
environment for the same prompt has its environment cleared in the same transaction.
|
|
Setting null clears the environment from the version.
|
|
The environment must already exist in the workspace registry; unknown names return 404.
|
|
operationId: setPromptVersionEnvironment
|
|
parameters:
|
|
- name: versionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PromptVersionEnvironmentUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/{projectId}/activities:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Get recent activity for a project
|
|
description: "Returns the most recent activity items across all entity types\
|
|
\ for a project, sorted by date descending."
|
|
operationId: getRecentActivity
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: Recent activity page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RecentActivityPage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"500":
|
|
description: Internal Server Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/report-failures:
|
|
get:
|
|
tags:
|
|
- Report Failures
|
|
summary: List failures for a project
|
|
description: "Returns failures for the given project id and type, most recent\
|
|
\ first."
|
|
operationId: findReportFailures
|
|
parameters:
|
|
- name: type
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- agent_insights
|
|
- name: project_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: Failures page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportFailurePage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
post:
|
|
tags:
|
|
- Report Failures
|
|
summary: Record a report/job failure
|
|
description: "Appends a failure row keyed by (project_id, type). Append-only\
|
|
\ — never overwrites earlier failures."
|
|
operationId: createReportFailure
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportFailure"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/projects/{projectId}/reports/{reportId}/complete:
|
|
post:
|
|
tags:
|
|
- Reports
|
|
summary: Complete report generation
|
|
description: Callback from Ollie to update report status and content after generation.
|
|
operationId: completeReport
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: reportId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportCompleteRequest"
|
|
responses:
|
|
"204":
|
|
description: Report updated
|
|
"404":
|
|
description: Report not found
|
|
/v1/private/projects/{projectId}/reports/generate:
|
|
post:
|
|
tags:
|
|
- Reports
|
|
summary: Trigger report generation
|
|
description: Creates a pending report and triggers asynchronous generation via
|
|
the orchestrator.
|
|
operationId: generateReport
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"202":
|
|
description: Report generation triggered
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GenerateReportResponse"
|
|
"401":
|
|
description: Unauthorized
|
|
"403":
|
|
description: Forbidden
|
|
/v1/private/projects/{projectId}/reports/preferences:
|
|
get:
|
|
tags:
|
|
- Reports
|
|
summary: Get report preferences
|
|
description: "Returns report preferences for a project, or null if none have\
|
|
\ been set."
|
|
operationId: getReportPreference
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Report preferences or null
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportPreference"
|
|
put:
|
|
tags:
|
|
- Reports
|
|
summary: Update report preferences
|
|
description: Enable or disable daily report generation for a project.
|
|
operationId: updateReportPreference
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportPreference"
|
|
responses:
|
|
"200":
|
|
description: Updated preferences
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReportPreference"
|
|
/v1/private/projects/{projectId}/reports:
|
|
get:
|
|
tags:
|
|
- Reports
|
|
summary: Get reports for a project
|
|
description: "Returns a paginated list of reports, newest first."
|
|
operationId: getReports
|
|
parameters:
|
|
- name: projectId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
responses:
|
|
"200":
|
|
description: Reports page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/OllieReportPage"
|
|
/v1/private/retention/rules:
|
|
get:
|
|
tags:
|
|
- Retention Rules
|
|
summary: Find retention rules
|
|
description: List retention rules for the caller's workspace. Defaults to active
|
|
only.
|
|
operationId: findRetentionRules
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: include_inactive
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Retention rules page
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RetentionRulePage_Public"
|
|
post:
|
|
tags:
|
|
- Retention Rules
|
|
summary: Create retention rule
|
|
description: Create a new retention rule. Auto-deactivates any existing active
|
|
rule for the same scope.
|
|
operationId: createRetentionRule
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RetentionRule_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/retention/rules/{ruleId}"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RetentionRule_Public"
|
|
/v1/private/retention/rules/{ruleId}:
|
|
get:
|
|
tags:
|
|
- Retention Rules
|
|
summary: Get retention rule by id
|
|
description: Get a specific retention rule by id
|
|
operationId: getRetentionRuleById
|
|
parameters:
|
|
- name: ruleId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Retention rule
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RetentionRule_Public"
|
|
"404":
|
|
description: Retention rule not found
|
|
delete:
|
|
tags:
|
|
- Retention Rules
|
|
summary: Deactivate retention rule
|
|
description: Soft-deactivate a retention rule (sets enabled=false). Rules are
|
|
never hard-deleted for audit trail.
|
|
operationId: deactivateRetentionRule
|
|
parameters:
|
|
- name: ruleId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"404":
|
|
description: Retention rule not found
|
|
/v1/private/toggles:
|
|
get:
|
|
tags:
|
|
- Service Toggles
|
|
summary: Get Service Toggles
|
|
description: Get Service Toggles
|
|
operationId: getServiceToggles
|
|
responses:
|
|
"200":
|
|
description: Service Toggles
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ServiceTogglesConfig"
|
|
/v1/private/spans/{id}/comments:
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Add span comment
|
|
description: Add span comment
|
|
operationId: addSpanComment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/spans/{spanId}/comments/{commentId}"
|
|
/v1/private/spans/{id}/feedback-scores:
|
|
put:
|
|
tags:
|
|
- Spans
|
|
summary: Add span feedback score
|
|
description: Add span feedback score
|
|
operationId: addSpanFeedbackScore
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/spans/batch:
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Create spans
|
|
description: Create spans
|
|
operationId: createSpans
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpanBatch_Write"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
patch:
|
|
tags:
|
|
- Spans
|
|
summary: Batch update spans
|
|
description: Update multiple spans
|
|
operationId: batchUpdateSpans
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpanBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/spans:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Get spans by project_name or project_id and optionally by trace_id
|
|
and/or type
|
|
description: Get spans by project_name or project_id and optionally by trace_id
|
|
and/or type
|
|
operationId: getSpansByProject
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: trace_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: truncate
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "Truncate input, output and metadata to slim payloads"
|
|
default: false
|
|
- name: strip_attachments
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects stripped attachments"
|
|
default: false
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: exclude
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across span fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter spans created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter spans created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: Spans resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpanPage_Public"
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Create span
|
|
description: Create span
|
|
operationId: createSpan
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Span_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/spans/{spanId}"
|
|
"409":
|
|
description: Conflict
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/spans/{id}:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Get span by id
|
|
description: Get span by id
|
|
operationId: getSpanById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: strip_attachments
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects attachment content from S3 (default:\
|
|
\ false for backward compatibility)"
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Span resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Span_Public"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Span_Public"
|
|
delete:
|
|
tags:
|
|
- Spans
|
|
summary: Delete span by id
|
|
description: Delete span by id
|
|
operationId: deleteSpanById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"501":
|
|
description: Not implemented
|
|
"204":
|
|
description: No Content
|
|
patch:
|
|
tags:
|
|
- Spans
|
|
summary: Update span by id
|
|
description: Update span by id
|
|
operationId: updateSpan
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpanUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
/v1/private/spans/comments/delete:
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Delete span comments
|
|
description: Delete span comments
|
|
operationId: deleteSpanComments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/spans/{id}/feedback-scores/delete:
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Delete span feedback score
|
|
description: Delete span feedback score
|
|
operationId: deleteSpanFeedbackScore
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteFeedbackScore"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/spans/feedback-scores/names:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Find Feedback Score names
|
|
description: Find Feedback Score names
|
|
operationId: findFeedbackScoreNames_1
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
responses:
|
|
"200":
|
|
description: Feedback Scores resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreNames_Public"
|
|
/v1/private/spans/{spanId}/comments/{commentId}:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Get span comment
|
|
description: Get span comment
|
|
operationId: getSpanComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: spanId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Comment resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/spans/stats:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Get span stats
|
|
description: Get span stats
|
|
operationId: getSpanStats
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: trace_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across span fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter spans created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter spans created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: Span stats resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectStats_Public"
|
|
/v1/private/spans/feedback-scores:
|
|
put:
|
|
tags:
|
|
- Spans
|
|
summary: Batch feedback scoring for spans
|
|
description: Batch feedback scoring for spans
|
|
operationId: scoreBatchOfSpans
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreBatch"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/spans/search:
|
|
post:
|
|
tags:
|
|
- Spans
|
|
summary: Search spans
|
|
description: Search spans
|
|
operationId: searchSpans
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SpanSearchStreamRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: Spans stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/Span_Public"
|
|
- $ref: "#/components/schemas/ErrorMessage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/spans/exists:
|
|
get:
|
|
tags:
|
|
- Spans
|
|
summary: Check whether a project has spans
|
|
description: Returns whether the project has at least one span matching the
|
|
given scope. Cheap existence probe (LIMIT 1) used to drive empty-state decisions
|
|
without scanning or aggregating the whole project.
|
|
operationId: spansExist
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: source
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Restrict the probe to a single ingestion source (e.g. 'sdk'\
|
|
\ for the Logs empty state), matching the rendered list's logs-source\
|
|
\ scope. Omit to probe any source."
|
|
responses:
|
|
"200":
|
|
description: Span existence
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExistenceResponse"
|
|
/v1/private/spans/comments/{commentId}:
|
|
patch:
|
|
tags:
|
|
- Spans
|
|
summary: Update span comment by id
|
|
description: Update span comment by id
|
|
operationId: updateSpanComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
/v1/private/traces/threads/{id}/comments:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Add thread comment
|
|
description: Add thread comment
|
|
operationId: addThreadComment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/traces/threads/{threadId}/comments/{commentId}"
|
|
/v1/private/traces/{id}/comments:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Add trace comment
|
|
description: Add trace comment
|
|
operationId: addTraceComment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/traces/{traceId}/comments/{commentId}"
|
|
/v1/private/traces/{id}/feedback-scores:
|
|
put:
|
|
tags:
|
|
- Traces
|
|
summary: Add trace feedback score
|
|
description: Add trace feedback score
|
|
operationId: addTraceFeedbackScore
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/batch:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Create traces
|
|
description: Create traces
|
|
operationId: createTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceBatch_Write"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Batch update traces
|
|
description: Update multiple traces
|
|
operationId: batchUpdateTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/threads/batch:
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Batch update threads
|
|
description: Update multiple threads
|
|
operationId: batchUpdateThreads
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadBatchUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/threads/close:
|
|
put:
|
|
tags:
|
|
- Traces
|
|
summary: Close trace thread(s)
|
|
description: Close one or multiple trace threads. Supports both single thread_id
|
|
and multiple thread_ids for batch operations.
|
|
operationId: closeTraceThread
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadBatchIdentifier"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get traces by project_name or project_id
|
|
description: Get traces by project_name or project_id
|
|
operationId: getTracesByProject
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: truncate
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "Truncate input, output and metadata to slim payloads"
|
|
default: false
|
|
- name: strip_attachments
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects stripped attachments"
|
|
default: false
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: exclude
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across trace fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter traces created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter traces created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
- name: annotation_queue_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter traces belonging to this annotation queue and scope
|
|
feedback scores/comments to it
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Trace resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TracePage_Public"
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Create trace
|
|
description: Get trace
|
|
operationId: createTrace
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Trace_Write"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
headers:
|
|
Location:
|
|
required: true
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
example: "${basePath}/v1/private/traces/{traceId}"
|
|
/v1/private/traces/{id}:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace by id
|
|
description: Get trace by id
|
|
operationId: getTraceById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: strip_attachments
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects attachment content from S3 (default:\
|
|
\ false for backward compatibility)"
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Trace resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Trace_Public"
|
|
delete:
|
|
tags:
|
|
- Traces
|
|
summary: Delete trace by id
|
|
description: Delete trace by id
|
|
operationId: deleteTraceById
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Update trace by id
|
|
description: Update trace by id
|
|
operationId: updateTrace
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/threads/comments/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete thread comments
|
|
description: Delete thread comments
|
|
operationId: deleteThreadComments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/threads/feedback-scores/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete thread feedback scores
|
|
description: Delete thread feedback scores
|
|
operationId: deleteThreadFeedbackScores
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteThreadFeedbackScores"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/comments/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete trace comments
|
|
description: Delete trace comments
|
|
operationId: deleteTraceComments
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/{id}/feedback-scores/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete trace feedback score
|
|
description: Delete trace feedback score
|
|
operationId: deleteTraceFeedbackScore
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteFeedbackScore"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/threads/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete trace threads
|
|
description: Delete trace threads
|
|
operationId: deleteTraceThreads
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/DeleteTraceThreads"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/delete:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Delete traces
|
|
description: Delete traces
|
|
operationId: deleteTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/BatchDelete"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/feedback-scores/names:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Find Feedback Score names
|
|
description: Find Feedback Score names
|
|
operationId: findFeedbackScoreNames_2
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Feedback Scores resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreNames_Public"
|
|
/v1/private/traces/threads/feedback-scores/names:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Find Trace Threads Feedback Score names
|
|
description: Find Trace Threads Feedback Score names
|
|
operationId: findTraceThreadsFeedbackScoreNames
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Find Trace Threads Feedback Score names
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreNames_Public"
|
|
/v1/private/traces/stats:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace stats
|
|
description: Get trace stats
|
|
operationId: getTraceStats
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across trace fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter traces created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter traces created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: Trace stats resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectStats_Public"
|
|
/v1/private/traces/threads/{threadId}/comments/{commentId}:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get thread comment
|
|
description: Get thread comment
|
|
operationId: getThreadComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: threadId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Comment resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/threads/stats:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace thread stats
|
|
description: Get trace thread stats
|
|
operationId: getTraceThreadStats
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across thread fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter trace threads created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter trace threads created up to this time (ISO-8601 format).\
|
|
\ If not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: Trace thread stats resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ProjectStats_Public"
|
|
/v1/private/traces/{traceId}/comments/{commentId}:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace comment
|
|
description: Get trace comment
|
|
operationId: getTraceComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: traceId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Comment resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/threads/retrieve:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace thread
|
|
description: Get trace thread
|
|
operationId: getTraceThread
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadIdentifier"
|
|
responses:
|
|
"200":
|
|
description: Trace thread resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThread"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/threads:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Get trace threads
|
|
description: Get trace threads
|
|
operationId: getTraceThreads
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: size
|
|
in: query
|
|
schema:
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
default: 10
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: truncate
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "Truncate input, output and metadata to slim payloads"
|
|
default: false
|
|
- name: strip_attachments
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects stripped attachments"
|
|
default: false
|
|
- name: filters
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: sorting
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Full-text search across thread fields
|
|
- name: from_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter trace threads created from this time (ISO-8601 format).
|
|
format: date-time
|
|
- name: to_time
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Filter trace threads created up to this time (ISO-8601 format).\
|
|
\ If not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
- name: annotation_queue_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: Filter threads belonging to this annotation queue and scope
|
|
feedback scores/comments to it
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Trace threads resource
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadPage"
|
|
/v1/private/traces/threads/open:
|
|
put:
|
|
tags:
|
|
- Traces
|
|
summary: Open trace thread
|
|
description: Open trace thread
|
|
operationId: openTraceThread
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadIdentifier"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/threads/feedback-scores:
|
|
put:
|
|
tags:
|
|
- Traces
|
|
summary: Batch feedback scoring for threads
|
|
description: Batch feedback scoring for threads
|
|
operationId: scoreBatchOfThreads
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreBatchThread"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/feedback-scores:
|
|
put:
|
|
tags:
|
|
- Traces
|
|
summary: Batch feedback scoring for traces
|
|
description: Batch feedback scoring for traces
|
|
operationId: scoreBatchOfTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FeedbackScoreBatch"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
/v1/private/traces/threads/search:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Search trace threads
|
|
description: Search trace threads
|
|
operationId: searchTraceThreads
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadSearchStreamRequest"
|
|
responses:
|
|
"200":
|
|
description: Trace threads stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/TraceThread"
|
|
- $ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/traces/search:
|
|
post:
|
|
tags:
|
|
- Traces
|
|
summary: Search traces
|
|
description: Search traces
|
|
operationId: searchTraces
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceSearchStreamRequest_Public"
|
|
responses:
|
|
"200":
|
|
description: Traces stream or error during process
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
maxItems: 2000
|
|
type: array
|
|
items:
|
|
type: string
|
|
anyOf:
|
|
- $ref: "#/components/schemas/Trace_Public"
|
|
- $ref: "#/components/schemas/ErrorMessage_Public"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage_Public"
|
|
/v1/private/traces/exists:
|
|
get:
|
|
tags:
|
|
- Traces
|
|
summary: Check whether a project has traces
|
|
description: Returns whether the project has at least one trace matching the
|
|
given scope. Cheap existence probe (LIMIT 1) used to drive empty-state decisions
|
|
without scanning or aggregating the whole project.
|
|
operationId: tracesExist
|
|
parameters:
|
|
- name: project_id
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: project_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: source
|
|
in: query
|
|
schema:
|
|
type: string
|
|
description: "Restrict the probe to a single ingestion source (e.g. 'sdk'\
|
|
\ for the Logs empty state), matching the rendered list's logs-source\
|
|
\ scope. Omit to probe any source."
|
|
- name: thread_only
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "When true, only considers traces that belong to a thread (thread_id\
|
|
\ is set) — used by the Threads empty state."
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: Trace existence
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ExistenceResponse"
|
|
/v1/private/traces/threads/{threadModelId}:
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Update thread
|
|
description: Update thread
|
|
operationId: updateThread
|
|
parameters:
|
|
- name: threadModelId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TraceThreadUpdate"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
/v1/private/traces/threads/comments/{commentId}:
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Update thread comment by id
|
|
description: Update thread comment by id
|
|
operationId: updateThreadComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
/v1/private/traces/comments/{commentId}:
|
|
patch:
|
|
tags:
|
|
- Traces
|
|
summary: Update trace comment by id
|
|
description: Update trace comment by id
|
|
operationId: updateTraceComment
|
|
parameters:
|
|
- name: commentId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Comment"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
"404":
|
|
description: Not found
|
|
/v1/private/welcome-wizard:
|
|
get:
|
|
tags:
|
|
- Welcome Wizard
|
|
summary: Get welcome wizard tracking status
|
|
description: Get welcome wizard tracking status for the current workspace
|
|
operationId: getWelcomeWizardStatus
|
|
responses:
|
|
"200":
|
|
description: Welcome wizard tracking status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WelcomeWizardTracking"
|
|
post:
|
|
tags:
|
|
- Welcome Wizard
|
|
summary: Submit welcome wizard
|
|
description: Submit welcome wizard with user information
|
|
operationId: submitWelcomeWizard
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WelcomeWizardSubmission"
|
|
responses:
|
|
"204":
|
|
description: Welcome wizard submitted successfully
|
|
/v1/private/workspace-permissions:
|
|
get:
|
|
tags:
|
|
- Workspace permissions
|
|
summary: Get workspace permissions for the authenticated user
|
|
description: Get workspace permissions for the authenticated user
|
|
operationId: getWorkspaceUserPermissions
|
|
responses:
|
|
"200":
|
|
description: Workspace Permissions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceUserPermissions"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/workspaces/costs/summaries:
|
|
post:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get costs summary
|
|
description: Get costs summary
|
|
operationId: costsSummary
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricsSummaryRequest"
|
|
responses:
|
|
"200":
|
|
description: Workspace Metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Result"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/workspaces/configurations:
|
|
get:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get workspace configuration
|
|
description: Get workspace configuration
|
|
operationId: getWorkspaceConfiguration
|
|
responses:
|
|
"200":
|
|
description: Workspace Configuration
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceConfiguration"
|
|
"404":
|
|
description: Configuration Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
put:
|
|
tags:
|
|
- Workspaces
|
|
summary: Upsert workspace configuration
|
|
description: Upsert workspace configuration
|
|
operationId: upsertWorkspaceConfiguration
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceConfiguration"
|
|
responses:
|
|
"200":
|
|
description: Configuration Updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceConfiguration"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"422":
|
|
description: Unprocessable Content
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
delete:
|
|
tags:
|
|
- Workspaces
|
|
summary: Delete workspace configuration
|
|
description: Delete workspace configuration
|
|
operationId: deleteWorkspaceConfiguration
|
|
responses:
|
|
"204":
|
|
description: Configuration Deleted
|
|
"404":
|
|
description: Configuration Not Found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/workspaces/costs:
|
|
post:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get cost daily data
|
|
description: Get cost daily data
|
|
operationId: getCost
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricsSummaryRequest"
|
|
responses:
|
|
"200":
|
|
description: Workspace cost data by days
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/private/workspaces/metrics:
|
|
post:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get metric daily data
|
|
description: Get metric daily data
|
|
operationId: getMetric
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricsSummaryRequest"
|
|
responses:
|
|
"200":
|
|
description: Workspace metric data by days
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
deprecated: true
|
|
/v1/private/workspaces/versions:
|
|
get:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get workspace version
|
|
description: |-
|
|
Determines whether the workspace should use Opik V1 (legacy workspace-scoped)
|
|
or Opik V2 (project-first) navigation. The backend is the single authority for this
|
|
determination, clients must never derive the version themselves.
|
|
|
|
Determination logic (priority order):
|
|
1) V2 workspace allowlist (TOGGLE_V2_WORKSPACE_ALLOWLIST)
|
|
2) Feature flag override (TOGGLE_FORCE_WORKSPACE_VERSION)
|
|
3) Auth one-way V2 gate (authenticated mode only)
|
|
4) Version 1 entity check (entities without project_id)
|
|
5) Fallback on failure
|
|
|
|
In unauthenticated mode (authentication.enabled=false), auth steps are skipped.
|
|
Called by the frontend on workspace load.
|
|
operationId: getWorkspaceVersion
|
|
responses:
|
|
"200":
|
|
description: Workspace version
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceVersion"
|
|
/v1/private/workspaces/metrics/summaries:
|
|
post:
|
|
tags:
|
|
- Workspaces
|
|
summary: Get metrics summary
|
|
description: Get metrics summary
|
|
operationId: metricsSummary
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricsSummaryRequest"
|
|
responses:
|
|
"200":
|
|
description: Workspace Metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/WorkspaceMetricsSummaryResponse"
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
deprecated: true
|
|
/v1/session/redirect/datasets:
|
|
get:
|
|
tags:
|
|
- Redirect
|
|
summary: Create dataset redirect url
|
|
description: Create dataset redirect url
|
|
operationId: datasetsRedirect
|
|
parameters:
|
|
- name: dataset_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: workspace_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"303":
|
|
description: Redirect
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/session/redirect/experiments:
|
|
get:
|
|
tags:
|
|
- Redirect
|
|
summary: Create experiment redirect url
|
|
description: Create experiment redirect url
|
|
operationId: experimentsRedirect
|
|
parameters:
|
|
- name: dataset_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: experiment_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: workspace_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"303":
|
|
description: Redirect
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/session/redirect/optimizations:
|
|
get:
|
|
tags:
|
|
- Redirect
|
|
summary: Create optimization redirect url
|
|
description: Create optimization redirect url
|
|
operationId: optimizationsRedirect
|
|
parameters:
|
|
- name: dataset_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: optimization_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: workspace_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"303":
|
|
description: Redirect
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/v1/session/redirect/projects:
|
|
get:
|
|
tags:
|
|
- Redirect
|
|
summary: Create project redirect url
|
|
description: Create project redirect url
|
|
operationId: projectsRedirect
|
|
parameters:
|
|
- name: trace_id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: workspace_name
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"303":
|
|
description: Redirect
|
|
"400":
|
|
description: Bad Request
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
"404":
|
|
description: Not Found
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/ErrorMessage"
|
|
/is-alive/ping:
|
|
get:
|
|
operationId: isAlive
|
|
responses:
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json: {}
|
|
/is-alive/ver:
|
|
get:
|
|
operationId: version
|
|
responses:
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json: {}
|
|
components:
|
|
schemas:
|
|
ConsentResponse:
|
|
type: object
|
|
properties:
|
|
redirect_to:
|
|
type: string
|
|
ConsentRequest:
|
|
required:
|
|
- client_id
|
|
- code_challenge
|
|
- code_challenge_method
|
|
- redirect_uri
|
|
- resource
|
|
type: object
|
|
properties:
|
|
client_id:
|
|
minLength: 1
|
|
type: string
|
|
redirect_uri:
|
|
minLength: 1
|
|
type: string
|
|
code_challenge:
|
|
minLength: 1
|
|
type: string
|
|
code_challenge_method:
|
|
minLength: 1
|
|
pattern: S256
|
|
type: string
|
|
resource:
|
|
minLength: 1
|
|
type: string
|
|
state:
|
|
type: string
|
|
workspace_id:
|
|
type: string
|
|
workspace_name:
|
|
type: string
|
|
csrf:
|
|
type: string
|
|
AuthorizeContext:
|
|
type: object
|
|
properties:
|
|
client_name:
|
|
type: string
|
|
client_logo_uri:
|
|
type: string
|
|
workspaces:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceInfo"
|
|
csrf_token:
|
|
type: string
|
|
WorkspaceInfo:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
AuthorizationServerMetadata:
|
|
type: object
|
|
properties:
|
|
issuer:
|
|
type: string
|
|
authorization_endpoint:
|
|
type: string
|
|
token_endpoint:
|
|
type: string
|
|
revocation_endpoint:
|
|
type: string
|
|
registration_endpoint:
|
|
type: string
|
|
response_types_supported:
|
|
type: array
|
|
items:
|
|
type: string
|
|
grant_types_supported:
|
|
type: array
|
|
items:
|
|
type: string
|
|
code_challenge_methods_supported:
|
|
type: array
|
|
items:
|
|
type: string
|
|
token_endpoint_auth_methods_supported:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ClientRegistrationResponse:
|
|
type: object
|
|
properties:
|
|
client_id:
|
|
type: string
|
|
client_id_issued_at:
|
|
type: integer
|
|
format: int64
|
|
client_name:
|
|
type: string
|
|
logo_uri:
|
|
type: string
|
|
redirect_uris:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
token_endpoint_auth_method:
|
|
type: string
|
|
grant_types:
|
|
type: array
|
|
items:
|
|
type: string
|
|
response_types:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ClientRegistrationRequest:
|
|
required:
|
|
- client_name
|
|
- redirect_uris
|
|
type: object
|
|
properties:
|
|
client_name:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
redirect_uris:
|
|
maxItems: 10
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 2048
|
|
minLength: 0
|
|
type: string
|
|
logo_uri:
|
|
maxLength: 2048
|
|
minLength: 0
|
|
type: string
|
|
TokenResponse:
|
|
type: object
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
refresh_token:
|
|
type: string
|
|
token_type:
|
|
type: string
|
|
expires_in:
|
|
type: integer
|
|
format: int64
|
|
workspace_id:
|
|
type: string
|
|
workspace_name:
|
|
type: string
|
|
OAuthError:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
error_description:
|
|
type: string
|
|
ValidatedToken:
|
|
type: object
|
|
properties:
|
|
user_name:
|
|
type: string
|
|
workspace_id:
|
|
type: string
|
|
workspace_name:
|
|
type: string
|
|
resource:
|
|
type: string
|
|
AnalyticsQueryResponse:
|
|
type: object
|
|
properties:
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
JsonNode:
|
|
type: object
|
|
ErrorMessage:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
format: int32
|
|
message:
|
|
type: string
|
|
details:
|
|
type: string
|
|
AnalyticsQueryRequest:
|
|
required:
|
|
- query
|
|
type: object
|
|
properties:
|
|
query:
|
|
minLength: 1
|
|
type: string
|
|
description: Read-only ClickHouse SQL. Must return exactly one column named
|
|
`result` produced via toJSONString(...)
|
|
BiInformation:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
user:
|
|
type: string
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
BiInformationResponse:
|
|
type: object
|
|
properties:
|
|
bi_information:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/BiInformation"
|
|
UsageByWorkspaceProjectUserResponse:
|
|
type: object
|
|
properties:
|
|
breakdown:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceProjectUserCount"
|
|
WorkspaceProjectUserCount:
|
|
type: object
|
|
properties:
|
|
workspace_id:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
user:
|
|
type: string
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
SpansCountResponse:
|
|
type: object
|
|
properties:
|
|
workspaces_spans_count:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceSpansCount"
|
|
WorkspaceSpansCount:
|
|
type: object
|
|
properties:
|
|
workspace:
|
|
type: string
|
|
span_count:
|
|
type: integer
|
|
format: int32
|
|
TraceCountResponse:
|
|
type: object
|
|
properties:
|
|
workspaces_traces_count:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WorkspaceTraceCount"
|
|
WorkspaceTraceCount:
|
|
type: object
|
|
properties:
|
|
workspace:
|
|
type: string
|
|
trace_count:
|
|
type: integer
|
|
format: int32
|
|
ErrorMessage_Write:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AgentBlueprint_Write:
|
|
required:
|
|
- type
|
|
- values
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- blueprint
|
|
- mask
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
values:
|
|
maxItems: 250
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentConfigValue_Write"
|
|
AgentConfigCreate_Write:
|
|
required:
|
|
- blueprint
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Either project_id or project_name must be provided
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Either project_id or project_name must be provided
|
|
id:
|
|
type: string
|
|
description: Agent config ID. Generated automatically if not provided
|
|
format: uuid
|
|
blueprint:
|
|
$ref: "#/components/schemas/AgentBlueprint_Write"
|
|
AgentConfigValue_Write:
|
|
required:
|
|
- key
|
|
- type
|
|
type: object
|
|
properties:
|
|
key:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
value:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- integer
|
|
- float
|
|
- boolean
|
|
- prompt
|
|
- prompt_commit
|
|
description:
|
|
type: string
|
|
AgentConfigEnv:
|
|
required:
|
|
- blueprint_id
|
|
- env_name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
env_name:
|
|
maxLength: 50
|
|
minLength: 0
|
|
type: string
|
|
blueprint_id:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
ended_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
AgentConfigEnvUpdate:
|
|
required:
|
|
- envs
|
|
- project_id
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
envs:
|
|
maxItems: 100
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentConfigEnv"
|
|
AgentBlueprint_Public:
|
|
required:
|
|
- type
|
|
- values
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- blueprint
|
|
- mask
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
envs:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
values:
|
|
maxItems: 250
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentConfigValue_Public"
|
|
AgentConfigValue_Public:
|
|
required:
|
|
- key
|
|
- type
|
|
type: object
|
|
properties:
|
|
key:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
value:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- integer
|
|
- float
|
|
- boolean
|
|
- prompt
|
|
- prompt_commit
|
|
description:
|
|
type: string
|
|
ErrorMessage_Public:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
format: int32
|
|
message:
|
|
type: string
|
|
details:
|
|
type: string
|
|
AgentBlueprint_History:
|
|
required:
|
|
- type
|
|
- values
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- blueprint
|
|
- mask
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
envs:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
values:
|
|
maxItems: 250
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentConfigValue_History"
|
|
AgentConfigValue_History:
|
|
required:
|
|
- key
|
|
- type
|
|
type: object
|
|
properties:
|
|
key:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
value:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- integer
|
|
- float
|
|
- boolean
|
|
- prompt
|
|
- prompt_commit
|
|
description:
|
|
type: string
|
|
BlueprintPage_History:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentBlueprint_History"
|
|
ErrorMessage_History:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AgentConfigRemoveValues:
|
|
required:
|
|
- keys
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Either project_id or project_name must be provided
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Either project_id or project_name must be provided
|
|
keys:
|
|
maxItems: 250
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
AgentConfigEnvSetByName:
|
|
required:
|
|
- blueprint_name
|
|
type: object
|
|
properties:
|
|
blueprint_name:
|
|
type: string
|
|
AgentInsightsJob:
|
|
required:
|
|
- project_id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- enabled
|
|
- disabled
|
|
last_scan_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_failure_reason:
|
|
type: string
|
|
readOnly: true
|
|
last_failure_detail:
|
|
type: string
|
|
readOnly: true
|
|
last_failed_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
AgentInsightsJobUpdate:
|
|
required:
|
|
- status
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
description: New status for the job
|
|
enum:
|
|
- enabled
|
|
- disabled
|
|
AgentInsightsIssue:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
cause:
|
|
type: string
|
|
suggested_fix:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- open
|
|
- resolved
|
|
- closed
|
|
severity:
|
|
type: string
|
|
enum:
|
|
- critical
|
|
- high
|
|
- medium
|
|
- low
|
|
traces_query:
|
|
type: string
|
|
total_occurrences:
|
|
type: integer
|
|
description: SUM(count) over the requested window
|
|
format: int64
|
|
latest_count:
|
|
type: integer
|
|
description: "Occurrences on the latest report day in the window only. The\
|
|
\ issue's description/cause narrate that most recent run, so this is the\
|
|
\ count consistent with them; totalOccurrences instead sums every day\
|
|
\ in the window."
|
|
format: int64
|
|
total:
|
|
type: integer
|
|
description: SUM(total_count) over the requested window
|
|
format: int64
|
|
users_impacted:
|
|
type: integer
|
|
description: SUM(users_impacted) over the requested window
|
|
format: int64
|
|
total_users:
|
|
type: integer
|
|
description: SUM(total_users) over the requested window
|
|
format: int64
|
|
first_seen:
|
|
type: string
|
|
description: MIN(report_day) in the requested window
|
|
format: date
|
|
last_seen:
|
|
type: string
|
|
description: MAX(report_day) in the requested window
|
|
format: date
|
|
days_reported:
|
|
type: integer
|
|
description: COUNT(DISTINCT report_day) in the requested window
|
|
format: int64
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
last_updated_by:
|
|
type: string
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
AgentInsightsIssuePage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AgentInsightsIssue"
|
|
AgentInsightsIssueDetail:
|
|
type: object
|
|
properties:
|
|
report_day:
|
|
type: string
|
|
format: date
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
total_count:
|
|
type: integer
|
|
format: int64
|
|
users_impacted:
|
|
type: integer
|
|
format: int64
|
|
total_users:
|
|
type: integer
|
|
format: int64
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description: "Per-day breakdown within the requested window, ordered by report_day\
|
|
\ ascending"
|
|
AgentInsightsIssueWithDetails:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
cause:
|
|
type: string
|
|
suggested_fix:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- open
|
|
- resolved
|
|
- closed
|
|
severity:
|
|
type: string
|
|
enum:
|
|
- critical
|
|
- high
|
|
- medium
|
|
- low
|
|
traces_query:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
last_updated_by:
|
|
type: string
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
details:
|
|
type: array
|
|
description: "Per-day breakdown within the requested window, ordered by\
|
|
\ report_day ascending"
|
|
items:
|
|
$ref: "#/components/schemas/AgentInsightsIssueDetail"
|
|
AgentInsightsReport:
|
|
required:
|
|
- issues
|
|
- project_id
|
|
- report_day
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
report_day:
|
|
type: string
|
|
format: date
|
|
issues:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ReportedIssue"
|
|
ReportedIssue:
|
|
required:
|
|
- count
|
|
- name
|
|
- severity
|
|
- total_count
|
|
- total_users
|
|
- users_impacted
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description:
|
|
type: string
|
|
cause:
|
|
type: string
|
|
suggested_fix:
|
|
type: string
|
|
traces_query:
|
|
type: string
|
|
severity:
|
|
type: string
|
|
enum:
|
|
- critical
|
|
- high
|
|
- medium
|
|
- low
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
total_count:
|
|
type: integer
|
|
format: int64
|
|
users_impacted:
|
|
type: integer
|
|
format: int64
|
|
total_users:
|
|
type: integer
|
|
format: int64
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
AgentInsightsIssueUpdate:
|
|
required:
|
|
- project_id
|
|
- status
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum:
|
|
- open
|
|
- resolved
|
|
- closed
|
|
Alert:
|
|
required:
|
|
- webhook
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
alert_type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- slack
|
|
- pagerduty
|
|
metadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
webhook:
|
|
$ref: "#/components/schemas/Webhook"
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTrigger"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: "Optional project scope for this alert. When set, the alert\
|
|
\ is scoped to the specified project. Do NOT also provide a 'scope:project'\
|
|
\ trigger config — the system will create it automatically from this field.\
|
|
\ Sending both project_id and a scope:project trigger config will result\
|
|
\ in an error."
|
|
format: uuid
|
|
AlertTrigger:
|
|
required:
|
|
- event_type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
alert_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
event_type:
|
|
type: string
|
|
enum:
|
|
- trace:errors
|
|
- trace:feedback_score
|
|
- trace_thread:feedback_score
|
|
- prompt:created
|
|
- prompt:committed
|
|
- trace:guardrails_triggered
|
|
- prompt:deleted
|
|
- experiment:finished
|
|
- trace:cost
|
|
- trace:latency
|
|
trigger_configs:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTriggerConfig"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
AlertTriggerConfig:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
alert_trigger_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- scope:project
|
|
- threshold:feedback_score
|
|
- threshold:cost
|
|
- threshold:latency
|
|
- threshold:errors
|
|
config_value:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
group_index:
|
|
type: integer
|
|
description: "Groups configs within a trigger: same group_index means AND\
|
|
\ between configs, different group_index means OR between groups. Null\
|
|
\ means a legacy/singleton group of one config. Always null for scope:project\
|
|
\ configs."
|
|
format: int32
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
Webhook:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
url:
|
|
minLength: 1
|
|
type: string
|
|
secret_token:
|
|
maxLength: 250
|
|
minLength: 0
|
|
type: string
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
AlertTriggerConfig_Write:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- scope:project
|
|
- threshold:feedback_score
|
|
- threshold:cost
|
|
- threshold:latency
|
|
- threshold:errors
|
|
config_value:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
group_index:
|
|
type: integer
|
|
description: "Groups configs within a trigger: same group_index means AND\
|
|
\ between configs, different group_index means OR between groups. Null\
|
|
\ means a legacy/singleton group of one config. Always null for scope:project\
|
|
\ configs."
|
|
format: int32
|
|
AlertTrigger_Write:
|
|
required:
|
|
- event_type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
event_type:
|
|
type: string
|
|
enum:
|
|
- trace:errors
|
|
- trace:feedback_score
|
|
- trace_thread:feedback_score
|
|
- prompt:created
|
|
- prompt:committed
|
|
- trace:guardrails_triggered
|
|
- prompt:deleted
|
|
- experiment:finished
|
|
- trace:cost
|
|
- trace:latency
|
|
trigger_configs:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTriggerConfig_Write"
|
|
Alert_Write:
|
|
required:
|
|
- webhook
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
alert_type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- slack
|
|
- pagerduty
|
|
metadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
webhook:
|
|
$ref: "#/components/schemas/Webhook_Write"
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTrigger_Write"
|
|
project_id:
|
|
type: string
|
|
description: "Optional project scope for this alert. When set, the alert\
|
|
\ is scoped to the specified project. Do NOT also provide a 'scope:project'\
|
|
\ trigger config — the system will create it automatically from this field.\
|
|
\ Sending both project_id and a scope:project trigger config will result\
|
|
\ in an error."
|
|
format: uuid
|
|
Webhook_Write:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
url:
|
|
minLength: 1
|
|
type: string
|
|
secret_token:
|
|
maxLength: 250
|
|
minLength: 0
|
|
type: string
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
BatchDelete:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
AlertPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Alert_Public"
|
|
sortable_by:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AlertTriggerConfig_Public:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
alert_trigger_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- scope:project
|
|
- threshold:feedback_score
|
|
- threshold:cost
|
|
- threshold:latency
|
|
- threshold:errors
|
|
config_value:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
group_index:
|
|
type: integer
|
|
description: "Groups configs within a trigger: same group_index means AND\
|
|
\ between configs, different group_index means OR between groups. Null\
|
|
\ means a legacy/singleton group of one config. Always null for scope:project\
|
|
\ configs."
|
|
format: int32
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
AlertTrigger_Public:
|
|
required:
|
|
- event_type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
alert_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
event_type:
|
|
type: string
|
|
enum:
|
|
- trace:errors
|
|
- trace:feedback_score
|
|
- trace_thread:feedback_score
|
|
- prompt:created
|
|
- prompt:committed
|
|
- trace:guardrails_triggered
|
|
- prompt:deleted
|
|
- experiment:finished
|
|
- trace:cost
|
|
- trace:latency
|
|
trigger_configs:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTriggerConfig_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
Alert_Public:
|
|
required:
|
|
- webhook
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
alert_type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- slack
|
|
- pagerduty
|
|
metadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
webhook:
|
|
$ref: "#/components/schemas/Webhook_Public"
|
|
triggers:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AlertTrigger_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: "Optional project scope for this alert. When set, the alert\
|
|
\ is scoped to the specified project. Do NOT also provide a 'scope:project'\
|
|
\ trigger config — the system will create it automatically from this field.\
|
|
\ Sending both project_id and a scope:project trigger config will result\
|
|
\ in an error."
|
|
format: uuid
|
|
Webhook_Public:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
url:
|
|
minLength: 1
|
|
type: string
|
|
secret_token:
|
|
maxLength: 250
|
|
minLength: 0
|
|
type: string
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
WebhookExamples:
|
|
type: object
|
|
properties:
|
|
response_examples:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
WebhookTestResult:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum:
|
|
- success
|
|
- failure
|
|
status_code:
|
|
type: integer
|
|
format: int32
|
|
request_body:
|
|
type: string
|
|
error_message:
|
|
type: string
|
|
AnnotationQueueItemIds:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
AnnotationQueue:
|
|
required:
|
|
- name
|
|
- project_id
|
|
- scope
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
type: string
|
|
instructions:
|
|
type: string
|
|
scope:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- thread
|
|
comments_enabled:
|
|
type: boolean
|
|
feedback_definition_names:
|
|
type: array
|
|
items:
|
|
type: string
|
|
annotators_per_item:
|
|
maximum: 1000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
lock_timeout_seconds:
|
|
maximum: 3600
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
reviewers:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AnnotationQueueReviewer"
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
items_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
description: List of annotation queues to create
|
|
AnnotationQueueReviewer:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
FeedbackScoreAverage:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
AnnotationQueue_Write:
|
|
required:
|
|
- name
|
|
- project_id
|
|
- scope
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
type: string
|
|
instructions:
|
|
type: string
|
|
scope:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- thread
|
|
comments_enabled:
|
|
type: boolean
|
|
feedback_definition_names:
|
|
type: array
|
|
items:
|
|
type: string
|
|
annotators_per_item:
|
|
maximum: 1000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
lock_timeout_seconds:
|
|
maximum: 3600
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
description: List of annotation queues to create
|
|
AnnotationQueueBatch:
|
|
required:
|
|
- annotation_queues
|
|
type: object
|
|
properties:
|
|
annotation_queues:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of annotation queues to create
|
|
items:
|
|
$ref: "#/components/schemas/AnnotationQueue"
|
|
description: Batch of annotation queues to create
|
|
AnnotationQueueBatch_Write:
|
|
required:
|
|
- annotation_queues
|
|
type: object
|
|
properties:
|
|
annotation_queues:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of annotation queues to create
|
|
items:
|
|
$ref: "#/components/schemas/AnnotationQueue_Write"
|
|
description: Batch of annotation queues to create
|
|
AnnotationQueuePage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AnnotationQueue_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AnnotationQueueReviewer_Public:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
AnnotationQueue_Public:
|
|
required:
|
|
- name
|
|
- project_id
|
|
- scope
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
type: string
|
|
instructions:
|
|
type: string
|
|
scope:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- thread
|
|
comments_enabled:
|
|
type: boolean
|
|
feedback_definition_names:
|
|
type: array
|
|
items:
|
|
type: string
|
|
annotators_per_item:
|
|
maximum: 1000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
lock_timeout_seconds:
|
|
maximum: 3600
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
reviewers:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AnnotationQueueReviewer_Public"
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage_Public"
|
|
items_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
FeedbackScoreAverage_Public:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
readOnly: true
|
|
ItemLockInfo:
|
|
type: object
|
|
properties:
|
|
active_locks:
|
|
type: integer
|
|
format: int32
|
|
locked_by:
|
|
type: array
|
|
items:
|
|
type: string
|
|
LocksResponse:
|
|
type: object
|
|
properties:
|
|
locks:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ItemLockInfo"
|
|
LockResponse:
|
|
type: object
|
|
properties:
|
|
acquired:
|
|
type: boolean
|
|
item_id:
|
|
type: string
|
|
format: uuid
|
|
locked_by:
|
|
type: string
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
AnnotationQueueUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description:
|
|
type: string
|
|
instructions:
|
|
type: string
|
|
comments_enabled:
|
|
type: boolean
|
|
feedback_definition_names:
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
annotators_per_item:
|
|
maximum: 1000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
lock_timeout_seconds:
|
|
maximum: 3600
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
AssertionResultBatch:
|
|
required:
|
|
- assertion_results
|
|
- entity_type
|
|
type: object
|
|
properties:
|
|
entity_type:
|
|
type: string
|
|
enum:
|
|
- TRACE
|
|
- SPAN
|
|
- THREAD
|
|
assertion_results:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AssertionResultBatchItem"
|
|
AssertionResultBatchItem:
|
|
required:
|
|
- entity_id
|
|
- name
|
|
- source
|
|
- status
|
|
type: object
|
|
properties:
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
Attachment:
|
|
required:
|
|
- file_name
|
|
- file_size
|
|
- mime_type
|
|
type: object
|
|
properties:
|
|
link:
|
|
type: string
|
|
file_name:
|
|
type: string
|
|
file_size:
|
|
type: integer
|
|
format: int64
|
|
mime_type:
|
|
type: string
|
|
AttachmentPage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Attachment"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
CompleteMultipartUploadRequest:
|
|
required:
|
|
- entity_id
|
|
- entity_type
|
|
- file_name
|
|
- file_size
|
|
- upload_id
|
|
- uploaded_file_parts
|
|
type: object
|
|
properties:
|
|
file_name:
|
|
minLength: 1
|
|
type: string
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
entity_type:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
container_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
file_size:
|
|
type: integer
|
|
format: int64
|
|
mime_type:
|
|
type: string
|
|
upload_id:
|
|
minLength: 1
|
|
type: string
|
|
uploaded_file_parts:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MultipartUploadPart"
|
|
MultipartUploadPart:
|
|
required:
|
|
- e_tag
|
|
- part_number
|
|
type: object
|
|
properties:
|
|
e_tag:
|
|
minLength: 1
|
|
type: string
|
|
part_number:
|
|
type: integer
|
|
format: int32
|
|
DeleteAttachmentsRequest:
|
|
required:
|
|
- container_id
|
|
- entity_id
|
|
- entity_type
|
|
- file_names
|
|
type: object
|
|
properties:
|
|
file_names:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
entity_type:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
container_id:
|
|
type: string
|
|
format: uuid
|
|
StartMultipartUploadResponse:
|
|
required:
|
|
- pre_sign_urls
|
|
- upload_id
|
|
type: object
|
|
properties:
|
|
upload_id:
|
|
minLength: 1
|
|
type: string
|
|
pre_sign_urls:
|
|
type: array
|
|
items:
|
|
type: string
|
|
StartMultipartUploadRequest:
|
|
required:
|
|
- entity_id
|
|
- entity_type
|
|
- file_name
|
|
- num_of_file_parts
|
|
- path
|
|
type: object
|
|
properties:
|
|
file_name:
|
|
minLength: 1
|
|
type: string
|
|
num_of_file_parts:
|
|
type: integer
|
|
format: int32
|
|
mime_type:
|
|
type: string
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
entity_type:
|
|
type: string
|
|
enum:
|
|
- trace
|
|
- span
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
container_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
path:
|
|
minLength: 1
|
|
type: string
|
|
AuthDetailsHolder:
|
|
type: object
|
|
WorkspaceNameHolder:
|
|
type: object
|
|
properties:
|
|
workspace_name:
|
|
type: string
|
|
AudioUrl:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AutomationRuleEvaluator:
|
|
required:
|
|
- action
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Primary project ID (legacy field for backwards compatibility)
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
description: Primary project name (legacy field for backwards compatibility)
|
|
readOnly: true
|
|
projects:
|
|
uniqueItems: true
|
|
type: array
|
|
description: "Projects assigned to this rule (unique, sorted alphabetically\
|
|
\ by name)"
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ProjectReference"
|
|
project_ids:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Project IDs for write operations (used when creating/updating
|
|
rules)
|
|
items:
|
|
type: string
|
|
description: Project IDs for write operations (used when creating/updating
|
|
rules)
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
sampling_rate:
|
|
type: number
|
|
format: float
|
|
enabled:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_as_judge
|
|
- user_defined_metric_python
|
|
- trace_thread_llm_as_judge
|
|
- trace_thread_user_defined_metric_python
|
|
- span_llm_as_judge
|
|
- span_user_defined_metric_python
|
|
action:
|
|
type: string
|
|
enum:
|
|
- evaluator
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorLlmAsJudge"
|
|
user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUserDefinedMetricPython"
|
|
trace_thread_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorTraceThreadLlmAsJudge"
|
|
trace_thread_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython"
|
|
span_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorSpanLlmAsJudge"
|
|
span_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorSpanUserDefinedMetricPython"
|
|
AutomationRuleEvaluatorLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter"
|
|
code:
|
|
$ref: "#/components/schemas/LlmAsJudgeCode"
|
|
AutomationRuleEvaluatorSpanLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter"
|
|
code:
|
|
$ref: "#/components/schemas/SpanLlmAsJudgeCode"
|
|
AutomationRuleEvaluatorSpanUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter"
|
|
code:
|
|
$ref: "#/components/schemas/SpanUserDefinedMetricPythonCode"
|
|
AutomationRuleEvaluatorTraceThreadLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadLlmAsJudgeCode"
|
|
AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadUserDefinedMetricPythonCode"
|
|
AutomationRuleEvaluatorUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter"
|
|
code:
|
|
$ref: "#/components/schemas/UserDefinedMetricPythonCode"
|
|
ImageUrl:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
detail:
|
|
type: string
|
|
LlmAsJudgeCode:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema"
|
|
LlmAsJudgeMessage:
|
|
required:
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
type: string
|
|
enum:
|
|
- SYSTEM
|
|
- USER
|
|
- AI
|
|
- TOOL_EXECUTION_RESULT
|
|
- CUSTOM
|
|
content:
|
|
type: string
|
|
content_array:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessageContent"
|
|
string_content:
|
|
type: boolean
|
|
structured_content:
|
|
type: boolean
|
|
LlmAsJudgeMessageContent:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
text:
|
|
type: string
|
|
image_url:
|
|
$ref: "#/components/schemas/ImageUrl"
|
|
video_url:
|
|
$ref: "#/components/schemas/VideoUrl"
|
|
audio_url:
|
|
$ref: "#/components/schemas/AudioUrl"
|
|
LlmAsJudgeModelParameters:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
temperature:
|
|
type: number
|
|
format: double
|
|
seed:
|
|
type: integer
|
|
format: int32
|
|
custom_parameters:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
LlmAsJudgeOutputSchema:
|
|
required:
|
|
- description
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- BOOLEAN
|
|
- INTEGER
|
|
- DOUBLE
|
|
description:
|
|
type: string
|
|
ProjectReference:
|
|
required:
|
|
- project_id
|
|
- project_name
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
description: Project name
|
|
description: Project reference with ID and name
|
|
readOnly: true
|
|
SpanFilter:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
SpanLlmAsJudgeCode:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema"
|
|
SpanUserDefinedMetricPythonCode:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
TraceFilter:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadFilter:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadLlmAsJudgeCode:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage"
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema"
|
|
TraceThreadUserDefinedMetricPythonCode:
|
|
required:
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
UserDefinedMetricPythonCode:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
VideoUrl:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AudioUrl_Write:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AutomationRuleEvaluatorLlmAsJudge_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/LlmAsJudgeCode_Write"
|
|
AutomationRuleEvaluatorSpanLlmAsJudge_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/SpanLlmAsJudgeCode_Write"
|
|
AutomationRuleEvaluatorSpanUserDefinedMetricPython_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/SpanUserDefinedMetricPythonCode_Write"
|
|
AutomationRuleEvaluatorTraceThreadLlmAsJudge_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadLlmAsJudgeCode_Write"
|
|
AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadUserDefinedMetricPythonCode_Write"
|
|
AutomationRuleEvaluatorUserDefinedMetricPython_Write:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Write"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Write"
|
|
code:
|
|
$ref: "#/components/schemas/UserDefinedMetricPythonCode_Write"
|
|
AutomationRuleEvaluator_Write:
|
|
required:
|
|
- action
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Primary project ID (legacy field for backwards compatibility)
|
|
format: uuid
|
|
project_ids:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Project IDs for write operations (used when creating/updating
|
|
rules)
|
|
items:
|
|
type: string
|
|
description: Project IDs for write operations (used when creating/updating
|
|
rules)
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
sampling_rate:
|
|
type: number
|
|
format: float
|
|
enabled:
|
|
type: boolean
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_as_judge
|
|
- user_defined_metric_python
|
|
- trace_thread_llm_as_judge
|
|
- trace_thread_user_defined_metric_python
|
|
- span_llm_as_judge
|
|
- span_user_defined_metric_python
|
|
action:
|
|
type: string
|
|
enum:
|
|
- evaluator
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorLlmAsJudge_Write"
|
|
user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUserDefinedMetricPython_Write"
|
|
trace_thread_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorTraceThreadLlmAsJudge_Write"
|
|
trace_thread_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython_Write"
|
|
span_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorSpanLlmAsJudge_Write"
|
|
span_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorSpanUserDefinedMetricPython_Write"
|
|
ImageUrl_Write:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
detail:
|
|
type: string
|
|
JsonNode_Write:
|
|
type: object
|
|
LlmAsJudgeCode_Write:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Write"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Write"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Write"
|
|
LlmAsJudgeMessageContent_Write:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
text:
|
|
type: string
|
|
image_url:
|
|
$ref: "#/components/schemas/ImageUrl_Write"
|
|
video_url:
|
|
$ref: "#/components/schemas/VideoUrl_Write"
|
|
audio_url:
|
|
$ref: "#/components/schemas/AudioUrl_Write"
|
|
LlmAsJudgeMessage_Write:
|
|
required:
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
type: string
|
|
enum:
|
|
- SYSTEM
|
|
- USER
|
|
- AI
|
|
- TOOL_EXECUTION_RESULT
|
|
- CUSTOM
|
|
content:
|
|
type: string
|
|
content_array:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessageContent_Write"
|
|
string_content:
|
|
type: boolean
|
|
structured_content:
|
|
type: boolean
|
|
LlmAsJudgeModelParameters_Write:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
temperature:
|
|
type: number
|
|
format: double
|
|
seed:
|
|
type: integer
|
|
format: int32
|
|
custom_parameters:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
LlmAsJudgeOutputSchema_Write:
|
|
required:
|
|
- description
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- BOOLEAN
|
|
- INTEGER
|
|
- DOUBLE
|
|
description:
|
|
type: string
|
|
SpanFilter_Write:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
SpanLlmAsJudgeCode_Write:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Write"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Write"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Write"
|
|
SpanUserDefinedMetricPythonCode_Write:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
TraceFilter_Write:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadFilter_Write:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadLlmAsJudgeCode_Write:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Write"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Write"
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Write"
|
|
TraceThreadUserDefinedMetricPythonCode_Write:
|
|
required:
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
UserDefinedMetricPythonCode_Write:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
VideoUrl_Write:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AudioUrl_Public:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AutomationRuleEvaluatorLlmAsJudge_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/LlmAsJudgeCode_Public"
|
|
AutomationRuleEvaluatorObjectObject_Public:
|
|
required:
|
|
- action
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Primary project ID (legacy field for backwards compatibility)
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
description: Primary project name (legacy field for backwards compatibility)
|
|
readOnly: true
|
|
projects:
|
|
uniqueItems: true
|
|
type: array
|
|
description: "Projects assigned to this rule (unique, sorted alphabetically\
|
|
\ by name)"
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ProjectReference_Public"
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
sampling_rate:
|
|
type: number
|
|
format: float
|
|
enabled:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_as_judge
|
|
- user_defined_metric_python
|
|
- trace_thread_llm_as_judge
|
|
- trace_thread_user_defined_metric_python
|
|
- span_llm_as_judge
|
|
- span_user_defined_metric_python
|
|
action:
|
|
type: string
|
|
enum:
|
|
- evaluator
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorLlmAsJudge_Public"
|
|
user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUserDefinedMetricPython_Public"
|
|
trace_thread_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorTraceThreadLlmAsJudge_Public"
|
|
trace_thread_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython_Public"
|
|
span_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorSpanLlmAsJudge_Public"
|
|
span_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorSpanUserDefinedMetricPython_Public"
|
|
AutomationRuleEvaluatorPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AutomationRuleEvaluatorObjectObject_Public"
|
|
sortable_by:
|
|
type: array
|
|
items:
|
|
type: string
|
|
AutomationRuleEvaluatorSpanLlmAsJudge_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/SpanLlmAsJudgeCode_Public"
|
|
AutomationRuleEvaluatorSpanUserDefinedMetricPython_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/SpanUserDefinedMetricPythonCode_Public"
|
|
AutomationRuleEvaluatorTraceThreadLlmAsJudge_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadLlmAsJudgeCode_Public"
|
|
AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadUserDefinedMetricPythonCode_Public"
|
|
AutomationRuleEvaluatorUserDefinedMetricPython_Public:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluator_Public"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Public"
|
|
code:
|
|
$ref: "#/components/schemas/UserDefinedMetricPythonCode_Public"
|
|
ImageUrl_Public:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
detail:
|
|
type: string
|
|
JsonNode_Public:
|
|
type: object
|
|
LlmAsJudgeCode_Public:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Public"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Public"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Public"
|
|
LlmAsJudgeMessageContent_Public:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
text:
|
|
type: string
|
|
image_url:
|
|
$ref: "#/components/schemas/ImageUrl_Public"
|
|
video_url:
|
|
$ref: "#/components/schemas/VideoUrl_Public"
|
|
audio_url:
|
|
$ref: "#/components/schemas/AudioUrl_Public"
|
|
LlmAsJudgeMessage_Public:
|
|
required:
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
type: string
|
|
enum:
|
|
- SYSTEM
|
|
- USER
|
|
- AI
|
|
- TOOL_EXECUTION_RESULT
|
|
- CUSTOM
|
|
content:
|
|
type: string
|
|
content_array:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessageContent_Public"
|
|
string_content:
|
|
type: boolean
|
|
structured_content:
|
|
type: boolean
|
|
LlmAsJudgeModelParameters_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
temperature:
|
|
type: number
|
|
format: double
|
|
seed:
|
|
type: integer
|
|
format: int32
|
|
custom_parameters:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
LlmAsJudgeOutputSchema_Public:
|
|
required:
|
|
- description
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- BOOLEAN
|
|
- INTEGER
|
|
- DOUBLE
|
|
description:
|
|
type: string
|
|
ProjectReference_Public:
|
|
required:
|
|
- project_id
|
|
- project_name
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
description: Project name
|
|
description: Project reference with ID and name
|
|
readOnly: true
|
|
SpanFilter_Public:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
SpanLlmAsJudgeCode_Public:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
- variables
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Public"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Public"
|
|
variables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Public"
|
|
SpanUserDefinedMetricPythonCode_Public:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
TraceFilter_Public:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadFilter_Public:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
TraceThreadLlmAsJudgeCode_Public:
|
|
required:
|
|
- messages
|
|
- model
|
|
- schema
|
|
type: object
|
|
properties:
|
|
model:
|
|
$ref: "#/components/schemas/LlmAsJudgeModelParameters_Public"
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeMessage_Public"
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LlmAsJudgeOutputSchema_Public"
|
|
TraceThreadUserDefinedMetricPythonCode_Public:
|
|
required:
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
UserDefinedMetricPythonCode_Public:
|
|
required:
|
|
- arguments
|
|
- metric
|
|
type: object
|
|
properties:
|
|
metric:
|
|
type: string
|
|
arguments:
|
|
minProperties: 1
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
VideoUrl_Public:
|
|
required:
|
|
- url
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
AutomationRuleEvaluator_Public:
|
|
required:
|
|
- action
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Primary project ID (legacy field for backwards compatibility)
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
description: Primary project name (legacy field for backwards compatibility)
|
|
readOnly: true
|
|
projects:
|
|
uniqueItems: true
|
|
type: array
|
|
description: "Projects assigned to this rule (unique, sorted alphabetically\
|
|
\ by name)"
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ProjectReference_Public"
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
sampling_rate:
|
|
type: number
|
|
format: float
|
|
enabled:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_as_judge
|
|
- user_defined_metric_python
|
|
- trace_thread_llm_as_judge
|
|
- trace_thread_user_defined_metric_python
|
|
- span_llm_as_judge
|
|
- span_user_defined_metric_python
|
|
action:
|
|
type: string
|
|
enum:
|
|
- evaluator
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorLlmAsJudge_Public"
|
|
user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUserDefinedMetricPython_Public"
|
|
trace_thread_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorTraceThreadLlmAsJudge_Public"
|
|
trace_thread_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython_Public"
|
|
span_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorSpanLlmAsJudge_Public"
|
|
span_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorSpanUserDefinedMetricPython_Public"
|
|
LogItem:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
rule_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
level:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- INFO
|
|
- WARN
|
|
- ERROR
|
|
- DEBUG
|
|
- TRACE
|
|
message:
|
|
type: string
|
|
readOnly: true
|
|
markers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
readOnly: true
|
|
readOnly: true
|
|
LogPage:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LogItem"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
AutomationRuleEvaluatorUpdate:
|
|
required:
|
|
- action
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
sampling_rate:
|
|
type: number
|
|
format: float
|
|
enabled:
|
|
type: boolean
|
|
project_id:
|
|
type: string
|
|
description: "Primary project ID (legacy field, maintained for backwards\
|
|
\ compatibility)"
|
|
format: uuid
|
|
project_ids:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Multiple project IDs (new field for multi-project support)
|
|
items:
|
|
type: string
|
|
description: Multiple project IDs (new field for multi-project support)
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_as_judge
|
|
- user_defined_metric_python
|
|
- trace_thread_llm_as_judge
|
|
- trace_thread_user_defined_metric_python
|
|
- span_llm_as_judge
|
|
- span_user_defined_metric_python
|
|
action:
|
|
type: string
|
|
enum:
|
|
- evaluator
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorUpdateLlmAsJudge"
|
|
user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUpdateUserDefinedMetricPython"
|
|
trace_thread_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudge"
|
|
trace_thread_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPython"
|
|
span_llm_as_judge: "#/components/schemas/AutomationRuleEvaluatorUpdateSpanLlmAsJudge"
|
|
span_user_defined_metric_python: "#/components/schemas/AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPython"
|
|
AutomationRuleEvaluatorUpdateLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter"
|
|
code:
|
|
$ref: "#/components/schemas/LlmAsJudgeCode"
|
|
AutomationRuleEvaluatorUpdateSpanLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter"
|
|
code:
|
|
$ref: "#/components/schemas/SpanLlmAsJudgeCode"
|
|
AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter"
|
|
code:
|
|
$ref: "#/components/schemas/SpanUserDefinedMetricPythonCode"
|
|
AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudge:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadLlmAsJudgeCode"
|
|
AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter"
|
|
code:
|
|
$ref: "#/components/schemas/TraceThreadUserDefinedMetricPythonCode"
|
|
AutomationRuleEvaluatorUpdateUserDefinedMetricPython:
|
|
required:
|
|
- action
|
|
- code
|
|
- name
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/AutomationRuleEvaluatorUpdate"
|
|
- type: object
|
|
properties:
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter"
|
|
code:
|
|
$ref: "#/components/schemas/UserDefinedMetricPythonCode"
|
|
AssistantMessage:
|
|
type: object
|
|
properties:
|
|
role:
|
|
type: string
|
|
enum:
|
|
- system
|
|
- user
|
|
- assistant
|
|
- tool
|
|
- function
|
|
content:
|
|
type: string
|
|
reasoning_content:
|
|
type: string
|
|
name:
|
|
type: string
|
|
tool_calls:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ToolCall"
|
|
refusal:
|
|
type: string
|
|
function_call:
|
|
$ref: "#/components/schemas/FunctionCall"
|
|
ChatCompletionChoice:
|
|
type: object
|
|
properties:
|
|
index:
|
|
type: integer
|
|
format: int32
|
|
message:
|
|
$ref: "#/components/schemas/AssistantMessage"
|
|
delta:
|
|
$ref: "#/components/schemas/Delta"
|
|
finish_reason:
|
|
type: string
|
|
logprobs:
|
|
$ref: "#/components/schemas/LogProbs"
|
|
ChatCompletionResponse:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
created:
|
|
type: integer
|
|
format: int64
|
|
model:
|
|
type: string
|
|
choices:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ChatCompletionChoice"
|
|
usage:
|
|
$ref: "#/components/schemas/Usage"
|
|
system_fingerprint:
|
|
type: string
|
|
service_tier:
|
|
type: string
|
|
CompletionTokensDetails:
|
|
type: object
|
|
properties:
|
|
reasoning_tokens:
|
|
type: integer
|
|
format: int32
|
|
Delta:
|
|
type: object
|
|
properties:
|
|
role:
|
|
type: string
|
|
content:
|
|
type: string
|
|
reasoning_content:
|
|
type: string
|
|
tool_calls:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ToolCall"
|
|
function_call:
|
|
$ref: "#/components/schemas/FunctionCall"
|
|
FunctionCall:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
arguments:
|
|
type: string
|
|
LogProb:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
logprob:
|
|
type: number
|
|
format: double
|
|
bytes:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int32
|
|
LogProbs:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LogProb"
|
|
PromptTokensDetails:
|
|
type: object
|
|
properties:
|
|
cached_tokens:
|
|
type: integer
|
|
format: int32
|
|
ToolCall:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
index:
|
|
type: integer
|
|
format: int32
|
|
type:
|
|
type: string
|
|
enum:
|
|
- function
|
|
function:
|
|
$ref: "#/components/schemas/FunctionCall"
|
|
Usage:
|
|
type: object
|
|
properties:
|
|
total_tokens:
|
|
type: integer
|
|
format: int32
|
|
prompt_tokens:
|
|
type: integer
|
|
format: int32
|
|
prompt_tokens_details:
|
|
$ref: "#/components/schemas/PromptTokensDetails"
|
|
completion_tokens:
|
|
type: integer
|
|
format: int32
|
|
completion_tokens_details:
|
|
$ref: "#/components/schemas/CompletionTokensDetails"
|
|
ChatCompletionRequest:
|
|
type: object
|
|
properties:
|
|
model:
|
|
type: string
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Message"
|
|
temperature:
|
|
type: number
|
|
format: double
|
|
top_p:
|
|
type: number
|
|
format: double
|
|
"n":
|
|
type: integer
|
|
format: int32
|
|
stream:
|
|
type: boolean
|
|
stream_options:
|
|
$ref: "#/components/schemas/StreamOptions"
|
|
stop:
|
|
type: array
|
|
items:
|
|
type: string
|
|
max_tokens:
|
|
type: integer
|
|
format: int32
|
|
max_completion_tokens:
|
|
type: integer
|
|
format: int32
|
|
presence_penalty:
|
|
type: number
|
|
format: double
|
|
frequency_penalty:
|
|
type: number
|
|
format: double
|
|
logit_bias:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
user:
|
|
type: string
|
|
response_format:
|
|
$ref: "#/components/schemas/ResponseFormat"
|
|
seed:
|
|
type: integer
|
|
format: int32
|
|
tools:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Tool"
|
|
tool_choice:
|
|
type: object
|
|
parallel_tool_calls:
|
|
type: boolean
|
|
store:
|
|
type: boolean
|
|
metadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
reasoning_effort:
|
|
type: string
|
|
service_tier:
|
|
type: string
|
|
logprobs:
|
|
type: boolean
|
|
top_logprobs:
|
|
type: integer
|
|
format: int32
|
|
functions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Function"
|
|
function_call:
|
|
$ref: "#/components/schemas/FunctionCall"
|
|
Function:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
strict:
|
|
type: boolean
|
|
parameters:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
JsonSchema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
strict:
|
|
type: boolean
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
Message:
|
|
required:
|
|
- content
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
minLength: 1
|
|
type: string
|
|
content:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
ResponseFormat:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- text
|
|
- json_object
|
|
- json_schema
|
|
json_schema:
|
|
$ref: "#/components/schemas/JsonSchema"
|
|
StreamOptions:
|
|
type: object
|
|
properties:
|
|
include_usage:
|
|
type: boolean
|
|
Tool:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- function
|
|
function:
|
|
$ref: "#/components/schemas/Function"
|
|
Dashboard_Public:
|
|
required:
|
|
- config
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
workspace_id:
|
|
type: string
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
name:
|
|
maxLength: 120
|
|
minLength: 1
|
|
type: string
|
|
slug:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- multi_project
|
|
- experiments
|
|
scope:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- workspace
|
|
- insights
|
|
description:
|
|
maxLength: 1000
|
|
minLength: 0
|
|
type: string
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
Dashboard_Write:
|
|
required:
|
|
- config
|
|
- name
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "For project scope, specify either project_id or project_name.\
|
|
\ If project_name is provided and the project does not exist, it will\
|
|
\ be created. Ignored when project_id is provided. If neither is provided,\
|
|
\ the dashboard is created at workspace level."
|
|
name:
|
|
maxLength: 120
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- multi_project
|
|
- experiments
|
|
description:
|
|
maxLength: 1000
|
|
minLength: 0
|
|
type: string
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
DashboardPage_Public:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Dashboard_Public"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
sortable_by:
|
|
type: array
|
|
items:
|
|
type: string
|
|
DashboardUpdate_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
maxLength: 120
|
|
minLength: 1
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- multi_project
|
|
- experiments
|
|
description:
|
|
maxLength: 1000
|
|
minLength: 0
|
|
type: string
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
DatasetVersion_Public:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
version_hash:
|
|
type: string
|
|
readOnly: true
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
readOnly: true
|
|
is_latest:
|
|
type: boolean
|
|
description: Indicates whether this is the latest version of the dataset
|
|
readOnly: true
|
|
version_name:
|
|
type: string
|
|
description: "Sequential version name formatted as 'v1', 'v2', etc."
|
|
readOnly: true
|
|
items_total:
|
|
type: integer
|
|
description: Total number of items in this version
|
|
format: int32
|
|
readOnly: true
|
|
items_added:
|
|
type: integer
|
|
description: Number of items added since last version
|
|
format: int32
|
|
readOnly: true
|
|
items_modified:
|
|
type: integer
|
|
description: Number of items modified since last version
|
|
format: int32
|
|
readOnly: true
|
|
items_deleted:
|
|
type: integer
|
|
description: Number of items deleted since last version
|
|
format: int32
|
|
readOnly: true
|
|
change_description:
|
|
type: string
|
|
readOnly: true
|
|
metadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
readOnly: true
|
|
readOnly: true
|
|
evaluators:
|
|
type: array
|
|
description: Default evaluators for items in this version
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem_Public"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
EvaluatorItem_Public:
|
|
required:
|
|
- config
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_judge
|
|
- code_metric
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
description: Default evaluators for items in this version
|
|
readOnly: true
|
|
ExecutionPolicy_Public:
|
|
type: object
|
|
properties:
|
|
runs_per_item:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
pass_threshold:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
description: Default execution policy for items in this version
|
|
readOnly: true
|
|
DatasetItemChanges_Public:
|
|
type: object
|
|
DatasetItemBatchUpdate:
|
|
required:
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of dataset item IDs to update (max 1000). Mutually exclusive
|
|
with 'filters'.
|
|
items:
|
|
type: string
|
|
description: List of dataset item IDs to update (max 1000). Mutually exclusive
|
|
with 'filters'.
|
|
format: uuid
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItemFilter"
|
|
dataset_id:
|
|
type: string
|
|
description: "Dataset ID. Required when using 'filters', optional when using\
|
|
\ 'ids'."
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/DatasetItemUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: "If true, merge tags with existing tags instead of replacing\
|
|
\ them. Default: false. When using 'filters', this is automatically set\
|
|
\ to true."
|
|
description: Request to batch update multiple dataset items
|
|
DatasetItemFilter:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
enum:
|
|
- contains
|
|
- not_contains
|
|
- starts_with
|
|
- ends_with
|
|
- =
|
|
- '!='
|
|
- '>'
|
|
- '>='
|
|
- <
|
|
- <=
|
|
- is_empty
|
|
- is_not_empty
|
|
- in
|
|
- not_in
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
description: Filters to select dataset items to delete within the specified
|
|
dataset. Must be used with 'dataset_id'. Mutually exclusive with 'item_ids'.
|
|
Empty array means 'delete all items in the dataset'.
|
|
DatasetItemUpdate:
|
|
type: object
|
|
properties:
|
|
input:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Dataset item input
|
|
expected_output:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Dataset item expected output
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
data:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description:
|
|
type: string
|
|
description: Dataset item description
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags
|
|
tags_to_add:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to add
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to add
|
|
tags_to_remove:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to remove
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to remove
|
|
evaluators:
|
|
type: array
|
|
description: Evaluators
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy"
|
|
clear_execution_policy:
|
|
type: boolean
|
|
description: "When true, clears the item-level execution policy (falls back\
|
|
\ to dataset-level)"
|
|
description: Dataset item update request
|
|
EvaluatorItem:
|
|
required:
|
|
- config
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_judge
|
|
- code_metric
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
ExecutionPolicy:
|
|
type: object
|
|
properties:
|
|
runs_per_item:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
pass_threshold:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
Dataset:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "For project scope, specify either project_id or project_name.\
|
|
\ If project_name is provided and the project does not exist, it will\
|
|
\ be created. Ignored when project_id is provided. If neither is provided,\
|
|
\ the dataset is created at workspace level."
|
|
type:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
experiment_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
dataset_items_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
optimization_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
most_recent_experiment_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_created_experiment_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
most_recent_optimization_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_created_optimization_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- unknown
|
|
- processing
|
|
- completed
|
|
- failed
|
|
latest_version:
|
|
$ref: "#/components/schemas/DatasetVersionSummary"
|
|
DatasetVersionSummary:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: Unique identifier of the version
|
|
format: uuid
|
|
version_hash:
|
|
type: string
|
|
description: Hash of the version content
|
|
version_name:
|
|
type: string
|
|
description: "Sequential version name formatted as 'v1', 'v2', etc."
|
|
change_description:
|
|
type: string
|
|
description: Description of changes in this version
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags associated with this version
|
|
items:
|
|
type: string
|
|
description: Tags associated with this version
|
|
description: Summary of the latest dataset version
|
|
readOnly: true
|
|
Dataset_Write:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "For project scope, specify either project_id or project_name.\
|
|
\ If project_name is provided and the project does not exist, it will\
|
|
\ be created. Ignored when project_id is provided. If neither is provided,\
|
|
\ the dataset is created at workspace level."
|
|
type:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
AssertionResult:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
passed:
|
|
type: boolean
|
|
reason:
|
|
type: string
|
|
readOnly: true
|
|
Comment:
|
|
required:
|
|
- text
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
text:
|
|
minLength: 1
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
DatasetItem:
|
|
required:
|
|
- data
|
|
- source
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: |
|
|
Stable item identifier.
|
|
On write, used as the upsert key.
|
|
If omitted, a new ID is generated.
|
|
Remains the same across dataset versions
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
description: |
|
|
Deprecated.
|
|
Always equals 'id'.
|
|
Retained for backward compatibility and will be removed in a future version
|
|
format: uuid
|
|
readOnly: true
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
source:
|
|
type: string
|
|
enum:
|
|
- manual
|
|
- trace
|
|
- span
|
|
- sdk
|
|
data:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
evaluators:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy"
|
|
experiment_items:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItem"
|
|
run_summaries_by_experiment:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ExperimentRunSummary"
|
|
readOnly: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
DatasetItemBatch:
|
|
required:
|
|
- items
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, dataset_id must be provided"
|
|
dataset_id:
|
|
type: string
|
|
description: "If null, dataset_name must be provided"
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Optional. Associates the batch with a project by name. Ignored
|
|
if project_id is provided.
|
|
project_id:
|
|
type: string
|
|
description: Optional. Associates the batch with a project by ID. Takes
|
|
precedence over project_name.
|
|
format: uuid
|
|
items:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItem"
|
|
batch_group_id:
|
|
type: string
|
|
description: "Optional batch group ID to group multiple batches into a single\
|
|
\ dataset version. If null, mutates the latest version instead of creating\
|
|
\ a new one."
|
|
format: uuid
|
|
copy_from_dataset_id:
|
|
type: string
|
|
description: "Optional. Dataset to read carry-forward rows from when materializing\
|
|
\ the new version. Required together with copy_from_version_id. When null,\
|
|
\ carry-forward rows are read from the destination dataset's prior version."
|
|
format: uuid
|
|
copy_from_version_id:
|
|
type: string
|
|
description: Optional. Version within copy_from_dataset_id to read carry-forward
|
|
rows from. Required together with copy_from_dataset_id.
|
|
format: uuid
|
|
ExperimentItem:
|
|
required:
|
|
- dataset_item_id
|
|
- experiment_id
|
|
- trace_id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
experiment_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
trace_metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
duration:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
trace_visibility_mode:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- default
|
|
- hidden
|
|
description:
|
|
type: string
|
|
readOnly: true
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy"
|
|
assertion_results:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AssertionResult"
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- passed
|
|
- failed
|
|
ExperimentRunSummary:
|
|
type: object
|
|
properties:
|
|
passed_runs:
|
|
type: integer
|
|
format: int32
|
|
total_runs:
|
|
type: integer
|
|
format: int32
|
|
status:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
readOnly: true
|
|
FeedbackScore:
|
|
required:
|
|
- name
|
|
- source
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
value_by_author:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ValueEntry"
|
|
readOnly: true
|
|
JsonListString:
|
|
type: object
|
|
anyOf:
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
type: object
|
|
- type: string
|
|
ValueEntry:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
span_type:
|
|
type: string
|
|
span_id:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
author:
|
|
type: string
|
|
readOnly: true
|
|
DatasetItemBatch_Write:
|
|
required:
|
|
- items
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, dataset_id must be provided"
|
|
dataset_id:
|
|
type: string
|
|
description: "If null, dataset_name must be provided"
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Optional. Associates the batch with a project by name. Ignored
|
|
if project_id is provided.
|
|
project_id:
|
|
type: string
|
|
description: Optional. Associates the batch with a project by ID. Takes
|
|
precedence over project_name.
|
|
format: uuid
|
|
items:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItem_Write"
|
|
batch_group_id:
|
|
type: string
|
|
description: "Optional batch group ID to group multiple batches into a single\
|
|
\ dataset version. If null, mutates the latest version instead of creating\
|
|
\ a new one."
|
|
format: uuid
|
|
copy_from_dataset_id:
|
|
type: string
|
|
description: "Optional. Dataset to read carry-forward rows from when materializing\
|
|
\ the new version. Required together with copy_from_version_id. When null,\
|
|
\ carry-forward rows are read from the destination dataset's prior version."
|
|
format: uuid
|
|
copy_from_version_id:
|
|
type: string
|
|
description: Optional. Version within copy_from_dataset_id to read carry-forward
|
|
rows from. Required together with copy_from_dataset_id.
|
|
format: uuid
|
|
DatasetItem_Write:
|
|
required:
|
|
- data
|
|
- source
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: |
|
|
Stable item identifier.
|
|
On write, used as the upsert key.
|
|
If omitted, a new ID is generated.
|
|
Remains the same across dataset versions
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
source:
|
|
type: string
|
|
enum:
|
|
- manual
|
|
- trace
|
|
- span
|
|
- sdk
|
|
data:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
evaluators:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem_Write"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy_Write"
|
|
EvaluatorItem_Write:
|
|
required:
|
|
- config
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_judge
|
|
- code_metric
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
ExecutionPolicy_Write:
|
|
type: object
|
|
properties:
|
|
runs_per_item:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
pass_threshold:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
CreateDatasetItemsFromSpansRequest:
|
|
required:
|
|
- enrichment_options
|
|
- span_ids
|
|
type: object
|
|
properties:
|
|
span_ids:
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: Set of span IDs to add to the dataset
|
|
items:
|
|
type: string
|
|
description: Set of span IDs to add to the dataset
|
|
format: uuid
|
|
enrichment_options:
|
|
$ref: "#/components/schemas/SpanEnrichmentOptions"
|
|
evaluators:
|
|
type: array
|
|
description: Optional evaluators to apply to the created items
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy"
|
|
SpanEnrichmentOptions:
|
|
type: object
|
|
properties:
|
|
includeTags:
|
|
type: boolean
|
|
includeFeedbackScores:
|
|
type: boolean
|
|
includeComments:
|
|
type: boolean
|
|
includeUsage:
|
|
type: boolean
|
|
includeMetadata:
|
|
type: boolean
|
|
description: Options for enriching span data
|
|
CreateDatasetItemsFromTracesRequest:
|
|
required:
|
|
- enrichment_options
|
|
- trace_ids
|
|
type: object
|
|
properties:
|
|
trace_ids:
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: Set of trace IDs to add to the dataset
|
|
items:
|
|
type: string
|
|
description: Set of trace IDs to add to the dataset
|
|
format: uuid
|
|
enrichment_options:
|
|
$ref: "#/components/schemas/TraceEnrichmentOptions"
|
|
evaluators:
|
|
type: array
|
|
description: Optional evaluators to apply to the created items
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy"
|
|
TraceEnrichmentOptions:
|
|
type: object
|
|
properties:
|
|
includeSpans:
|
|
type: boolean
|
|
includeTags:
|
|
type: boolean
|
|
includeFeedbackScores:
|
|
type: boolean
|
|
includeComments:
|
|
type: boolean
|
|
includeUsage:
|
|
type: boolean
|
|
includeMetadata:
|
|
type: boolean
|
|
description: Options for enriching trace data
|
|
DatasetIdentifier:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
project_name:
|
|
type: string
|
|
DatasetItemsDelete:
|
|
type: object
|
|
properties:
|
|
item_ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of dataset item IDs to delete (max 1000). Use this to
|
|
delete specific items by their IDs. Mutually exclusive with 'dataset_id'
|
|
and 'filters'.
|
|
items:
|
|
type: string
|
|
description: List of dataset item IDs to delete (max 1000). Use this to
|
|
delete specific items by their IDs. Mutually exclusive with 'dataset_id'
|
|
and 'filters'.
|
|
format: uuid
|
|
dataset_id:
|
|
type: string
|
|
description: Dataset ID to scope the deletion. Required when using 'filters'.
|
|
Mutually exclusive with 'item_ids'.
|
|
format: uuid
|
|
filters:
|
|
type: array
|
|
description: Filters to select dataset items to delete within the specified
|
|
dataset. Must be used with 'dataset_id'. Mutually exclusive with 'item_ids'.
|
|
Empty array means 'delete all items in the dataset'.
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItemFilter"
|
|
batch_group_id:
|
|
type: string
|
|
description: "Optional batch group ID to group multiple delete operations\
|
|
\ into a single dataset version. If null, mutates the latest version instead\
|
|
\ of creating a new one."
|
|
format: uuid
|
|
description: Request to delete multiple dataset items
|
|
DatasetExpansionResponse:
|
|
type: object
|
|
properties:
|
|
generated_samples:
|
|
type: array
|
|
description: List of generated synthetic dataset items
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItem"
|
|
model:
|
|
type: string
|
|
description: Model used for generation
|
|
example: gpt-4
|
|
total_generated:
|
|
type: integer
|
|
description: Total number of samples generated
|
|
format: int32
|
|
example: 10
|
|
generation_time:
|
|
type: string
|
|
description: Generation timestamp
|
|
format: date-time
|
|
readOnly: true
|
|
DatasetExpansion:
|
|
required:
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
description: The model to use for synthetic data generation
|
|
example: gpt-4
|
|
sample_count:
|
|
maximum: 200
|
|
minimum: 1
|
|
type: integer
|
|
description: Number of synthetic samples to generate
|
|
format: int32
|
|
example: 10
|
|
preserve_fields:
|
|
type: array
|
|
description: Fields to preserve patterns from original data
|
|
example:
|
|
- input
|
|
- expected_output
|
|
items:
|
|
type: string
|
|
description: Fields to preserve patterns from original data
|
|
example: "[\"input\",\"expected_output\"]"
|
|
variation_instructions:
|
|
type: string
|
|
description: Additional instructions for data variation
|
|
example: Create variations that test edge cases
|
|
custom_prompt:
|
|
type: string
|
|
description: Custom prompt to use for generation instead of auto-generated
|
|
one
|
|
max_completion_tokens:
|
|
minimum: 100
|
|
type: integer
|
|
description: "Maximum number of tokens for the LLM response. Required by\
|
|
\ Anthropic, used as maxOutputTokens for Gemini. If not provided, defaults\
|
|
\ to 4000 for Anthropic models only."
|
|
format: int32
|
|
DatasetExpansion_Write:
|
|
required:
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
description: The model to use for synthetic data generation
|
|
example: gpt-4
|
|
sample_count:
|
|
maximum: 200
|
|
minimum: 1
|
|
type: integer
|
|
description: Number of synthetic samples to generate
|
|
format: int32
|
|
example: 10
|
|
preserve_fields:
|
|
type: array
|
|
description: Fields to preserve patterns from original data
|
|
example:
|
|
- input
|
|
- expected_output
|
|
items:
|
|
type: string
|
|
description: Fields to preserve patterns from original data
|
|
example: "[\"input\",\"expected_output\"]"
|
|
variation_instructions:
|
|
type: string
|
|
description: Additional instructions for data variation
|
|
example: Create variations that test edge cases
|
|
custom_prompt:
|
|
type: string
|
|
description: Custom prompt to use for generation instead of auto-generated
|
|
one
|
|
max_completion_tokens:
|
|
minimum: 100
|
|
type: integer
|
|
description: "Maximum number of tokens for the LLM response. Required by\
|
|
\ Anthropic, used as maxOutputTokens for Gemini. If not provided, defaults\
|
|
\ to 4000 for Anthropic models only."
|
|
format: int32
|
|
AssertionResult_Compare:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
passed:
|
|
type: boolean
|
|
reason:
|
|
type: string
|
|
readOnly: true
|
|
Column_Compare:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
types:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- number
|
|
- object
|
|
- boolean
|
|
- array
|
|
- "null"
|
|
filter_field_prefix:
|
|
type: string
|
|
filterField:
|
|
type: string
|
|
description: The field to use for filtering
|
|
readOnly: true
|
|
Comment_Compare:
|
|
required:
|
|
- text
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
text:
|
|
minLength: 1
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
readOnly: true
|
|
DatasetItemPage_Compare:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItem_Compare"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
columns:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Column_Compare"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
DatasetItem_Compare:
|
|
required:
|
|
- data
|
|
- source
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: |
|
|
Stable item identifier.
|
|
On write, used as the upsert key.
|
|
If omitted, a new ID is generated.
|
|
Remains the same across dataset versions
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
description: |
|
|
Deprecated.
|
|
Always equals 'id'.
|
|
Retained for backward compatibility and will be removed in a future version
|
|
format: uuid
|
|
readOnly: true
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
source:
|
|
type: string
|
|
enum:
|
|
- manual
|
|
- trace
|
|
- span
|
|
- sdk
|
|
data:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
evaluators:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem_Compare"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy_Compare"
|
|
experiment_items:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItem_Compare"
|
|
run_summaries_by_experiment:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ExperimentRunSummary_Compare"
|
|
readOnly: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
EvaluatorItem_Compare:
|
|
required:
|
|
- config
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- llm_judge
|
|
- code_metric
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode_Compare"
|
|
ExecutionPolicy_Compare:
|
|
type: object
|
|
properties:
|
|
runs_per_item:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
pass_threshold:
|
|
maximum: 100
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
ExperimentItem_Compare:
|
|
required:
|
|
- dataset_item_id
|
|
- experiment_id
|
|
- trace_id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
experiment_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_Compare"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_Compare"
|
|
trace_metadata:
|
|
$ref: "#/components/schemas/JsonListString_Compare"
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore_Compare"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment_Compare"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
duration:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
trace_visibility_mode:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- default
|
|
- hidden
|
|
description:
|
|
type: string
|
|
readOnly: true
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy_Compare"
|
|
assertion_results:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AssertionResult_Compare"
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- passed
|
|
- failed
|
|
readOnly: true
|
|
ExperimentRunSummary_Compare:
|
|
type: object
|
|
properties:
|
|
passed_runs:
|
|
type: integer
|
|
format: int32
|
|
total_runs:
|
|
type: integer
|
|
format: int32
|
|
status:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
readOnly: true
|
|
FeedbackScore_Compare:
|
|
required:
|
|
- name
|
|
- source
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
value_by_author:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ValueEntry_Compare"
|
|
readOnly: true
|
|
readOnly: true
|
|
JsonListString_Compare:
|
|
type: object
|
|
readOnly: true
|
|
anyOf:
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
type: object
|
|
- type: string
|
|
JsonNode_Compare:
|
|
type: object
|
|
ValueEntry_Compare:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
span_type:
|
|
type: string
|
|
span_id:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
author:
|
|
type: string
|
|
readOnly: true
|
|
DatasetPage_Public:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Dataset_Public"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
DatasetVersionSummary_Public:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: Unique identifier of the version
|
|
format: uuid
|
|
version_hash:
|
|
type: string
|
|
description: Hash of the version content
|
|
version_name:
|
|
type: string
|
|
description: "Sequential version name formatted as 'v1', 'v2', etc."
|
|
change_description:
|
|
type: string
|
|
description: Description of changes in this version
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags associated with this version
|
|
items:
|
|
type: string
|
|
description: Tags associated with this version
|
|
description: Summary of the latest dataset version
|
|
readOnly: true
|
|
Dataset_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
experiment_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
dataset_items_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
optimization_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
most_recent_experiment_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_created_experiment_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
most_recent_optimization_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_created_optimization_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- unknown
|
|
- processing
|
|
- completed
|
|
- failed
|
|
latest_version:
|
|
$ref: "#/components/schemas/DatasetVersionSummary_Public"
|
|
DatasetIdentifier_Public:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
project_name:
|
|
type: string
|
|
AvgValueStat_Public:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/ProjectStatItemObject_Public"
|
|
- type: object
|
|
properties:
|
|
value:
|
|
type: number
|
|
format: double
|
|
CountValueStat_Public:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/ProjectStatItemObject_Public"
|
|
- type: object
|
|
properties:
|
|
value:
|
|
type: integer
|
|
format: int64
|
|
PercentageValueStat_Public:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/ProjectStatItemObject_Public"
|
|
- type: object
|
|
properties:
|
|
value:
|
|
$ref: "#/components/schemas/PercentageValues_Public"
|
|
PercentageValues_Public:
|
|
type: object
|
|
properties:
|
|
p50:
|
|
type: number
|
|
p90:
|
|
type: number
|
|
p99:
|
|
type: number
|
|
ProjectStatItemObject_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- COUNT
|
|
- PERCENTAGE
|
|
- AVG
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
PERCENTAGE: "#/components/schemas/PercentageValueStat_Public"
|
|
COUNT: "#/components/schemas/CountValueStat_Public"
|
|
AVG: "#/components/schemas/AvgValueStat_Public"
|
|
ProjectStats_Public:
|
|
type: object
|
|
properties:
|
|
stats:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ProjectStatItemObject_Public"
|
|
DatasetExportJob_Public:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
dataset_name:
|
|
type: string
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- PENDING
|
|
- PROCESSING
|
|
- COMPLETED
|
|
- FAILED
|
|
file_path:
|
|
type: string
|
|
readOnly: true
|
|
error_message:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
viewed_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
DatasetItem_Public:
|
|
required:
|
|
- data
|
|
- source
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: |
|
|
Stable item identifier.
|
|
On write, used as the upsert key.
|
|
If omitted, a new ID is generated.
|
|
Remains the same across dataset versions
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
description: |
|
|
Deprecated.
|
|
Always equals 'id'.
|
|
Retained for backward compatibility and will be removed in a future version
|
|
format: uuid
|
|
readOnly: true
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
source:
|
|
type: string
|
|
enum:
|
|
- manual
|
|
- trace
|
|
- span
|
|
- sdk
|
|
data:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
description:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
evaluators:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EvaluatorItem_Public"
|
|
execution_policy:
|
|
$ref: "#/components/schemas/ExecutionPolicy_Public"
|
|
experiment_items:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItem_Public"
|
|
run_summaries_by_experiment:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ExperimentRunSummary_Public"
|
|
readOnly: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
ExperimentItem_Public:
|
|
required:
|
|
- dataset_item_id
|
|
- experiment_id
|
|
- trace_id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
experiment_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
trace_visibility_mode:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- default
|
|
- hidden
|
|
ExperimentRunSummary_Public:
|
|
type: object
|
|
properties:
|
|
passed_runs:
|
|
type: integer
|
|
format: int32
|
|
total_runs:
|
|
type: integer
|
|
format: int32
|
|
status:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
readOnly: true
|
|
Column_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
types:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- number
|
|
- object
|
|
- boolean
|
|
- array
|
|
- "null"
|
|
filter_field_prefix:
|
|
type: string
|
|
filterField:
|
|
type: string
|
|
description: The field to use for filtering
|
|
readOnly: true
|
|
DatasetItemPage_Public:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetItem_Public"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
columns:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Column_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
Column:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
types:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- number
|
|
- object
|
|
- boolean
|
|
- array
|
|
- "null"
|
|
filter_field_prefix:
|
|
type: string
|
|
filterField:
|
|
type: string
|
|
description: The field to use for filtering
|
|
readOnly: true
|
|
PageColumns:
|
|
type: object
|
|
properties:
|
|
columns:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Column"
|
|
ChunkedOutputJsonNode:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: object
|
|
properties:
|
|
typeName:
|
|
type: string
|
|
closed:
|
|
type: boolean
|
|
DatasetItemStreamRequest:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
last_retrieved_id:
|
|
type: string
|
|
format: uuid
|
|
steam_limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
dataset_version:
|
|
type: string
|
|
project_name:
|
|
type: string
|
|
filters:
|
|
type: string
|
|
DatasetUpdate:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
DatasetVersionDiff:
|
|
type: object
|
|
properties:
|
|
from_version:
|
|
type: string
|
|
to_version:
|
|
type: string
|
|
statistics:
|
|
$ref: "#/components/schemas/DatasetVersionDiffStats"
|
|
DatasetVersionDiffStats:
|
|
type: object
|
|
properties:
|
|
itemsAdded:
|
|
type: integer
|
|
format: int32
|
|
itemsModified:
|
|
type: integer
|
|
format: int32
|
|
itemsDeleted:
|
|
type: integer
|
|
format: int32
|
|
itemsUnchanged:
|
|
type: integer
|
|
format: int32
|
|
DatasetVersionTag:
|
|
required:
|
|
- tag
|
|
type: object
|
|
properties:
|
|
tag:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
DatasetVersionPage_Public:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetVersion_Public"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
DatasetVersionRestore_Public:
|
|
required:
|
|
- version_ref
|
|
type: object
|
|
properties:
|
|
version_ref:
|
|
minLength: 1
|
|
type: string
|
|
description: Version hash or tag to restore from
|
|
DatasetVersionRetrieveRequest_Public:
|
|
required:
|
|
- version_name
|
|
type: object
|
|
properties:
|
|
version_name:
|
|
minLength: 1
|
|
pattern: ^v\d+$
|
|
type: string
|
|
description: "Version name in format 'vN' (e.g., 'v1', 'v373')"
|
|
example: v1
|
|
DatasetVersionUpdate_Public:
|
|
type: object
|
|
properties:
|
|
change_description:
|
|
type: string
|
|
description: Optional description of changes in this version
|
|
example: Updated baseline version
|
|
tags_to_add:
|
|
maxItems: 100
|
|
minItems: 0
|
|
type: array
|
|
description: Optional list of tags to add to this version
|
|
example:
|
|
- production
|
|
- reviewed
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Optional list of tags to add to this version
|
|
example: "[\"production\",\"reviewed\"]"
|
|
Environment:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description:
|
|
maxLength: 500
|
|
minLength: 0
|
|
type: string
|
|
color:
|
|
maxLength: 20
|
|
minLength: 0
|
|
type: string
|
|
position:
|
|
type: integer
|
|
format: int32
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
Environment_Write:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description:
|
|
maxLength: 500
|
|
minLength: 0
|
|
type: string
|
|
color:
|
|
maxLength: 20
|
|
minLength: 0
|
|
type: string
|
|
position:
|
|
type: integer
|
|
format: int32
|
|
EnvironmentPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Environment_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
Environment_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description:
|
|
maxLength: 500
|
|
minLength: 0
|
|
type: string
|
|
color:
|
|
maxLength: 20
|
|
minLength: 0
|
|
type: string
|
|
position:
|
|
type: integer
|
|
format: int32
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
EnvironmentUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description:
|
|
maxLength: 500
|
|
minLength: 0
|
|
type: string
|
|
color:
|
|
maxLength: 20
|
|
minLength: 0
|
|
type: string
|
|
position:
|
|
type: integer
|
|
format: int32
|
|
ExperimentBatchUpdate:
|
|
required:
|
|
- ids
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of experiment IDs to update (max 1000)
|
|
items:
|
|
type: string
|
|
description: List of experiment IDs to update (max 1000)
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/ExperimentUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: "If true, merge tags with existing tags instead of replacing\
|
|
\ them. Default: false"
|
|
description: Request to batch update multiple experiments
|
|
ExperimentScore:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
ExperimentUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags
|
|
tags_to_add:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to add
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to add
|
|
tags_to_remove:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to remove
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to remove
|
|
type:
|
|
type: string
|
|
enum:
|
|
- regular
|
|
- trial
|
|
- mini-batch
|
|
- mutation
|
|
status:
|
|
type: string
|
|
description: The status of the experiment
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
experiment_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentScore"
|
|
AssertionScoreAverage:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
description: Per-assertion average pass rates for test suite experiments. Null
|
|
for regular experiments.
|
|
readOnly: true
|
|
Experiment:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
nullable: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Creates project if it doesn't exist. Ignored
|
|
when project_id is provided.
|
|
name:
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- regular
|
|
- trial
|
|
- mini-batch
|
|
- mutation
|
|
evaluation_method:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
optimization_id:
|
|
type: string
|
|
format: uuid
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment"
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
dataset_item_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
total_estimated_cost_avg:
|
|
type: number
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
experiment_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentScore"
|
|
prompt_version:
|
|
$ref: "#/components/schemas/PromptVersionLink"
|
|
prompt_versions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink"
|
|
dataset_version_id:
|
|
type: string
|
|
description: "ID of the dataset version this experiment is linked to. If\
|
|
\ not provided at creation, experiment will be automatically linked to\
|
|
\ the latest version."
|
|
format: uuid
|
|
dataset_version_summary:
|
|
$ref: "#/components/schemas/DatasetVersionSummary"
|
|
pass_rate:
|
|
type: number
|
|
description: Pass rate for test suite experiments (0.0-1.0). Null for regular
|
|
experiments.
|
|
readOnly: true
|
|
passed_count:
|
|
type: integer
|
|
description: Number of items that passed for test suite experiments. Null
|
|
for regular experiments.
|
|
format: int64
|
|
readOnly: true
|
|
total_count:
|
|
type: integer
|
|
description: Total number of items for test suite experiments. Null for
|
|
regular experiments.
|
|
format: int64
|
|
readOnly: true
|
|
assertion_scores:
|
|
type: array
|
|
description: Per-assertion average pass rates for test suite experiments.
|
|
Null for regular experiments.
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AssertionScoreAverage"
|
|
PercentageValues:
|
|
type: object
|
|
properties:
|
|
p50:
|
|
type: number
|
|
p90:
|
|
type: number
|
|
p99:
|
|
type: number
|
|
PromptVersionLink:
|
|
required:
|
|
- id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
commit:
|
|
type: string
|
|
readOnly: true
|
|
version_number:
|
|
type: string
|
|
description: sequential version number in the format v<N>; null for masks
|
|
readOnly: true
|
|
prompt_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
prompt_name:
|
|
type: string
|
|
readOnly: true
|
|
ExperimentScore_Write:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
Experiment_Write:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
nullable: true
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Creates project if it doesn't exist. Ignored
|
|
when project_id is provided.
|
|
name:
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- regular
|
|
- trial
|
|
- mini-batch
|
|
- mutation
|
|
evaluation_method:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
optimization_id:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
experiment_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentScore_Write"
|
|
prompt_version:
|
|
$ref: "#/components/schemas/PromptVersionLink_Write"
|
|
prompt_versions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink_Write"
|
|
dataset_version_id:
|
|
type: string
|
|
description: "ID of the dataset version this experiment is linked to. If\
|
|
\ not provided at creation, experiment will be automatically linked to\
|
|
\ the latest version."
|
|
format: uuid
|
|
JsonListString_Write:
|
|
type: object
|
|
anyOf:
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
type: object
|
|
- type: string
|
|
PromptVersionLink_Write:
|
|
required:
|
|
- id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
ExperimentItemsBatch:
|
|
required:
|
|
- experiment_items
|
|
type: object
|
|
properties:
|
|
experiment_items:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItem"
|
|
ExperimentItemsDelete:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
DeleteIdsHolder:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
ExperimentExecutionResponse:
|
|
type: object
|
|
properties:
|
|
experiments:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentInfo"
|
|
total_items:
|
|
type: integer
|
|
format: int32
|
|
ExperimentInfo:
|
|
type: object
|
|
properties:
|
|
experiment_id:
|
|
type: string
|
|
format: uuid
|
|
prompt_index:
|
|
type: integer
|
|
format: int32
|
|
ExperimentExecutionRequest:
|
|
required:
|
|
- dataset_id
|
|
- dataset_name
|
|
- prompts
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
dataset_version_id:
|
|
type: string
|
|
format: uuid
|
|
prompts:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVariant"
|
|
project_name:
|
|
type: string
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
version_hash:
|
|
type: string
|
|
prompt_versions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink"
|
|
PromptVariant:
|
|
required:
|
|
- messages
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
messages:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Message"
|
|
configs:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
prompt_versions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink"
|
|
Check:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
enum:
|
|
- TOPIC
|
|
- PII
|
|
result:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
ErrorInfo:
|
|
required:
|
|
- exception_type
|
|
- traceback
|
|
type: object
|
|
properties:
|
|
exception_type:
|
|
minLength: 1
|
|
type: string
|
|
message:
|
|
type: string
|
|
traceback:
|
|
minLength: 1
|
|
type: string
|
|
ExperimentItemBulkRecord:
|
|
required:
|
|
- dataset_item_id
|
|
type: object
|
|
properties:
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
evaluate_task_result:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
trace:
|
|
$ref: "#/components/schemas/Trace"
|
|
spans:
|
|
maxItems: 100
|
|
minItems: 0
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Span"
|
|
feedback_scores:
|
|
maxItems: 100
|
|
minItems: 0
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
ExperimentItemBulkUpload:
|
|
required:
|
|
- dataset_name
|
|
- experiment_name
|
|
- items
|
|
type: object
|
|
properties:
|
|
experiment_name:
|
|
minLength: 1
|
|
type: string
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
experiment_id:
|
|
type: string
|
|
description: "Optional experiment ID. If provided, items will be added to\
|
|
\ the existing experiment and experimentName will be ignored. If not provided\
|
|
\ or experiment with that ID doesn't exist, a new experiment will be created\
|
|
\ with the given experimentName"
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "Project for traces auto-created from items that provide evaluate_task_result\
|
|
\ (i.e. without an explicit trace). If null, the default project is used;\
|
|
\ relying on this fallback is deprecated, please provide project_name\
|
|
\ explicitly."
|
|
items:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItemBulkRecord"
|
|
ExperimentItemReference:
|
|
required:
|
|
- dataset_id
|
|
- dataset_item_id
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: Experiment ID
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description: Experiment name
|
|
dataset_id:
|
|
type: string
|
|
description: Dataset ID
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
description: Dataset Item ID
|
|
format: uuid
|
|
description: "Experiment reference with ID, name, dataset ID, and dataset item\
|
|
\ ID"
|
|
readOnly: true
|
|
GuardrailsValidation:
|
|
type: object
|
|
properties:
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
checks:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Check"
|
|
readOnly: true
|
|
Span:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
parent_span_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment"
|
|
total_estimated_cost:
|
|
minimum: 0.0
|
|
exclusiveMinimum: false
|
|
type: number
|
|
total_estimated_cost_version:
|
|
type: string
|
|
duration:
|
|
type: number
|
|
description: Duration in milliseconds as a decimal number to support sub-millisecond
|
|
precision
|
|
format: double
|
|
readOnly: true
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
Trace:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
type: string
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo"
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
span_feedback_scores:
|
|
type: array
|
|
description: "Aggregated feedback scores from all spans in this trace, averaged\
|
|
\ by score name"
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment"
|
|
guardrails_validations:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/GuardrailsValidation"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
span_count:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
duration:
|
|
type: number
|
|
description: Duration in milliseconds as a decimal number to support sub-millisecond
|
|
precision
|
|
format: double
|
|
readOnly: true
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
thread_id:
|
|
type: string
|
|
visibility_mode:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- default
|
|
- hidden
|
|
llm_span_count:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
has_tool_spans:
|
|
type: boolean
|
|
readOnly: true
|
|
providers:
|
|
type: array
|
|
description: "List of unique provider names from all spans in this trace,\
|
|
\ sorted alphabetically"
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
description: "List of unique provider names from all spans in this trace,\
|
|
\ sorted alphabetically"
|
|
readOnly: true
|
|
experiment:
|
|
$ref: "#/components/schemas/ExperimentItemReference"
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
ErrorInfo_ExperimentItemBulkWriteView:
|
|
required:
|
|
- exception_type
|
|
- traceback
|
|
type: object
|
|
properties:
|
|
exception_type:
|
|
minLength: 1
|
|
type: string
|
|
message:
|
|
type: string
|
|
traceback:
|
|
minLength: 1
|
|
type: string
|
|
ExperimentItemBulkRecord_ExperimentItemBulkWriteView:
|
|
required:
|
|
- dataset_item_id
|
|
type: object
|
|
properties:
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
evaluate_task_result:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
trace:
|
|
$ref: "#/components/schemas/Trace_ExperimentItemBulkWriteView"
|
|
spans:
|
|
maxItems: 100
|
|
minItems: 0
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Span_ExperimentItemBulkWriteView"
|
|
feedback_scores:
|
|
maxItems: 100
|
|
minItems: 0
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore_ExperimentItemBulkWriteView"
|
|
ExperimentItemBulkUpload_ExperimentItemBulkWriteView:
|
|
required:
|
|
- dataset_name
|
|
- experiment_name
|
|
- items
|
|
type: object
|
|
properties:
|
|
experiment_name:
|
|
minLength: 1
|
|
type: string
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
experiment_id:
|
|
type: string
|
|
description: "Optional experiment ID. If provided, items will be added to\
|
|
\ the existing experiment and experimentName will be ignored. If not provided\
|
|
\ or experiment with that ID doesn't exist, a new experiment will be created\
|
|
\ with the given experimentName"
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "Project for traces auto-created from items that provide evaluate_task_result\
|
|
\ (i.e. without an explicit trace). If null, the default project is used;\
|
|
\ relying on this fallback is deprecated, please provide project_name\
|
|
\ explicitly."
|
|
items:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentItemBulkRecord_ExperimentItemBulkWriteView"
|
|
FeedbackScore_ExperimentItemBulkWriteView:
|
|
required:
|
|
- name
|
|
- source
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
value_by_author:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ValueEntry_ExperimentItemBulkWriteView"
|
|
readOnly: true
|
|
JsonListString_ExperimentItemBulkWriteView:
|
|
type: object
|
|
anyOf:
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
type: object
|
|
- type: string
|
|
Span_ExperimentItemBulkWriteView:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_span_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_ExperimentItemBulkWriteView"
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
total_estimated_cost:
|
|
minimum: 0.0
|
|
exclusiveMinimum: false
|
|
type: number
|
|
total_estimated_cost_version:
|
|
type: string
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
Trace_ExperimentItemBulkWriteView:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
name:
|
|
type: string
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_ExperimentItemBulkWriteView"
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_ExperimentItemBulkWriteView"
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
thread_id:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
description: "Please provide either none, only one of evaluate_task_result or\
|
|
\ trace, but never both"
|
|
ValueEntry_ExperimentItemBulkWriteView:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
span_type:
|
|
type: string
|
|
span_id:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
author:
|
|
type: string
|
|
readOnly: true
|
|
AssertionScoreAverage_Public:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
description: Per-assertion average pass rates for test suite experiments. Null
|
|
for regular experiments.
|
|
readOnly: true
|
|
Comment_Public:
|
|
required:
|
|
- text
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
text:
|
|
minLength: 1
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
readOnly: true
|
|
ExperimentPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Experiment_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ExperimentScore_Public:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
Experiment_Public:
|
|
required:
|
|
- dataset_name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
nullable: true
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Creates project if it doesn't exist. Ignored
|
|
when project_id is provided.
|
|
name:
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- regular
|
|
- trial
|
|
- mini-batch
|
|
- mutation
|
|
evaluation_method:
|
|
type: string
|
|
enum:
|
|
- dataset
|
|
- evaluation_suite
|
|
optimization_id:
|
|
type: string
|
|
format: uuid
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage_Public"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment_Public"
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
dataset_item_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues_Public"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
total_estimated_cost_avg:
|
|
type: number
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
experiment_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ExperimentScore_Public"
|
|
prompt_version:
|
|
$ref: "#/components/schemas/PromptVersionLink_Public"
|
|
prompt_versions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersionLink_Public"
|
|
dataset_version_id:
|
|
type: string
|
|
description: "ID of the dataset version this experiment is linked to. If\
|
|
\ not provided at creation, experiment will be automatically linked to\
|
|
\ the latest version."
|
|
format: uuid
|
|
dataset_version_summary:
|
|
$ref: "#/components/schemas/DatasetVersionSummary_Public"
|
|
pass_rate:
|
|
type: number
|
|
description: Pass rate for test suite experiments (0.0-1.0). Null for regular
|
|
experiments.
|
|
readOnly: true
|
|
passed_count:
|
|
type: integer
|
|
description: Number of items that passed for test suite experiments. Null
|
|
for regular experiments.
|
|
format: int64
|
|
readOnly: true
|
|
total_count:
|
|
type: integer
|
|
description: Total number of items for test suite experiments. Null for
|
|
regular experiments.
|
|
format: int64
|
|
readOnly: true
|
|
assertion_scores:
|
|
type: array
|
|
description: Per-assertion average pass rates for test suite experiments.
|
|
Null for regular experiments.
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/AssertionScoreAverage_Public"
|
|
JsonListString_Public:
|
|
type: object
|
|
anyOf:
|
|
- type: object
|
|
- type: array
|
|
items:
|
|
type: object
|
|
- type: string
|
|
PromptVersionLink_Public:
|
|
type: object
|
|
properties:
|
|
prompt_version_id:
|
|
type: string
|
|
format: uuid
|
|
commit:
|
|
type: string
|
|
prompt_id:
|
|
type: string
|
|
format: uuid
|
|
prompt_name:
|
|
type: string
|
|
FeedbackScoreNames_Public:
|
|
type: object
|
|
properties:
|
|
scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScoreName_Public"
|
|
ScoreName_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
ExperimentGroupResponse:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/GroupContent"
|
|
details:
|
|
$ref: "#/components/schemas/GroupDetails"
|
|
GroupContent:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
GroupDetail:
|
|
type: object
|
|
properties:
|
|
group_sorting:
|
|
type: array
|
|
items:
|
|
type: string
|
|
GroupDetails:
|
|
type: object
|
|
properties:
|
|
groups_details:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GroupDetail"
|
|
AggregationData:
|
|
type: object
|
|
properties:
|
|
experiment_count:
|
|
type: integer
|
|
format: int64
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
total_estimated_cost:
|
|
type: number
|
|
total_estimated_cost_avg:
|
|
type: number
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues"
|
|
feedback_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
experiment_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
pass_rate_avg:
|
|
type: number
|
|
passed_count_sum:
|
|
type: integer
|
|
format: int64
|
|
total_count_sum:
|
|
type: integer
|
|
format: int64
|
|
ExperimentGroupAggregationsResponse:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/GroupContentWithAggregations"
|
|
GroupContentWithAggregations:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
aggregations:
|
|
$ref: "#/components/schemas/AggregationData"
|
|
IdsHolder:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
ExperimentItemStreamRequest:
|
|
required:
|
|
- experiment_name
|
|
type: object
|
|
properties:
|
|
experiment_name:
|
|
minLength: 1
|
|
type: string
|
|
limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
last_retrieved_id:
|
|
type: string
|
|
format: uuid
|
|
truncate:
|
|
type: boolean
|
|
description: "Truncate image included in either input, output or metadata"
|
|
default: true
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
ChunkedOutputJsonNode_Public:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: object
|
|
properties:
|
|
typeName:
|
|
type: string
|
|
closed:
|
|
type: boolean
|
|
ExperimentStreamRequest_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
format: int32
|
|
last_retrieved_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
BooleanFeedbackDefinition:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/BooleanFeedbackDetail"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
BooleanFeedbackDetail:
|
|
required:
|
|
- falseLabel
|
|
- trueLabel
|
|
type: object
|
|
properties:
|
|
trueLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for true/1 value
|
|
example: Pass
|
|
falseLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for false/0 value
|
|
example: Fail
|
|
CategoricalFeedbackDefinition:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/CategoricalFeedbackDetail"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
CategoricalFeedbackDetail:
|
|
required:
|
|
- categories
|
|
type: object
|
|
properties:
|
|
categories:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
Feedback:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional description for the feedback definition
|
|
example: This feedback definition is used to rate response quality
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
createdBy:
|
|
type: string
|
|
readOnly: true
|
|
lastUpdatedAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
lastUpdatedBy:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
numerical: "#/components/schemas/NumericalFeedbackDefinition"
|
|
categorical: "#/components/schemas/CategoricalFeedbackDefinition"
|
|
boolean: "#/components/schemas/BooleanFeedbackDefinition"
|
|
NumericalFeedbackDefinition:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/NumericalFeedbackDetail"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
NumericalFeedbackDetail:
|
|
required:
|
|
- max
|
|
- min
|
|
type: object
|
|
properties:
|
|
max:
|
|
type: number
|
|
min:
|
|
type: number
|
|
BooleanFeedbackDefinition_Create:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Create"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/BooleanFeedbackDetail_Create"
|
|
BooleanFeedbackDetail_Create:
|
|
required:
|
|
- falseLabel
|
|
- trueLabel
|
|
type: object
|
|
properties:
|
|
trueLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for true/1 value
|
|
example: Pass
|
|
falseLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for false/0 value
|
|
example: Fail
|
|
CategoricalFeedbackDefinition_Create:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Create"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/CategoricalFeedbackDetail_Create"
|
|
CategoricalFeedbackDetail_Create:
|
|
required:
|
|
- categories
|
|
type: object
|
|
properties:
|
|
categories:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
Feedback_Create:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional description for the feedback definition
|
|
example: This feedback definition is used to rate response quality
|
|
type:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
numerical: "#/components/schemas/NumericalFeedbackDefinition_Create"
|
|
categorical: "#/components/schemas/CategoricalFeedbackDefinition_Create"
|
|
boolean: "#/components/schemas/BooleanFeedbackDefinition_Create"
|
|
NumericalFeedbackDefinition_Create:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Create"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/NumericalFeedbackDetail_Create"
|
|
NumericalFeedbackDetail_Create:
|
|
required:
|
|
- max
|
|
- min
|
|
type: object
|
|
properties:
|
|
max:
|
|
type: number
|
|
min:
|
|
type: number
|
|
BooleanFeedbackDefinition_Public:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Public"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/BooleanFeedbackDetail_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
BooleanFeedbackDetail_Public:
|
|
required:
|
|
- falseLabel
|
|
- trueLabel
|
|
type: object
|
|
properties:
|
|
trueLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for true/1 value
|
|
example: Pass
|
|
falseLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for false/0 value
|
|
example: Fail
|
|
CategoricalFeedbackDefinition_Public:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Public"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/CategoricalFeedbackDetail_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
CategoricalFeedbackDetail_Public:
|
|
required:
|
|
- categories
|
|
type: object
|
|
properties:
|
|
categories:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
FeedbackDefinitionPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackObject_Public"
|
|
FeedbackObject_Public:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional description for the feedback definition
|
|
example: This feedback definition is used to rate response quality
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
createdBy:
|
|
type: string
|
|
readOnly: true
|
|
lastUpdatedAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
lastUpdatedBy:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
numerical: "#/components/schemas/NumericalFeedbackDefinition_Public"
|
|
categorical: "#/components/schemas/CategoricalFeedbackDefinition_Public"
|
|
boolean: "#/components/schemas/BooleanFeedbackDefinition_Public"
|
|
NumericalFeedbackDefinition_Public:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Public"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/NumericalFeedbackDetail_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
NumericalFeedbackDetail_Public:
|
|
required:
|
|
- max
|
|
- min
|
|
type: object
|
|
properties:
|
|
max:
|
|
type: number
|
|
min:
|
|
type: number
|
|
Feedback_Public:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional description for the feedback definition
|
|
example: This feedback definition is used to rate response quality
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
createdBy:
|
|
type: string
|
|
readOnly: true
|
|
lastUpdatedAt:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
lastUpdatedBy:
|
|
type: string
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
numerical: "#/components/schemas/NumericalFeedbackDefinition_Public"
|
|
categorical: "#/components/schemas/CategoricalFeedbackDefinition_Public"
|
|
boolean: "#/components/schemas/BooleanFeedbackDefinition_Public"
|
|
BooleanFeedbackDefinition_Update:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Update"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/BooleanFeedbackDetail_Update"
|
|
BooleanFeedbackDetail_Update:
|
|
required:
|
|
- falseLabel
|
|
- trueLabel
|
|
type: object
|
|
properties:
|
|
trueLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for true/1 value
|
|
example: Pass
|
|
falseLabel:
|
|
minLength: 1
|
|
type: string
|
|
description: Label for false/0 value
|
|
example: Fail
|
|
CategoricalFeedbackDefinition_Update:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Update"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/CategoricalFeedbackDetail_Update"
|
|
CategoricalFeedbackDetail_Update:
|
|
required:
|
|
- categories
|
|
type: object
|
|
properties:
|
|
categories:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
Feedback_Update:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional description for the feedback definition
|
|
example: This feedback definition is used to rate response quality
|
|
type:
|
|
type: string
|
|
enum:
|
|
- numerical
|
|
- categorical
|
|
- boolean
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
numerical: "#/components/schemas/NumericalFeedbackDefinition_Update"
|
|
categorical: "#/components/schemas/CategoricalFeedbackDefinition_Update"
|
|
boolean: "#/components/schemas/BooleanFeedbackDefinition_Update"
|
|
NumericalFeedbackDefinition_Update:
|
|
required:
|
|
- details
|
|
- name
|
|
- type
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Feedback_Update"
|
|
- type: object
|
|
properties:
|
|
details:
|
|
$ref: "#/components/schemas/NumericalFeedbackDetail_Update"
|
|
NumericalFeedbackDetail_Update:
|
|
required:
|
|
- max
|
|
- min
|
|
type: object
|
|
properties:
|
|
max:
|
|
type: number
|
|
min:
|
|
type: number
|
|
Guardrail:
|
|
required:
|
|
- config
|
|
- details
|
|
- entity_id
|
|
- name
|
|
- result
|
|
- secondary_id
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
secondary_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
enum:
|
|
- TOPIC
|
|
- PII
|
|
result:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
details:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
GuardrailBatch:
|
|
required:
|
|
- guardrails
|
|
type: object
|
|
properties:
|
|
guardrails:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Guardrail"
|
|
GuardrailBatch_Write:
|
|
required:
|
|
- guardrails
|
|
type: object
|
|
properties:
|
|
guardrails:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Guardrail_Write"
|
|
Guardrail_Write:
|
|
required:
|
|
- config
|
|
- details
|
|
- entity_id
|
|
- name
|
|
- result
|
|
- secondary_id
|
|
type: object
|
|
properties:
|
|
entity_id:
|
|
type: string
|
|
format: uuid
|
|
secondary_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
enum:
|
|
- TOPIC
|
|
- PII
|
|
result:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
config:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
details:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
ProviderApiKeyPage_Public:
|
|
type: object
|
|
properties:
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ProviderApiKey_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ProviderApiKey_Public:
|
|
required:
|
|
- provider
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
provider:
|
|
type: string
|
|
enum:
|
|
- openai
|
|
- anthropic
|
|
- gemini
|
|
- openrouter
|
|
- vertex-ai
|
|
- bedrock
|
|
- ollama
|
|
- custom-llm
|
|
- opik-free
|
|
api_key:
|
|
type: string
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
provider_name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
description: "Provider name - required for custom LLM and Bedrock providers\
|
|
\ to uniquely identify them (e.g., 'ollama', 'vllm', 'Bedrock us-east-1').\
|
|
\ Must not be blank for custom and Bedrock providers. Should not be set\
|
|
\ for standard providers (OpenAI, Anthropic, etc.). This requirement is\
|
|
\ conditional and validation is enforced programmatically."
|
|
example: ollama
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
configuration:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
base_url:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
read_only:
|
|
type: boolean
|
|
description: "If true, this provider is system-managed and cannot be edited\
|
|
\ or deleted"
|
|
readOnly: true
|
|
ProviderApiKey:
|
|
required:
|
|
- provider
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
provider:
|
|
type: string
|
|
enum:
|
|
- openai
|
|
- anthropic
|
|
- gemini
|
|
- openrouter
|
|
- vertex-ai
|
|
- bedrock
|
|
- ollama
|
|
- custom-llm
|
|
- opik-free
|
|
api_key:
|
|
type: string
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
provider_name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
description: "Provider name - required for custom LLM and Bedrock providers\
|
|
\ to uniquely identify them (e.g., 'ollama', 'vllm', 'Bedrock us-east-1').\
|
|
\ Must not be blank for custom and Bedrock providers. Should not be set\
|
|
\ for standard providers (OpenAI, Anthropic, etc.). This requirement is\
|
|
\ conditional and validation is enforced programmatically."
|
|
example: ollama
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
configuration:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
base_url:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
read_only:
|
|
type: boolean
|
|
description: "If true, this provider is system-managed and cannot be edited\
|
|
\ or deleted"
|
|
readOnly: true
|
|
ProviderApiKey_Write:
|
|
required:
|
|
- provider
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
enum:
|
|
- openai
|
|
- anthropic
|
|
- gemini
|
|
- openrouter
|
|
- vertex-ai
|
|
- bedrock
|
|
- ollama
|
|
- custom-llm
|
|
- opik-free
|
|
api_key:
|
|
type: string
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
provider_name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
description: "Provider name - required for custom LLM and Bedrock providers\
|
|
\ to uniquely identify them (e.g., 'ollama', 'vllm', 'Bedrock us-east-1').\
|
|
\ Must not be blank for custom and Bedrock providers. Should not be set\
|
|
\ for standard providers (OpenAI, Anthropic, etc.). This requirement is\
|
|
\ conditional and validation is enforced programmatically."
|
|
example: ollama
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
configuration:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
base_url:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
ProviderApiKeyUpdate:
|
|
type: object
|
|
properties:
|
|
api_key:
|
|
type: string
|
|
name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
provider_name:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
description: "Provider name - can be set to migrate legacy custom LLM or\
|
|
\ Bedrock providers to the new multi-provider format. Once set, it cannot\
|
|
\ be changed. Should only be set for custom LLM and Bedrock providers."
|
|
example: ollama
|
|
headers:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
configuration:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
base_url:
|
|
type: string
|
|
LocalRunnerLogEntry:
|
|
required:
|
|
- stream
|
|
- text
|
|
type: object
|
|
properties:
|
|
stream:
|
|
minLength: 1
|
|
type: string
|
|
text:
|
|
minLength: 1
|
|
type: string
|
|
BridgeCommandSubmitResponse:
|
|
type: object
|
|
properties:
|
|
command_id:
|
|
type: string
|
|
format: uuid
|
|
BridgeCommandSubmitRequest:
|
|
required:
|
|
- args
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- ReadFile
|
|
- WriteFile
|
|
- EditFile
|
|
- ListFiles
|
|
- SearchFiles
|
|
- Exec
|
|
args:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
timeout_seconds:
|
|
type: integer
|
|
format: int32
|
|
CreateLocalRunnerJobRequest:
|
|
required:
|
|
- agent_name
|
|
- project_id
|
|
type: object
|
|
properties:
|
|
agent_name:
|
|
minLength: 1
|
|
type: string
|
|
inputs:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
mask_id:
|
|
type: string
|
|
description: Deprecated. Use prompt_masks to pass one or more mask overlays
|
|
keyed by prompt id.
|
|
format: uuid
|
|
deprecated: true
|
|
prompt_masks:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "Mask overlays to apply during agent execution, keyed by\
|
|
\ prompt id."
|
|
format: uuid
|
|
description: "Mask overlays to apply during agent execution, keyed by prompt\
|
|
\ id."
|
|
blueprint_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/LocalRunnerJobMetadata"
|
|
LocalRunnerJobMetadata:
|
|
type: object
|
|
properties:
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_version_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_item_version_id:
|
|
type: string
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
format: uuid
|
|
BridgeCommand:
|
|
type: object
|
|
properties:
|
|
command_id:
|
|
type: string
|
|
format: uuid
|
|
runner_id:
|
|
type: string
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- ReadFile
|
|
- WriteFile
|
|
- EditFile
|
|
- ListFiles
|
|
- SearchFiles
|
|
- Exec
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- picked_up
|
|
- completed
|
|
- failed
|
|
- timed_out
|
|
args:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
result:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
error:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
timeout_seconds:
|
|
type: integer
|
|
format: int32
|
|
submitted_at:
|
|
type: string
|
|
format: date-time
|
|
picked_up_at:
|
|
type: string
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
duration_ms:
|
|
type: integer
|
|
format: int64
|
|
LocalRunnerJob:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
runner_id:
|
|
type: string
|
|
format: uuid
|
|
agent_name:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- running
|
|
- completed
|
|
- failed
|
|
- cancelled
|
|
inputs:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
result:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
error:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
mask_id:
|
|
type: string
|
|
description: Deprecated. Use prompt_masks to read one or more mask overlays
|
|
keyed by prompt id.
|
|
format: uuid
|
|
deprecated: true
|
|
prompt_masks:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "Mask overlays to apply during agent execution, keyed by\
|
|
\ prompt id."
|
|
format: uuid
|
|
description: "Mask overlays to apply during agent execution, keyed by prompt\
|
|
\ id."
|
|
blueprint_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/LocalRunnerJobMetadata"
|
|
timeout:
|
|
type: integer
|
|
format: int32
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
started_at:
|
|
type: string
|
|
format: date-time
|
|
completed_at:
|
|
type: string
|
|
format: date-time
|
|
Agent:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
language:
|
|
type: string
|
|
executable:
|
|
type: string
|
|
source_file:
|
|
type: string
|
|
params:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Param"
|
|
timeout:
|
|
type: integer
|
|
format: int32
|
|
LocalRunner:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pairing
|
|
- connected
|
|
- disconnected
|
|
connected_at:
|
|
type: string
|
|
format: date-time
|
|
agents:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Agent"
|
|
capabilities:
|
|
type: array
|
|
items:
|
|
type: string
|
|
checklist:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
type:
|
|
type: string
|
|
enum:
|
|
- connect
|
|
- endpoint
|
|
Param:
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
presence:
|
|
type: string
|
|
enum:
|
|
- required
|
|
- optional
|
|
LocalRunnerHeartbeatResponse:
|
|
type: object
|
|
properties:
|
|
cancelled_job_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
LocalRunnerHeartbeatRequest:
|
|
type: object
|
|
properties:
|
|
capabilities:
|
|
type: array
|
|
items:
|
|
type: string
|
|
LocalRunnerJobPage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LocalRunnerJob"
|
|
LocalRunnerPage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LocalRunner"
|
|
BridgeCommandBatchResponse:
|
|
type: object
|
|
properties:
|
|
commands:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/BridgeCommandItem"
|
|
BridgeCommandItem:
|
|
type: object
|
|
properties:
|
|
command_id:
|
|
type: string
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- ReadFile
|
|
- WriteFile
|
|
- EditFile
|
|
- ListFiles
|
|
- SearchFiles
|
|
- Exec
|
|
args:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
timeout_seconds:
|
|
type: integer
|
|
format: int32
|
|
submitted_at:
|
|
type: string
|
|
format: date-time
|
|
BridgeCommandNextRequest:
|
|
type: object
|
|
properties:
|
|
max_commands:
|
|
type: integer
|
|
format: int32
|
|
BridgeCommandResultRequest:
|
|
required:
|
|
- status
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- picked_up
|
|
- completed
|
|
- failed
|
|
- timed_out
|
|
result:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
error:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
duration_ms:
|
|
type: integer
|
|
format: int64
|
|
LocalRunnerJobResultRequest:
|
|
required:
|
|
- status
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- running
|
|
- completed
|
|
- failed
|
|
- cancelled
|
|
result:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
error:
|
|
type: string
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
ManualEvaluationResponse:
|
|
type: object
|
|
properties:
|
|
entities_queued:
|
|
type: integer
|
|
description: Number of entities queued for evaluation
|
|
format: int32
|
|
example: 5
|
|
rules_applied:
|
|
type: integer
|
|
description: Number of rules that will be applied
|
|
format: int32
|
|
example: 2
|
|
ManualEvaluationRequest:
|
|
required:
|
|
- entity_ids
|
|
- entity_type
|
|
- project_id
|
|
- rule_ids
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
description: Project ID
|
|
format: uuid
|
|
example: 550e8400-e29b-41d4-a716-446655440000
|
|
entity_ids:
|
|
minItems: 1
|
|
type: array
|
|
description: List of entity IDs (trace IDs or thread IDs) to evaluate
|
|
example:
|
|
- 550e8400-e29b-41d4-a716-446655440000
|
|
- 550e8400-e29b-41d4-a716-446655440001
|
|
items:
|
|
type: string
|
|
description: List of entity IDs (trace IDs or thread IDs) to evaluate
|
|
format: uuid
|
|
rule_ids:
|
|
minItems: 1
|
|
type: array
|
|
description: List of automation rule IDs to apply
|
|
example:
|
|
- 660e8400-e29b-41d4-a716-446655440000
|
|
items:
|
|
type: string
|
|
description: List of automation rule IDs to apply
|
|
format: uuid
|
|
entity_type:
|
|
type: string
|
|
description: Type of entity to evaluate (trace or thread)
|
|
example: trace
|
|
enum:
|
|
- trace
|
|
- thread
|
|
- span
|
|
OllamaModel:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description: Model name
|
|
example: llama2
|
|
size:
|
|
type: integer
|
|
description: Model size in bytes
|
|
format: int64
|
|
digest:
|
|
type: string
|
|
description: Model digest/hash
|
|
modified_at:
|
|
type: string
|
|
description: Model modification date
|
|
format: date-time
|
|
description: Ollama model information
|
|
OllamaInstanceBaseUrlRequest:
|
|
required:
|
|
- base_url
|
|
type: object
|
|
properties:
|
|
base_url:
|
|
minLength: 1
|
|
type: string
|
|
description: "Base URL of the Ollama instance. May include /v1 suffix which\
|
|
\ will be automatically removed for connection testing. For inference,\
|
|
\ use the URL with /v1 suffix for OpenAI-compatible endpoints."
|
|
example: http://localhost:11434/v1
|
|
api_key:
|
|
type: string
|
|
description: "Optional API key for authenticated Ollama instances. If provided,\
|
|
\ will be sent as Bearer token in Authorization header."
|
|
description: Request with Ollama instance base URL for connection testing or
|
|
model discovery.
|
|
OllamaConnectionTestResponse:
|
|
type: object
|
|
properties:
|
|
connected:
|
|
type: boolean
|
|
description: Whether the connection was successful
|
|
version:
|
|
type: string
|
|
description: Server version (returned even if connection failed or version
|
|
is incompatible)
|
|
error_message:
|
|
type: string
|
|
description: Error message if connection failed
|
|
description: Response from Ollama connection test.
|
|
ExportTraceServiceRequest:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
Optimization:
|
|
required:
|
|
- dataset_name
|
|
- objective_name
|
|
- status
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Creates project if it doesn't exist. Ignored
|
|
when project_id is provided.
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
objective_name:
|
|
minLength: 1
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
- initialized
|
|
- error
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
studio_config:
|
|
$ref: "#/components/schemas/OptimizationStudioConfig"
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
num_trials:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
experiment_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
baseline_objective_score:
|
|
type: number
|
|
readOnly: true
|
|
best_objective_score:
|
|
type: number
|
|
readOnly: true
|
|
baseline_duration:
|
|
type: number
|
|
readOnly: true
|
|
best_duration:
|
|
type: number
|
|
readOnly: true
|
|
baseline_cost:
|
|
type: number
|
|
readOnly: true
|
|
best_cost:
|
|
type: number
|
|
readOnly: true
|
|
total_optimization_cost:
|
|
type: number
|
|
readOnly: true
|
|
OptimizationStudioConfig:
|
|
required:
|
|
- dataset_name
|
|
- evaluation
|
|
- llm_model
|
|
- optimizer
|
|
- prompt
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
prompt:
|
|
$ref: "#/components/schemas/StudioPrompt"
|
|
llm_model:
|
|
$ref: "#/components/schemas/StudioLlmModel"
|
|
evaluation:
|
|
$ref: "#/components/schemas/StudioEvaluation"
|
|
optimizer:
|
|
$ref: "#/components/schemas/StudioOptimizer"
|
|
StudioEvaluation:
|
|
required:
|
|
- metrics
|
|
type: object
|
|
properties:
|
|
metrics:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMetric"
|
|
StudioLlmModel:
|
|
required:
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
StudioMessage:
|
|
required:
|
|
- content
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
minLength: 1
|
|
type: string
|
|
content:
|
|
minLength: 1
|
|
type: string
|
|
StudioMetric:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
StudioOptimizer:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
StudioPrompt:
|
|
required:
|
|
- messages
|
|
type: object
|
|
properties:
|
|
messages:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMessage"
|
|
OptimizationStudioConfig_Write:
|
|
required:
|
|
- dataset_name
|
|
- evaluation
|
|
- llm_model
|
|
- optimizer
|
|
- prompt
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
prompt:
|
|
$ref: "#/components/schemas/StudioPrompt_Write"
|
|
llm_model:
|
|
$ref: "#/components/schemas/StudioLlmModel_Write"
|
|
evaluation:
|
|
$ref: "#/components/schemas/StudioEvaluation_Write"
|
|
optimizer:
|
|
$ref: "#/components/schemas/StudioOptimizer_Write"
|
|
Optimization_Write:
|
|
required:
|
|
- dataset_name
|
|
- objective_name
|
|
- status
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: Project name. Creates project if it doesn't exist. Ignored
|
|
when project_id is provided.
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
objective_name:
|
|
minLength: 1
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
- initialized
|
|
- error
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
studio_config:
|
|
$ref: "#/components/schemas/OptimizationStudioConfig_Write"
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
StudioEvaluation_Write:
|
|
required:
|
|
- metrics
|
|
type: object
|
|
properties:
|
|
metrics:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMetric_Write"
|
|
StudioLlmModel_Write:
|
|
required:
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
StudioMessage_Write:
|
|
required:
|
|
- content
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
minLength: 1
|
|
type: string
|
|
content:
|
|
minLength: 1
|
|
type: string
|
|
StudioMetric_Write:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
StudioOptimizer_Write:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
StudioPrompt_Write:
|
|
required:
|
|
- messages
|
|
type: object
|
|
properties:
|
|
messages:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMessage_Write"
|
|
OptimizationPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Optimization_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
OptimizationStudioConfig_Public:
|
|
required:
|
|
- dataset_name
|
|
- evaluation
|
|
- llm_model
|
|
- optimizer
|
|
- prompt
|
|
type: object
|
|
properties:
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
prompt:
|
|
$ref: "#/components/schemas/StudioPrompt_Public"
|
|
llm_model:
|
|
$ref: "#/components/schemas/StudioLlmModel_Public"
|
|
evaluation:
|
|
$ref: "#/components/schemas/StudioEvaluation_Public"
|
|
optimizer:
|
|
$ref: "#/components/schemas/StudioOptimizer_Public"
|
|
Optimization_Public:
|
|
required:
|
|
- dataset_name
|
|
- objective_name
|
|
- status
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
dataset_name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
objective_name:
|
|
minLength: 1
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
- initialized
|
|
- error
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
studio_config:
|
|
$ref: "#/components/schemas/OptimizationStudioConfig_Public"
|
|
dataset_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
num_trials:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage_Public"
|
|
experiment_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
baseline_objective_score:
|
|
type: number
|
|
readOnly: true
|
|
best_objective_score:
|
|
type: number
|
|
readOnly: true
|
|
baseline_duration:
|
|
type: number
|
|
readOnly: true
|
|
best_duration:
|
|
type: number
|
|
readOnly: true
|
|
baseline_cost:
|
|
type: number
|
|
readOnly: true
|
|
best_cost:
|
|
type: number
|
|
readOnly: true
|
|
total_optimization_cost:
|
|
type: number
|
|
readOnly: true
|
|
StudioEvaluation_Public:
|
|
required:
|
|
- metrics
|
|
type: object
|
|
properties:
|
|
metrics:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMetric_Public"
|
|
StudioLlmModel_Public:
|
|
required:
|
|
- model
|
|
type: object
|
|
properties:
|
|
model:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
StudioMessage_Public:
|
|
required:
|
|
- content
|
|
- role
|
|
type: object
|
|
properties:
|
|
role:
|
|
minLength: 1
|
|
type: string
|
|
content:
|
|
minLength: 1
|
|
type: string
|
|
StudioMetric_Public:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
StudioOptimizer_Public:
|
|
required:
|
|
- type
|
|
type: object
|
|
properties:
|
|
type:
|
|
minLength: 1
|
|
type: string
|
|
parameters:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
StudioPrompt_Public:
|
|
required:
|
|
- messages
|
|
type: object
|
|
properties:
|
|
messages:
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StudioMessage_Public"
|
|
OptimizationStudioLog:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
last_modified:
|
|
type: string
|
|
format: date-time
|
|
expires_at:
|
|
type: string
|
|
format: date-time
|
|
OptimizationUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- completed
|
|
- cancelled
|
|
- initialized
|
|
- error
|
|
ActivateRequest:
|
|
required:
|
|
- hmac
|
|
- runner_name
|
|
type: object
|
|
properties:
|
|
runner_name:
|
|
maxLength: 128
|
|
minLength: 0
|
|
type: string
|
|
hmac:
|
|
maxLength: 44
|
|
minLength: 43
|
|
type: string
|
|
CreateSessionResponse:
|
|
type: object
|
|
properties:
|
|
session_id:
|
|
type: string
|
|
format: uuid
|
|
runner_id:
|
|
type: string
|
|
format: uuid
|
|
CreateSessionRequest:
|
|
required:
|
|
- activation_key
|
|
- project_id
|
|
- type
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
activation_key:
|
|
maxLength: 44
|
|
minLength: 43
|
|
type: string
|
|
ttl_seconds:
|
|
maximum: 600
|
|
minimum: 60
|
|
type: integer
|
|
format: int32
|
|
type:
|
|
type: string
|
|
enum:
|
|
- connect
|
|
- endpoint
|
|
PromptPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Prompt_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
Prompt_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
template_structure:
|
|
type: string
|
|
description: "Template structure type: 'text' or 'chat'. Immutable after\
|
|
\ creation."
|
|
default: text
|
|
enum:
|
|
- text
|
|
- chat
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
version_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
ErrorCountWithDeviation:
|
|
type: object
|
|
properties:
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
deviation:
|
|
type: integer
|
|
format: int64
|
|
deviation_percentage:
|
|
type: integer
|
|
format: int64
|
|
Project:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_trace_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues"
|
|
total_estimated_cost:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
total_estimated_cost_sum:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
readOnly: true
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
thread_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
guardrails_failed_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
error_count:
|
|
$ref: "#/components/schemas/ErrorCountWithDeviation"
|
|
Project_Write:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
ProjectPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Project_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
Project_Public:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_trace_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
FeedbackScoreNames:
|
|
type: object
|
|
properties:
|
|
scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScoreName"
|
|
ScoreName:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
TokenUsageNames:
|
|
type: object
|
|
properties:
|
|
names:
|
|
type: array
|
|
items:
|
|
type: string
|
|
KpiCardResponse:
|
|
type: object
|
|
properties:
|
|
stats:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/KpiMetric"
|
|
KpiMetric:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- count
|
|
- errors
|
|
- avg_duration
|
|
- total_cost
|
|
current_value:
|
|
type: number
|
|
description: "Metric value for the current period. Unit depends on `type`:\
|
|
\ `count` is an integer count; `errors` is a percentage in [0, 100]; `avg_duration`\
|
|
\ is milliseconds; `total_cost` is in USD."
|
|
format: double
|
|
previous_value:
|
|
type: number
|
|
description: Metric value for the immediately preceding period of equal
|
|
length. Same unit as `current_value`.
|
|
format: double
|
|
KpiCardRequest:
|
|
required:
|
|
- entity_type
|
|
- interval_start
|
|
type: object
|
|
properties:
|
|
entity_type:
|
|
type: string
|
|
enum:
|
|
- traces
|
|
- spans
|
|
- threads
|
|
filters:
|
|
type: string
|
|
interval_start:
|
|
type: string
|
|
format: date-time
|
|
interval_end:
|
|
type: string
|
|
format: date-time
|
|
DataPointNumber_Public:
|
|
required:
|
|
- time
|
|
type: object
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
value:
|
|
type: number
|
|
ProjectMetricResponse_Public:
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
metric_type:
|
|
type: string
|
|
enum:
|
|
- FEEDBACK_SCORES
|
|
- TRACE_COUNT
|
|
- TOKEN_USAGE
|
|
- DURATION
|
|
- COST
|
|
- GUARDRAILS_FAILED_COUNT
|
|
- THREAD_COUNT
|
|
- THREAD_DURATION
|
|
- THREAD_FEEDBACK_SCORES
|
|
- SPAN_FEEDBACK_SCORES
|
|
- SPAN_COUNT
|
|
- SPAN_DURATION
|
|
- SPAN_TOKEN_USAGE
|
|
- TRACE_AVERAGE_DURATION
|
|
- TRACE_ERROR_RATE
|
|
- SPAN_AVERAGE_DURATION
|
|
- SPAN_COST
|
|
- SPAN_ERROR_RATE
|
|
- THREAD_AVERAGE_DURATION
|
|
- THREAD_COST
|
|
interval:
|
|
type: string
|
|
enum:
|
|
- HOURLY
|
|
- DAILY
|
|
- WEEKLY
|
|
- TOTAL
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ResultsNumber_Public"
|
|
ResultsNumber_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
data:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DataPointNumber_Public"
|
|
BreakdownConfig_Public:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
enum:
|
|
- none
|
|
- tags
|
|
- metadata
|
|
- name
|
|
- error_info
|
|
- error_type
|
|
- model
|
|
- provider
|
|
- type
|
|
metadata_key:
|
|
type: string
|
|
sub_metric:
|
|
type: string
|
|
ProjectMetricRequest_Public:
|
|
type: object
|
|
properties:
|
|
metric_type:
|
|
type: string
|
|
enum:
|
|
- FEEDBACK_SCORES
|
|
- TRACE_COUNT
|
|
- TOKEN_USAGE
|
|
- DURATION
|
|
- COST
|
|
- GUARDRAILS_FAILED_COUNT
|
|
- THREAD_COUNT
|
|
- THREAD_DURATION
|
|
- THREAD_FEEDBACK_SCORES
|
|
- SPAN_FEEDBACK_SCORES
|
|
- SPAN_COUNT
|
|
- SPAN_DURATION
|
|
- SPAN_TOKEN_USAGE
|
|
- TRACE_AVERAGE_DURATION
|
|
- TRACE_ERROR_RATE
|
|
- SPAN_AVERAGE_DURATION
|
|
- SPAN_COST
|
|
- SPAN_ERROR_RATE
|
|
- THREAD_AVERAGE_DURATION
|
|
- THREAD_COST
|
|
interval:
|
|
type: string
|
|
enum:
|
|
- HOURLY
|
|
- DAILY
|
|
- WEEKLY
|
|
- TOTAL
|
|
interval_start:
|
|
type: string
|
|
format: date-time
|
|
interval_end:
|
|
type: string
|
|
format: date-time
|
|
span_filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Public"
|
|
trace_filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Public"
|
|
thread_filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter_Public"
|
|
breakdown:
|
|
$ref: "#/components/schemas/BreakdownConfig_Public"
|
|
ProjectStatsSummary:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ProjectStatsSummaryItem"
|
|
ProjectStatsSummaryItem:
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
feedback_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage"
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues"
|
|
total_estimated_cost:
|
|
type: number
|
|
format: double
|
|
total_estimated_cost_sum:
|
|
type: number
|
|
format: double
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
thread_count:
|
|
type: integer
|
|
format: int64
|
|
guardrails_failed_count:
|
|
type: integer
|
|
format: int64
|
|
error_count:
|
|
$ref: "#/components/schemas/ErrorCountWithDeviation"
|
|
ErrorCountWithDeviation_Detailed:
|
|
type: object
|
|
properties:
|
|
count:
|
|
type: integer
|
|
format: int64
|
|
deviation:
|
|
type: integer
|
|
format: int64
|
|
deviation_percentage:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
FeedbackScoreAverage_Detailed:
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
value:
|
|
type: number
|
|
readOnly: true
|
|
PercentageValues_Detailed:
|
|
type: object
|
|
properties:
|
|
p50:
|
|
type: number
|
|
p90:
|
|
type: number
|
|
p99:
|
|
type: number
|
|
readOnly: true
|
|
Project_Detailed:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_trace_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreAverage_Detailed"
|
|
duration:
|
|
$ref: "#/components/schemas/PercentageValues_Detailed"
|
|
total_estimated_cost:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
total_estimated_cost_sum:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: number
|
|
format: double
|
|
readOnly: true
|
|
readOnly: true
|
|
trace_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
thread_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
guardrails_failed_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
error_count:
|
|
$ref: "#/components/schemas/ErrorCountWithDeviation_Detailed"
|
|
ErrorMessage_Detailed:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ProjectRetrieve_Detailed:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
includeStats:
|
|
type: boolean
|
|
ProjectUpdate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
visibility:
|
|
type: string
|
|
enum:
|
|
- private
|
|
- public
|
|
Prompt:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "For project scope, specify either project_id or project_name.\
|
|
\ If project_name is provided and the project does not exist, it will\
|
|
\ be created. Ignored when project_id is provided. If neither is provided,\
|
|
\ the prompt is created at workspace level."
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
template:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
change_description:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- mustache
|
|
- jinja2
|
|
- python
|
|
template_structure:
|
|
type: string
|
|
description: "Template structure type: 'text' or 'chat'. Immutable after\
|
|
\ creation."
|
|
default: text
|
|
enum:
|
|
- text
|
|
- chat
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
version_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
latest_version:
|
|
$ref: "#/components/schemas/PromptVersion"
|
|
requested_version:
|
|
$ref: "#/components/schemas/PromptVersion"
|
|
PromptVersion:
|
|
required:
|
|
- template
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: "version unique identifier, generated if absent"
|
|
format: uuid
|
|
prompt_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
commit:
|
|
pattern: "^[a-zA-Z0-9]{8}$"
|
|
type: string
|
|
description: "version short unique identifier, generated if absent. it must\
|
|
\ be 8 characters long"
|
|
version_number:
|
|
type: string
|
|
description: sequential version number in the format v<N>; null for masks
|
|
readOnly: true
|
|
template:
|
|
minLength: 1
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
type:
|
|
type: string
|
|
enum:
|
|
- mustache
|
|
- jinja2
|
|
- python
|
|
version_type:
|
|
type: string
|
|
description: version type discriminator; defaults to prompt_version
|
|
enum:
|
|
- prompt_version
|
|
- mask
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description: "Deprecated: use 'environments' instead"
|
|
deprecated: true
|
|
environments:
|
|
maxItems: 100
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
change_description:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
variables:
|
|
uniqueItems: true
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
readOnly: true
|
|
template_structure:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- text
|
|
- chat
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
readOnly: true
|
|
Prompt_Write:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "For project scope, specify either project_id or project_name.\
|
|
\ If project_name is provided and the project does not exist, it will\
|
|
\ be created. Ignored when project_id is provided. If neither is provided,\
|
|
\ the prompt is created at workspace level."
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
template:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode_Write"
|
|
change_description:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- mustache
|
|
- jinja2
|
|
- python
|
|
template_structure:
|
|
type: string
|
|
description: "Template structure type: 'text' or 'chat'. Immutable after\
|
|
\ creation."
|
|
default: text
|
|
enum:
|
|
- text
|
|
- chat
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
JsonNode_Detail:
|
|
type: object
|
|
PromptVersion_Detail:
|
|
required:
|
|
- template
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: "version unique identifier, generated if absent"
|
|
format: uuid
|
|
prompt_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
commit:
|
|
pattern: "^[a-zA-Z0-9]{8}$"
|
|
type: string
|
|
description: "version short unique identifier, generated if absent. it must\
|
|
\ be 8 characters long"
|
|
version_number:
|
|
type: string
|
|
description: sequential version number in the format v<N>; null for masks
|
|
readOnly: true
|
|
template:
|
|
minLength: 1
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode_Detail"
|
|
type:
|
|
type: string
|
|
enum:
|
|
- mustache
|
|
- jinja2
|
|
- python
|
|
version_type:
|
|
type: string
|
|
description: version type discriminator; defaults to prompt_version
|
|
enum:
|
|
- prompt_version
|
|
- mask
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description: "Deprecated: use 'environments' instead"
|
|
deprecated: true
|
|
environments:
|
|
maxItems: 100
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
change_description:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
variables:
|
|
uniqueItems: true
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
readOnly: true
|
|
template_structure:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- text
|
|
- chat
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
ErrorMessage_Detail:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
CreatePromptVersion_Detail:
|
|
required:
|
|
- name
|
|
- version
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
version:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
template_structure:
|
|
type: string
|
|
description: "Template structure for the prompt: 'text' or 'chat'. Note:\
|
|
\ This field is only used when creating a new prompt. If a prompt with\
|
|
\ the given name already exists, this field is ignored and the existing\
|
|
\ prompt's template structure is used. Template structure is immutable\
|
|
\ after prompt creation."
|
|
default: text
|
|
enum:
|
|
- text
|
|
- chat
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If provided, scopes the prompt to the specified project. Ignored\
|
|
\ when project_id is provided."
|
|
Prompt_Detail:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
description: Project ID. Takes precedence over project_name when both are
|
|
provided.
|
|
format: uuid
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
template_structure:
|
|
type: string
|
|
description: "Template structure type: 'text' or 'chat'. Immutable after\
|
|
\ creation."
|
|
default: text
|
|
enum:
|
|
- text
|
|
- chat
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
version_count:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
latest_version:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
requested_version:
|
|
$ref: "#/components/schemas/PromptVersion_Detail"
|
|
PromptVersionPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PromptVersion_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
PromptVersion_Public:
|
|
required:
|
|
- template
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: "version unique identifier, generated if absent"
|
|
format: uuid
|
|
prompt_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
commit:
|
|
pattern: "^[a-zA-Z0-9]{8}$"
|
|
type: string
|
|
description: "version short unique identifier, generated if absent. it must\
|
|
\ be 8 characters long"
|
|
version_number:
|
|
type: string
|
|
description: sequential version number in the format v<N>; null for masks
|
|
readOnly: true
|
|
template:
|
|
minLength: 1
|
|
type: string
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonNode_Public"
|
|
type:
|
|
type: string
|
|
enum:
|
|
- mustache
|
|
- jinja2
|
|
- python
|
|
version_type:
|
|
type: string
|
|
description: version type discriminator; defaults to prompt_version
|
|
enum:
|
|
- prompt_version
|
|
- mask
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description: "Deprecated: use 'environments' instead"
|
|
deprecated: true
|
|
environments:
|
|
maxItems: 100
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
change_description:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
template_structure:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- text
|
|
- chat
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
PromptVersionCommitsRequest_Public:
|
|
required:
|
|
- commits
|
|
type: object
|
|
properties:
|
|
commits:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
PromptVersionRetrieve_Detail:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
commit:
|
|
type: string
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description: "If provided, resolves to the version mapped to this environment\
|
|
\ for the prompt; mutually exclusive with commit and version_number"
|
|
version_number:
|
|
maxLength: 10
|
|
minLength: 0
|
|
pattern: v\d+
|
|
type: string
|
|
description: "If provided, resolves to the version with this sequential\
|
|
\ number (e.g. v3); mutually exclusive with commit and environment"
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If provided, scopes the search to the specified project"
|
|
PromptVersionIdsRequest_Detail:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
PromptVersionEnvironmentUpdate:
|
|
required:
|
|
- environments
|
|
type: object
|
|
properties:
|
|
environments:
|
|
maxItems: 100
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 150
|
|
minLength: 0
|
|
pattern: "^[A-Za-z0-9_-]+$"
|
|
type: string
|
|
description: |
|
|
Replace the full set of environments assigned to a prompt version.
|
|
The provided set becomes the new complete set of environments for this version.
|
|
- Non-empty set: assigns each environment to this version; if another version of the same prompt currently owns any of those environments, ownership is moved atomically.
|
|
- Empty set: clears all environments from this version.
|
|
All environments must already exist in the workspace registry; unknown names return 404.
|
|
Prompt_Updatable:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
description:
|
|
maxLength: 255
|
|
minLength: 0
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
PromptVersionBatchUpdate:
|
|
required:
|
|
- ids
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: IDs of prompt versions to update
|
|
items:
|
|
type: string
|
|
description: IDs of prompt versions to update
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/PromptVersionUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: |
|
|
Tag merge behavior:
|
|
- true: Add new tags to existing tags (union)
|
|
- false: Replace all existing tags with new tags (default behaviour if not provided)
|
|
default: false
|
|
description: |
|
|
Request to update one or more prompt versions.
|
|
Note: Prompt versions are immutable by design - only organizational properties (such as tags etc.) can be updated.
|
|
PromptVersionUpdate:
|
|
type: object
|
|
properties:
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: |
|
|
Tags to set or merge with existing tags. Follows PATCH semantics:
|
|
- If merge_tags is true, these tags will be added to existing tags.
|
|
- If merge_tags is false, these tags will replace all existing tags.
|
|
- null: preserve existing tags (no change).
|
|
- empty set: clear all tags when merge_tags is false.
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: |
|
|
Tags to set or merge with existing tags. Follows PATCH semantics:
|
|
- If merge_tags is true, these tags will be added to existing tags.
|
|
- If merge_tags is false, these tags will replace all existing tags.
|
|
- null: preserve existing tags (no change).
|
|
- empty set: clear all tags when merge_tags is false.
|
|
description: |
|
|
Update to apply to prompt versions.
|
|
Note: Prompt versions are immutable by design.
|
|
Only organizational properties (such as tags etc.) can be updated.
|
|
Core properties like template, metadata etc. cannot be modified after creation.
|
|
RecentActivityItem_Public:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- trace_daily
|
|
- experiment
|
|
- dataset_version
|
|
- test_suite_version
|
|
- alert_event
|
|
- optimization
|
|
- prompt_version
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
resource_id:
|
|
type: string
|
|
format: uuid
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
RecentActivityPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/RecentActivityItem_Public"
|
|
ReportFailure:
|
|
required:
|
|
- project_id
|
|
- reason
|
|
- type
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
type:
|
|
type: string
|
|
enum:
|
|
- agent_insights
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
reason:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
detail:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
ReportFailurePage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ReportFailure"
|
|
ReportCompleteRequest:
|
|
required:
|
|
- status
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- completed
|
|
- failed
|
|
session_id:
|
|
type: string
|
|
recommended_actions:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
GenerateReportResponse:
|
|
type: object
|
|
properties:
|
|
reportId:
|
|
type: string
|
|
format: uuid
|
|
description: Response for report generation trigger
|
|
ReportPreference:
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
enabled:
|
|
type: boolean
|
|
schedule_time:
|
|
pattern: "\\d{2}:\\d{2}:\\d{2}"
|
|
type: string
|
|
custom_prompt:
|
|
maxLength: 5000
|
|
minLength: 0
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
OllieReport:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
session_id:
|
|
type: string
|
|
content:
|
|
type: string
|
|
recommended_actions:
|
|
$ref: "#/components/schemas/JsonNode"
|
|
status:
|
|
type: string
|
|
enum:
|
|
- pending
|
|
- completed
|
|
- failed
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
OllieReportPage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/OllieReport"
|
|
RetentionRule_Public:
|
|
required:
|
|
- retention
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
workspace_id:
|
|
type: string
|
|
readOnly: true
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
level:
|
|
type: string
|
|
description: Computed from projectId and organizationLevel
|
|
readOnly: true
|
|
enum:
|
|
- organization
|
|
- workspace
|
|
- project
|
|
retention:
|
|
type: string
|
|
enum:
|
|
- short_14d
|
|
- base_60d
|
|
- extended_400d
|
|
- unlimited
|
|
apply_to_past:
|
|
type: boolean
|
|
enabled:
|
|
type: boolean
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
catch_up_cursor:
|
|
type: string
|
|
description: Current position of historical data cleanup
|
|
format: uuid
|
|
readOnly: true
|
|
catch_up_done:
|
|
type: boolean
|
|
description: Whether historical catch-up is complete
|
|
readOnly: true
|
|
RetentionRule_Write:
|
|
required:
|
|
- retention
|
|
type: object
|
|
properties:
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
organization_level:
|
|
type: boolean
|
|
description: Set to true to create an organization-level rule
|
|
writeOnly: true
|
|
retention:
|
|
type: string
|
|
enum:
|
|
- short_14d
|
|
- base_60d
|
|
- extended_400d
|
|
- unlimited
|
|
apply_to_past:
|
|
type: boolean
|
|
RetentionRulePage_Public:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/RetentionRule_Public"
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
ServiceTogglesConfig:
|
|
required:
|
|
- agentInsightsEnabled
|
|
- agenticToolsEnabled
|
|
- alertsEnabled
|
|
- anthropicProviderEnabled
|
|
- bedrockProviderEnabled
|
|
- costIntelligenceEnabled
|
|
- customllmProviderEnabled
|
|
- datasetExportEnabled
|
|
- datasetVersioningEnabled
|
|
- demoDataEnabled
|
|
- exportEnabled
|
|
- forceWorkspaceVersion
|
|
- geminiProviderEnabled
|
|
- guardrailsEnabled
|
|
- ollamaProviderEnabled
|
|
- ollieEnabled
|
|
- onlineScoringTracingEnabled
|
|
- openaiProviderEnabled
|
|
- openrouterProviderEnabled
|
|
- opikAIEnabled
|
|
- projectHomepageEnabled
|
|
- pythonEvaluatorEnabled
|
|
- spanLlmAsJudgeEnabled
|
|
- spanUserDefinedMetricPythonEnabled
|
|
- traceThreadPythonEvaluatorEnabled
|
|
- v1WorkspaceAllowlistIds
|
|
- v2WorkspaceAllowlistIds
|
|
- vertexaiProviderEnabled
|
|
- welcomeWizardEnabled
|
|
type: object
|
|
properties:
|
|
pythonEvaluatorEnabled:
|
|
type: boolean
|
|
traceThreadPythonEvaluatorEnabled:
|
|
type: boolean
|
|
spanLlmAsJudgeEnabled:
|
|
type: boolean
|
|
spanUserDefinedMetricPythonEnabled:
|
|
type: boolean
|
|
guardrailsEnabled:
|
|
type: boolean
|
|
opikAIEnabled:
|
|
type: boolean
|
|
alertsEnabled:
|
|
type: boolean
|
|
welcomeWizardEnabled:
|
|
type: boolean
|
|
exportEnabled:
|
|
type: boolean
|
|
costIntelligenceEnabled:
|
|
type: boolean
|
|
datasetVersioningEnabled:
|
|
type: boolean
|
|
datasetExportEnabled:
|
|
type: boolean
|
|
demoDataEnabled:
|
|
type: boolean
|
|
openaiProviderEnabled:
|
|
type: boolean
|
|
anthropicProviderEnabled:
|
|
type: boolean
|
|
geminiProviderEnabled:
|
|
type: boolean
|
|
openrouterProviderEnabled:
|
|
type: boolean
|
|
vertexaiProviderEnabled:
|
|
type: boolean
|
|
bedrockProviderEnabled:
|
|
type: boolean
|
|
customllmProviderEnabled:
|
|
type: boolean
|
|
ollamaProviderEnabled:
|
|
type: boolean
|
|
ollieEnabled:
|
|
type: boolean
|
|
projectHomepageEnabled:
|
|
type: boolean
|
|
agenticToolsEnabled:
|
|
type: boolean
|
|
agentInsightsEnabled:
|
|
type: boolean
|
|
onlineScoringTracingEnabled:
|
|
type: boolean
|
|
v2WorkspaceAllowlistIds:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
v1WorkspaceAllowlistIds:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
forceWorkspaceVersion:
|
|
minLength: 1
|
|
type: string
|
|
defaultPageSize:
|
|
maximum: 100
|
|
minimum: 5
|
|
type: integer
|
|
format: int32
|
|
v2WorkspaceAllowlist:
|
|
type: string
|
|
writeOnly: true
|
|
v1WorkspaceAllowlist:
|
|
type: string
|
|
writeOnly: true
|
|
SpanBatchUpdate:
|
|
required:
|
|
- ids
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of span IDs to update (max 1000)
|
|
items:
|
|
type: string
|
|
description: List of span IDs to update (max 1000)
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/SpanUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: "If true, merge tags with existing tags instead of replacing\
|
|
\ them. Default: false"
|
|
description: Request to batch update multiple spans
|
|
SpanUpdate:
|
|
required:
|
|
- trace_id
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null and project_id not specified, Default Project is assumed"
|
|
project_id:
|
|
type: string
|
|
description: "If null and project_name not specified, Default Project is\
|
|
\ assumed"
|
|
format: uuid
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
parent_span_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags
|
|
tags_to_add:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to add
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to add
|
|
tags_to_remove:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to remove
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to remove
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
total_estimated_cost:
|
|
minimum: 0.0
|
|
exclusiveMinimum: false
|
|
type: number
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo"
|
|
ttft:
|
|
type: number
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
ErrorInfo_Write:
|
|
required:
|
|
- exception_type
|
|
- traceback
|
|
type: object
|
|
properties:
|
|
exception_type:
|
|
minLength: 1
|
|
type: string
|
|
message:
|
|
type: string
|
|
traceback:
|
|
minLength: 1
|
|
type: string
|
|
Span_Write:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
parent_span_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_Write"
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
total_estimated_cost:
|
|
minimum: 0.0
|
|
exclusiveMinimum: false
|
|
type: number
|
|
total_estimated_cost_version:
|
|
type: string
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
SpanBatch:
|
|
required:
|
|
- spans
|
|
type: object
|
|
properties:
|
|
spans:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Span"
|
|
SpanBatch_Write:
|
|
required:
|
|
- spans
|
|
type: object
|
|
properties:
|
|
spans:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Span_Write"
|
|
DeleteFeedbackScore:
|
|
required:
|
|
- name
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
author:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
ErrorInfo_Public:
|
|
required:
|
|
- exception_type
|
|
- traceback
|
|
type: object
|
|
properties:
|
|
exception_type:
|
|
minLength: 1
|
|
type: string
|
|
message:
|
|
type: string
|
|
traceback:
|
|
minLength: 1
|
|
type: string
|
|
FeedbackScore_Public:
|
|
required:
|
|
- name
|
|
- source
|
|
- value
|
|
type: object
|
|
properties:
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
value_by_author:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ValueEntry_Public"
|
|
readOnly: true
|
|
description: "Aggregated feedback scores from all spans in this trace, averaged\
|
|
\ by score name"
|
|
readOnly: true
|
|
Span_Public:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
parent_span_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
model:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int32
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_Public"
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore_Public"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment_Public"
|
|
total_estimated_cost:
|
|
minimum: 0.0
|
|
exclusiveMinimum: false
|
|
type: number
|
|
total_estimated_cost_version:
|
|
type: string
|
|
duration:
|
|
type: number
|
|
description: Duration in milliseconds as a decimal number to support sub-millisecond
|
|
precision
|
|
format: double
|
|
readOnly: true
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
ValueEntry_Public:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: number
|
|
reason:
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
span_type:
|
|
type: string
|
|
span_id:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
author:
|
|
type: string
|
|
readOnly: true
|
|
SpanPage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Span_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
FeedbackScoreBatch:
|
|
required:
|
|
- scores
|
|
type: object
|
|
properties:
|
|
scores:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreBatchItem"
|
|
FeedbackScoreBatchItem:
|
|
required:
|
|
- id
|
|
- name
|
|
- source
|
|
- value
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
author:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
SpanSearchStreamRequest_Public:
|
|
type: object
|
|
properties:
|
|
trace_id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
type:
|
|
type: string
|
|
enum:
|
|
- general
|
|
- tool
|
|
- llm
|
|
- guardrail
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/SpanFilter_Public"
|
|
limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
description: Max number of spans to be streamed
|
|
format: int32
|
|
default: 500
|
|
last_retrieved_id:
|
|
type: string
|
|
format: uuid
|
|
truncate:
|
|
type: boolean
|
|
description: "Truncate image included in either input, output or metadata"
|
|
default: true
|
|
exclude:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Fields to exclude from the response
|
|
items:
|
|
type: string
|
|
description: Fields to exclude from the response
|
|
enum:
|
|
- name
|
|
- type
|
|
- start_time
|
|
- end_time
|
|
- input
|
|
- output
|
|
- metadata
|
|
- model
|
|
- provider
|
|
- tags
|
|
- usage
|
|
- error_info
|
|
- created_at
|
|
- created_by
|
|
- last_updated_by
|
|
- feedback_scores
|
|
- comments
|
|
- total_estimated_cost
|
|
- total_estimated_cost_version
|
|
- duration
|
|
- ttft
|
|
- source
|
|
- environment
|
|
from_time:
|
|
type: string
|
|
description: Filter spans created from this time (ISO-8601 format).
|
|
format: date-time
|
|
to_time:
|
|
type: string
|
|
description: "Filter spans created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
ExistenceResponse:
|
|
type: object
|
|
properties:
|
|
exists:
|
|
type: boolean
|
|
description: Whether the project has at least one matching entity for the
|
|
given scope
|
|
TraceBatchUpdate:
|
|
required:
|
|
- ids
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of trace IDs to update (max 1000)
|
|
items:
|
|
type: string
|
|
description: List of trace IDs to update (max 1000)
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/TraceUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: "If true, merge tags with existing tags instead of replacing\
|
|
\ them. Default: false"
|
|
description: Request to batch update multiple traces
|
|
TraceUpdate:
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null and project_id not specified, Default Project is assumed"
|
|
project_id:
|
|
type: string
|
|
description: "If null and project_name not specified, Default Project is\
|
|
\ assumed"
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags
|
|
tags_to_add:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to add
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to add
|
|
tags_to_remove:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
description: Tags to remove
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Tags to remove
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo"
|
|
thread_id:
|
|
type: string
|
|
ttft:
|
|
type: number
|
|
format: double
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
TraceThreadBatchUpdate:
|
|
required:
|
|
- ids
|
|
- update
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
description: List of thread model IDs to update (max 1000)
|
|
items:
|
|
type: string
|
|
description: List of thread model IDs to update (max 1000)
|
|
format: uuid
|
|
update:
|
|
$ref: "#/components/schemas/TraceThreadUpdate"
|
|
merge_tags:
|
|
type: boolean
|
|
description: "If true, merge tags with existing tags instead of replacing\
|
|
\ them. Default: false"
|
|
description: Request to batch update multiple trace threads
|
|
TraceThreadUpdate:
|
|
type: object
|
|
properties:
|
|
tags:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
tags_to_add:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
tags_to_remove:
|
|
maxItems: 50
|
|
minItems: 0
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
TraceThreadBatchIdentifier:
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
thread_id:
|
|
type: string
|
|
thread_ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
Trace_Write:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
name:
|
|
type: string
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Write"
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_Write"
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
thread_id:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
TraceBatch:
|
|
required:
|
|
- traces
|
|
type: object
|
|
properties:
|
|
traces:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Trace"
|
|
TraceBatch_Write:
|
|
required:
|
|
- traces
|
|
type: object
|
|
properties:
|
|
traces:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Trace_Write"
|
|
DeleteThreadFeedbackScores:
|
|
required:
|
|
- names
|
|
- project_name
|
|
- thread_id
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
minLength: 1
|
|
type: string
|
|
thread_id:
|
|
minLength: 1
|
|
type: string
|
|
names:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
author:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
DeleteTraceThreads:
|
|
required:
|
|
- thread_ids
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, project_id must be provided"
|
|
project_id:
|
|
type: string
|
|
description: "If null, project_name must be provided"
|
|
format: uuid
|
|
thread_ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
minLength: 1
|
|
type: string
|
|
BatchDeleteByProject:
|
|
required:
|
|
- ids
|
|
type: object
|
|
properties:
|
|
ids:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
Check_Public:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
enum:
|
|
- TOPIC
|
|
- PII
|
|
result:
|
|
type: string
|
|
enum:
|
|
- passed
|
|
- failed
|
|
ExperimentItemReference_Public:
|
|
required:
|
|
- dataset_id
|
|
- dataset_item_id
|
|
- id
|
|
- name
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: Experiment ID
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
description: Experiment name
|
|
dataset_id:
|
|
type: string
|
|
description: Dataset ID
|
|
format: uuid
|
|
dataset_item_id:
|
|
type: string
|
|
description: Dataset Item ID
|
|
format: uuid
|
|
description: "Experiment reference with ID, name, dataset ID, and dataset item\
|
|
\ ID"
|
|
readOnly: true
|
|
GuardrailsValidation_Public:
|
|
type: object
|
|
properties:
|
|
span_id:
|
|
type: string
|
|
format: uuid
|
|
checks:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Check_Public"
|
|
readOnly: true
|
|
Trace_Public:
|
|
required:
|
|
- start_time
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
readOnly: true
|
|
name:
|
|
type: string
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
input:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
output:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
metadata:
|
|
$ref: "#/components/schemas/JsonListString_Public"
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
error_info:
|
|
$ref: "#/components/schemas/ErrorInfo_Public"
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
readOnly: true
|
|
readOnly: true
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
readOnly: true
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
created_by:
|
|
type: string
|
|
readOnly: true
|
|
last_updated_by:
|
|
type: string
|
|
readOnly: true
|
|
feedback_scores:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore_Public"
|
|
span_feedback_scores:
|
|
type: array
|
|
description: "Aggregated feedback scores from all spans in this trace, averaged\
|
|
\ by score name"
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore_Public"
|
|
comments:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/Comment_Public"
|
|
guardrails_validations:
|
|
type: array
|
|
readOnly: true
|
|
items:
|
|
$ref: "#/components/schemas/GuardrailsValidation_Public"
|
|
total_estimated_cost:
|
|
type: number
|
|
readOnly: true
|
|
span_count:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
duration:
|
|
type: number
|
|
description: Duration in milliseconds as a decimal number to support sub-millisecond
|
|
precision
|
|
format: double
|
|
readOnly: true
|
|
ttft:
|
|
type: number
|
|
description: Time to first token in milliseconds
|
|
format: double
|
|
thread_id:
|
|
type: string
|
|
visibility_mode:
|
|
type: string
|
|
readOnly: true
|
|
enum:
|
|
- default
|
|
- hidden
|
|
llm_span_count:
|
|
type: integer
|
|
format: int32
|
|
readOnly: true
|
|
has_tool_spans:
|
|
type: boolean
|
|
readOnly: true
|
|
providers:
|
|
type: array
|
|
description: "List of unique provider names from all spans in this trace,\
|
|
\ sorted alphabetically"
|
|
readOnly: true
|
|
items:
|
|
type: string
|
|
description: "List of unique provider names from all spans in this trace,\
|
|
\ sorted alphabetically"
|
|
readOnly: true
|
|
experiment:
|
|
$ref: "#/components/schemas/ExperimentItemReference_Public"
|
|
source:
|
|
type: string
|
|
enum:
|
|
- sdk
|
|
- experiment
|
|
- playground
|
|
- optimization
|
|
- evaluator
|
|
environment:
|
|
maxLength: 150
|
|
minLength: 0
|
|
type: string
|
|
TraceThread:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
thread_model_id:
|
|
type: string
|
|
format: uuid
|
|
start_time:
|
|
type: string
|
|
format: date-time
|
|
end_time:
|
|
type: string
|
|
format: date-time
|
|
duration:
|
|
type: number
|
|
format: double
|
|
first_message:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
last_message:
|
|
$ref: "#/components/schemas/JsonListString"
|
|
feedback_scores:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScore"
|
|
status:
|
|
type: string
|
|
enum:
|
|
- active
|
|
- inactive
|
|
number_of_messages:
|
|
type: integer
|
|
format: int64
|
|
total_estimated_cost:
|
|
type: number
|
|
usage:
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
format: int64
|
|
comments:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Comment"
|
|
tags:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
last_updated_at:
|
|
type: string
|
|
format: date-time
|
|
last_updated_by:
|
|
type: string
|
|
created_by:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
environment:
|
|
type: string
|
|
TraceThreadIdentifier:
|
|
required:
|
|
- thread_id
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
thread_id:
|
|
minLength: 1
|
|
type: string
|
|
truncate:
|
|
type: boolean
|
|
TraceThreadPage:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThread"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
TracePage_Public:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: integer
|
|
format: int32
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
total:
|
|
type: integer
|
|
format: int64
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Trace_Public"
|
|
sortableBy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
FeedbackScoreBatchItemThread:
|
|
required:
|
|
- name
|
|
- source
|
|
- thread_id
|
|
- value
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
pattern: (?s)^\s*(\S.*\S|\S)\s*$
|
|
type: string
|
|
description: "If null, the default project is used"
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
minLength: 1
|
|
type: string
|
|
category_name:
|
|
type: string
|
|
value:
|
|
maximum: 999999999.999999999
|
|
exclusiveMaximum: false
|
|
minimum: -999999999.999999999
|
|
exclusiveMinimum: false
|
|
type: number
|
|
reason:
|
|
type: string
|
|
source:
|
|
type: string
|
|
enum:
|
|
- ui
|
|
- sdk
|
|
- online_scoring
|
|
author:
|
|
type: string
|
|
source_queue_id:
|
|
type: string
|
|
format: uuid
|
|
thread_id:
|
|
minLength: 1
|
|
type: string
|
|
FeedbackScoreBatchThread:
|
|
required:
|
|
- scores
|
|
type: object
|
|
properties:
|
|
scores:
|
|
maxItems: 1000
|
|
minItems: 1
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FeedbackScoreBatchItemThread"
|
|
TraceThreadSearchStreamRequest:
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceThreadFilter"
|
|
last_retrieved_thread_model_id:
|
|
type: string
|
|
format: uuid
|
|
limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
description: Max number of trace thread to be streamed
|
|
format: int32
|
|
default: 500
|
|
truncate:
|
|
type: boolean
|
|
description: "Truncate input, output and metadata to slim payloads"
|
|
default: true
|
|
strip_attachments:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects stripped attachments"
|
|
default: false
|
|
from_time:
|
|
type: string
|
|
description: Filter trace threads created from this time (ISO-8601 format).
|
|
format: date-time
|
|
to_time:
|
|
type: string
|
|
description: "Filter trace threads created up to this time (ISO-8601 format).\
|
|
\ If not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
TraceSearchStreamRequest_Public:
|
|
type: object
|
|
properties:
|
|
project_name:
|
|
type: string
|
|
project_id:
|
|
type: string
|
|
format: uuid
|
|
filters:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TraceFilter_Public"
|
|
last_retrieved_id:
|
|
type: string
|
|
format: uuid
|
|
limit:
|
|
maximum: 2000
|
|
minimum: 1
|
|
type: integer
|
|
description: Max number of traces to be streamed
|
|
format: int32
|
|
default: 500
|
|
truncate:
|
|
type: boolean
|
|
description: "Truncate input, output and metadata to slim payloads"
|
|
default: true
|
|
strip_attachments:
|
|
type: boolean
|
|
description: "If true, returns attachment references like [file.png]; if\
|
|
\ false, downloads and reinjects stripped attachments"
|
|
default: false
|
|
exclude:
|
|
uniqueItems: true
|
|
type: array
|
|
description: Fields to exclude from the response
|
|
items:
|
|
type: string
|
|
description: Fields to exclude from the response
|
|
enum:
|
|
- name
|
|
- start_time
|
|
- end_time
|
|
- input
|
|
- output
|
|
- metadata
|
|
- tags
|
|
- error_info
|
|
- usage
|
|
- created_at
|
|
- created_by
|
|
- last_updated_by
|
|
- feedback_scores
|
|
- span_feedback_scores
|
|
- comments
|
|
- guardrails_validations
|
|
- total_estimated_cost
|
|
- span_count
|
|
- llm_span_count
|
|
- has_tool_spans
|
|
- duration
|
|
- ttft
|
|
- thread_id
|
|
- visibility_mode
|
|
- providers
|
|
- experiment
|
|
- source
|
|
- environment
|
|
from_time:
|
|
type: string
|
|
description: Filter traces created from this time (ISO-8601 format).
|
|
format: date-time
|
|
to_time:
|
|
type: string
|
|
description: "Filter traces created up to this time (ISO-8601 format). If\
|
|
\ not provided, defaults to current time. Must be after 'from_time'."
|
|
format: date-time
|
|
WelcomeWizardTracking:
|
|
type: object
|
|
properties:
|
|
completed:
|
|
type: boolean
|
|
description: Whether the welcome wizard has been completed
|
|
WelcomeWizardSubmission:
|
|
type: object
|
|
properties:
|
|
role:
|
|
maxLength: 100
|
|
minLength: 0
|
|
type: string
|
|
description: Optional user role
|
|
integrations:
|
|
type: array
|
|
description: List of integrations the user selected
|
|
items:
|
|
type: string
|
|
description: List of integrations the user selected
|
|
email:
|
|
maxLength: 255
|
|
minLength: 0
|
|
type: string
|
|
description: Optional user email
|
|
format: email
|
|
join_beta_program:
|
|
type: boolean
|
|
description: Whether user wants to join beta programs
|
|
Permission:
|
|
type: object
|
|
properties:
|
|
permissionName:
|
|
type: string
|
|
permissionValue:
|
|
type: string
|
|
WorkspaceUserPermissions:
|
|
type: object
|
|
properties:
|
|
userName:
|
|
type: string
|
|
workspaceName:
|
|
type: string
|
|
permissions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Permission"
|
|
Result:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
current:
|
|
type: number
|
|
format: double
|
|
previous:
|
|
type: number
|
|
format: double
|
|
WorkspaceMetricsSummaryRequest:
|
|
required:
|
|
- interval_end
|
|
- interval_start
|
|
type: object
|
|
properties:
|
|
project_ids:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
interval_start:
|
|
type: string
|
|
format: date-time
|
|
interval_end:
|
|
type: string
|
|
format: date-time
|
|
start_before_end:
|
|
type: boolean
|
|
DataPointDouble:
|
|
required:
|
|
- time
|
|
type: object
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
value:
|
|
type: number
|
|
format: double
|
|
WorkspaceMetricResponse:
|
|
type: object
|
|
properties:
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Result"
|
|
WorkspaceMetricRequest:
|
|
required:
|
|
- interval_end
|
|
- interval_start
|
|
type: object
|
|
properties:
|
|
project_ids:
|
|
uniqueItems: true
|
|
type: array
|
|
items:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
interval_start:
|
|
type: string
|
|
format: date-time
|
|
interval_end:
|
|
type: string
|
|
format: date-time
|
|
start_before_end:
|
|
type: boolean
|
|
WorkspaceConfiguration:
|
|
type: object
|
|
properties:
|
|
timeout_to_mark_thread_as_inactive:
|
|
type: string
|
|
description: "Duration in ISO-8601 format (e.g., PT30M for 30 minutes, PT2H\
|
|
\ for 2 hours, P1D for 1 day). Minimum precision supported is seconds,\
|
|
\ please use a duration with seconds precision or higher. Also, the max\
|
|
\ duration allowed is 7 days."
|
|
truncation_on_tables:
|
|
type: boolean
|
|
description: "Enable or disable data truncation in table views. When disabled,\
|
|
\ the frontend will limit pagination to prevent performance issues. Default:\
|
|
\ true (truncation enabled)."
|
|
example: true
|
|
color_map:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "Workspace-level color map. Maps label names to hex color\
|
|
\ values (e.g. #FF0000). Max 10000 entries."
|
|
description: "Workspace-level color map. Maps label names to hex color values\
|
|
\ (e.g. #FF0000). Max 10000 entries."
|
|
WorkspaceVersion:
|
|
type: object
|
|
properties:
|
|
opik_version:
|
|
type: string
|
|
description: |-
|
|
The determined Opik navigation version for this workspace.
|
|
'version_1' = legacy workspace-scoped navigation,
|
|
'version_2' = new project-first navigation.
|
|
enum:
|
|
- version_1
|
|
- version_2
|
|
description: |-
|
|
Workspace version response.
|
|
The opik_version field indicates which navigation mode the frontend should render:
|
|
'version_1' (legacy workspace-scoped) or 'version_2' (project-first).
|
|
WorkspaceMetricsSummaryResponse:
|
|
type: object
|
|
properties:
|
|
results:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Result"
|