{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/oauth/authorize":{"get":{"operationId":"mcpOAuth_authorize","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","tags":["mcpOAuth"],"parameters":[{"name":"client_id","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"response_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string"}},{"name":"resource","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}}},"post":{"operationId":"mcpOAuth_consent","summary":"Submit Authorization Consent","description":"Submit the user's consent, issue an authorization code, and return the client redirect target","tags":["mcpOAuth"],"responses":{"200":{"description":"Consent response with the client redirect target","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentRequest"}}}}}},"/oauth/authorize/context":{"get":{"operationId":"mcpOAuth_getAuthorizeContext","summary":"Get Authorization Consent Context","description":"Get the client details, eligible workspaces, and a CSRF token used to render the consent screen","tags":["mcpOAuth"],"parameters":[{"name":"client_id","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Authorization consent context","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeContext"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"operationId":"mcpOAuth_getOAuthAuthorizationServerMetadata","summary":"Get OAuth Authorization Server Metadata","description":"Get OAuth 2.1 Authorization Server Metadata (RFC 8414)","tags":["mcpOAuth"],"responses":{"200":{"description":"Authorization Server Metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizationServerMetadata"}}}}}}},"/oauth/register":{"post":{"operationId":"mcpOAuth_registerOAuthClient","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","tags":["mcpOAuth"],"responses":{"201":{"description":"Registered client metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationResponse"}}}},"429":{"description":"Registration rate limit exceeded","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationRequest"}}}}}},"/oauth/revoke":{"post":{"operationId":"mcpOAuth_revoke","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","tags":["mcpOAuth"],"responses":{"200":{"description":"Revocation acknowledged","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCP_OAuth_revoke_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"},"client_id":{"type":"string"}}}}}}}},"/oauth/token":{"post":{"operationId":"mcpOAuth_token","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","tags":["mcpOAuth"],"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"}}}}},"requestBody":{"content":{"application/json":{"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"}}}}}}}},"/opik/auth-oauth":{"post":{"operationId":"mcpOAuth_validateOAuthToken","summary":"Validate OAuth Access Token","description":"Introspects a bearer access token and returns the identity it resolves to","tags":["mcpOAuth"],"parameters":[{"name":"Authorization","in":"header","required":false,"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/internal/agent-insights/enrollment":{"post":{"operationId":"agentInsightsEnrollment_enrolProjectsInAutoFirstRun","summary":"Enrol projects in the auto-first-run rollout","description":"Enrols the given projects, creating their job row if needed, or clears their enrolment. Idempotent.","tags":["agentInsightsEnrollment"],"responses":{"200":{"description":"Enrollment result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}}}},"/v1/internal/analytics-queries/projects/{projectId}":{"post":{"operationId":"systemAnalyticsQueries_executeAnalyticsQuery","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.","tags":["systemAnalyticsQueries"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsQueryRequest"}}}}}},"/v1/internal/analytics-queries":{"post":{"operationId":"systemAnalyticsQueries_executeScopedAnalyticsQuery","summary":"Execute free-form analytics SQL","description":"Runs read-only SQL bounded to the caller's workspace. Supply project_id to restrict traces, spans, feedback scores and trace threads to one project, or omit it to cover the whole workspace. Experiments, experiment items and dataset items always cover the whole workspace.","tags":["systemAnalyticsQueries"],"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 is disabled, or Custom Charts is not enabled for this workspace","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopedAnalyticsQueryRequest"}}}}}},"/v1/internal/dashboard-saved-queries":{"post":{"operationId":"dashboardSavedQueries_createDashboardSavedQuery","summary":"Save a chart query","description":"Saves the query of an Ollie chart so a dashboard widget can reference it by id.","tags":["dashboardSavedQueries"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSavedQuery"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"501":{"description":"Ollie or Custom Charts is not enabled for this workspace","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSavedQuery"}}}}}},"/v1/internal/dashboard-saved-queries/{id}":{"get":{"operationId":"dashboardSavedQueries_getDashboardSavedQuery","summary":"Get a chart query","description":"Gets a dashboard saved query by id.","tags":["dashboardSavedQueries"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Dashboard saved query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSavedQuery"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}},"501":{"description":"Ollie or Custom Charts is not enabled for this workspace","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/internal/usage/projects":{"post":{"operationId":"systemUsage_findUsageProjects","summary":"Find projects across workspaces by ids or name","description":"Find projects across the given workspaces, optionally narrowed by project ids or a case-insensitive name substring. Unknown or deleted projects are omitted.","tags":["systemUsage"],"responses":{"200":{"description":"UsageProjectsResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageProjectsResponse"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageProjectsRequest"}}}}}},"/v1/internal/usage/bi-datasets":{"get":{"operationId":"systemUsage_getDatasetBiInfo","summary":"Get datasets information for BI events","description":"Get datasets information for BI events per user per workspace","tags":["systemUsage"],"responses":{"200":{"description":"Datasets BiInformationResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BiInformationResponse"}}}}}}},"/v1/internal/usage/bi-experiments":{"get":{"operationId":"systemUsage_getExperimentBiInfo","summary":"Get experiments information for BI events","description":"Get experiments information for BI events per user per workspace","tags":["systemUsage"],"responses":{"200":{"description":"Experiments BiInformationResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BiInformationResponse"}}}}}}},"/v1/internal/usage/bi-spans":{"get":{"operationId":"systemUsage_getSpansBiInfo","summary":"Get spans information for BI events","description":"Get spans information for BI events per user per workspace","tags":["systemUsage"],"responses":{"200":{"description":"Spans BiInformationResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BiInformationResponse"}}}}}}},"/v1/internal/usage/workspace-span-counts-breakdown":{"get":{"operationId":"systemUsage_getSpansCountBreakdownForWorkspaces","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","tags":["systemUsage"],"responses":{"200":{"description":"UsageByWorkspaceProjectUserResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageByWorkspaceProjectUserResponse"}}}}}}},"/v1/internal/usage/workspace-span-counts":{"get":{"operationId":"systemUsage_getSpansCountForWorkspaces","summary":"Get spans count on previous day for all available workspaces","description":"Get spans count on previous day for all available workspaces","tags":["systemUsage"],"responses":{"200":{"description":"SpanCountResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpansCountResponse"}}}}}}},"/v1/internal/usage/bi-traces":{"get":{"operationId":"systemUsage_getTracesBiInfo","summary":"Get traces information for BI events","description":"Get traces information for BI events per user per workspace","tags":["systemUsage"],"responses":{"200":{"description":"Traces BiInformationResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BiInformationResponse"}}}}}}},"/v1/internal/usage/workspace-trace-counts":{"get":{"operationId":"systemUsage_getTracesCountForWorkspaces","summary":"Get traces count on previous day for all available workspaces","description":"Get traces count on previous day for all available workspaces","tags":["systemUsage"],"responses":{"200":{"description":"TraceCountResponse resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceCountResponse"}}}}}}},"/v1/private/agent-configs/blueprints":{"post":{"operationId":"agentConfigs_createAgentConfig","summary":"Create optimizer config with initial blueprint","description":"Creates a new optimizer config with initial blueprint. Fails if the project already has a config.","tags":["agentConfigs"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent_Configs_createAgentConfig_Response_201"}}}},"400":{"description":"Bad Request (e.g. MASK type not allowed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}},"409":{"description":"Conflict (config already exists)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigCreate_Write"}}}}},"patch":{"operationId":"agentConfigs_updateAgentConfig","summary":"Add blueprint to existing config","description":"Adds a new blueprint to an existing optimizer config. Fails if the project has no config yet.","tags":["agentConfigs"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent_Configs_updateAgentConfig_Response_201"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}},"404":{"description":"Not Found (no config for project)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigCreate_Write"}}}}}},"/v1/private/agent-configs/blueprints/projects/{project_id}/masks/{mask_id}":{"post":{"operationId":"agentConfigs_createBlueprintFromMask","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.","tags":["agentConfigs"],"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","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent_Configs_createBlueprintFromMask_Response_201"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}},"404":{"description":"Not Found (no config or mask not found)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Write"}}}}}}},"/v1/private/agent-configs/blueprints/environments":{"post":{"operationId":"agentConfigs_createOrUpdateEnvs","summary":"Create or update environments","description":"Creates or updates environment-to-blueprint mappings","tags":["agentConfigs"],"responses":{"204":{"description":"Environments updated","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigEnvUpdate"}}}}}},"/v1/private/agent-configs/blueprints/environments/{env_name}/projects/{project_id}":{"get":{"operationId":"agentConfigs_getBlueprintByEnv","summary":"Retrieve blueprint by environment","description":"Retrieves the blueprint associated with a specific environment","tags":["agentConfigs"],"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","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Blueprint retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBlueprint_Public"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}}},"put":{"operationId":"agentConfigs_setEnvByBlueprintName","summary":"Set environment by blueprint name","description":"Sets an environment to point to a blueprint identified by name","tags":["agentConfigs"],"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 updated","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigEnvSetByName"}}}}},"delete":{"operationId":"agentConfigs_deleteEnv","summary":"Delete environment","description":"Soft-deletes an environment by setting its ended_at timestamp","tags":["agentConfigs"],"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","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/agent-configs/blueprints/{blueprint_id}":{"get":{"operationId":"agentConfigs_getBlueprintById","summary":"Retrieve blueprint by ID","description":"Retrieves a specific blueprint by its ID","tags":["agentConfigs"],"parameters":[{"name":"blueprint_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"mask_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Blueprint retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBlueprint_Public"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}}}},"/v1/private/agent-configs/blueprints/projects/{project_id}/names/{name}":{"get":{"operationId":"agentConfigs_getBlueprintByName","summary":"Retrieve blueprint by name","description":"Retrieves a specific blueprint by its name within a project","tags":["agentConfigs"],"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","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Blueprint retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBlueprint_Public"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}}}},"/v1/private/agent-configs/blueprints/history/projects/{project_id}":{"get":{"operationId":"agentConfigs_getBlueprintHistory","summary":"Get blueprint history","description":"Retrieves paginated blueprint history for a project","tags":["agentConfigs"],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}}],"responses":{"200":{"description":"History retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlueprintPage_History"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_History"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_History"}}}}}}},"/v1/private/agent-configs/blueprints/{blueprint_id}/deltas":{"get":{"operationId":"agentConfigs_getDeltaById","summary":"Retrieve delta by blueprint ID","description":"Retrieves only the changes (delta) introduced in a specific blueprint","tags":["agentConfigs"],"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"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}}}},"/v1/private/agent-configs/blueprints/latest/projects/{project_id}":{"get":{"operationId":"agentConfigs_getLatestBlueprint","summary":"Retrieve latest blueprint","description":"Retrieves the latest blueprint for a project","tags":["agentConfigs"],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"mask_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Blueprint retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBlueprint_Public"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}}}},"/v1/private/agent-configs/blueprints/remove-keys":{"post":{"operationId":"agentConfigs_removeConfigKeys","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).","tags":["agentConfigs"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent_Configs_removeConfigKeys_Response_201"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConfigRemoveValues"}}}}}},"/v1/private/agent-insights/jobs/{projectId}":{"get":{"operationId":"agentInsightsJobs_getAgentInsightsJob","summary":"Get Agent Insights job","description":"Returns the Agent Insights job for the (workspace, project), or 404 if none exists.","tags":["agentInsightsJobs"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"post":{"operationId":"agentInsightsJobs_createAgentInsightsJob","summary":"Create Agent Insights job","description":"Creates the Agent Insights job for a project, disabled: the daily schedule stays off until the job is enabled with PATCH. 409 if one already exists.","tags":["agentInsightsJobs"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Job created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsJob"}}}},"404":{"description":"Project not found","content":{"application/json":{"schema":{"description":"Any type"}}}},"409":{"description":"Job already exists","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"patch":{"operationId":"agentInsightsJobs_updateAgentInsightsJob","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.","tags":["agentInsightsJobs"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Job updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsJob"}}}},"404":{"description":"Job not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsJobUpdate"}}}}}},"/v1/private/agent-insights/jobs/{projectId}/trigger":{"post":{"operationId":"agentInsightsJobs_triggerAgentInsightsJob","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.","tags":["agentInsightsJobs"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"202":{"description":"Run accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent_Insights_Jobs_triggerAgentInsightsJob_Response_202"}}}},"404":{"description":"Job not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/agent-insights/jobs/{projectId}/guidance":{"put":{"operationId":"agentInsightsJobs_updateAgentInsightsGuidance","summary":"Update Agent Insights project guidance","description":"Saves the project guidance sent to every Agent Insights run, creating the job (disabled) if the project has none. Empty or whitespace-only clears it. The guidance version is bumped only when the text changes. 404 while guidance is not enabled.","tags":["agentInsightsJobs"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Job with the saved guidance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsJob"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Project not found, or guidance not enabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Guidance missing or over the length limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsGuidanceUpdate"}}}}}},"/v1/private/agent-insights/issues":{"get":{"operationId":"agentInsights_findAgentInsightsIssues","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","tags":["agentInsights"],"parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"from_date","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"to_date","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateAgentInsightsIssuesGetParametersStatus"}},{"name":"severity","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateAgentInsightsIssuesGetParametersSeverity"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"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":{"operationId":"agentInsights_reportAgentInsightsIssues","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.","tags":["agentInsights"],"responses":{"204":{"description":"Report stored","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Project not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsReport"}}}}}},"/v1/private/agent-insights/issues/{issue_id}":{"get":{"operationId":"agentInsights_getAgentInsightsIssueById","summary":"Get agent insights issue by id","description":"Returns the issue together with its per-day breakdown within the requested time window","tags":["agentInsights"],"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","required":false,"schema":{"type":"string","format":"date"}},{"name":"to_date","in":"query","required":false,"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"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"patch":{"operationId":"agentInsights_updateAgentInsightsIssue","summary":"Update agent insights issue status","description":"Moves an issue through its lifecycle: open, resolved or closed. close_note is kept only with closed; any other status clears it","tags":["agentInsights"],"parameters":[{"name":"issue_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Issue updated","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Missing project_id or status, or close_note over the length limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInsightsIssueUpdate"}}}}}},"/v1/private/alerts":{"get":{"operationId":"alerts_findAlerts","summary":"Find alerts","description":"Find alerts","tags":["alerts"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertPage_Public"}}}}}},"post":{"operationId":"alerts_createAlert","summary":"Create alert","description":"Create alert","tags":["alerts"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alerts_createAlert_Response_201"}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alert_Write"}}}}}},"/v1/private/alerts/delete":{"post":{"operationId":"alerts_deleteAlertBatch","summary":"Delete alert batch","description":"Delete multiple alerts by their IDs","tags":["alerts"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/alerts/{id}":{"get":{"operationId":"alerts_getAlertById","summary":"Get Alert by id","description":"Get Alert by id","tags":["alerts"],"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":{"operationId":"alerts_updateAlert","summary":"Update alert","description":"Update alert","tags":["alerts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alert_Write"}}}}}},"/v1/private/alerts/webhooks/examples":{"get":{"operationId":"alerts_getWebhookExamples","summary":"Get webhook payload examples","description":"Get webhook payload examples for all alert event types, optionally filtered by alert type","tags":["alerts"],"parameters":[{"name":"alert_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateAlertsWebhooksExamplesGetParametersAlertType"}}],"responses":{"200":{"description":"Webhook examples","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookExamples"}}}}}}},"/v1/private/alerts/webhooks/tests":{"post":{"operationId":"alerts_testWebhook","summary":"Test alert webhook","description":"Test alert webhook","tags":["alerts"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alert_Write"}}}}}},"/v1/private/annotation-queues/{id}/items/add":{"post":{"operationId":"annotationQueues_addItemsToAnnotationQueue","summary":"Add items to annotation queue","description":"Add traces or threads to annotation queue","tags":["annotationQueues"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueItemIds"}}}}}},"/v1/private/annotation-queues":{"get":{"operationId":"annotationQueues_findAnnotationQueues","summary":"Find annotation queues","description":"Find annotation queues with filtering and sorting","tags":["annotationQueues"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter annotation queues by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Annotation queues page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueuePage_Public"}}}}}},"post":{"operationId":"annotationQueues_createAnnotationQueue","summary":"Create annotation queue","description":"Create annotation queue for human annotation workflows","tags":["annotationQueues"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Annotation_Queues_createAnnotationQueue_Response_201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueue_Write"}}}}}},"/v1/private/annotation-queues/batch":{"post":{"operationId":"annotationQueues_createAnnotationQueueBatch","summary":"Create annotation queue batch","description":"Create multiple annotation queues for human annotation workflows","tags":["annotationQueues"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueBatch_Write"}}}}}},"/v1/private/annotation-queues/delete":{"post":{"operationId":"annotationQueues_deleteAnnotationQueueBatch","summary":"Delete annotation queue batch","description":"Delete multiple annotation queues by their IDs","tags":["annotationQueues"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/annotation-queues/{id}":{"get":{"operationId":"annotationQueues_getAnnotationQueueById","summary":"Get annotation queue by id","description":"Get annotation queue by id","tags":["annotationQueues"],"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":{"operationId":"annotationQueues_updateAnnotationQueue","summary":"Update annotation queue","description":"Update annotation queue by id","tags":["annotationQueues"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueUpdate"}}}}}},"/v1/private/annotation-queues/{queueId}/locks":{"get":{"operationId":"annotationQueues_getAnnotationQueueLocks","summary":"Get all active locks for an annotation queue","description":"Returns lock status for all actively locked items in the queue","tags":["annotationQueues"],"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":{"operationId":"annotationQueues_lockAnnotationQueueItem","summary":"Create or extend annotation queue item lock","description":"Claim an annotation queue item for the current user, or extend an existing lock","tags":["annotationQueues"],"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":{"operationId":"annotationQueues_removeItemsFromAnnotationQueue","summary":"Remove items from annotation queue","description":"Remove items from annotation queue","tags":["annotationQueues"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueItemIds"}}}}}},"/v1/private/annotation-queues/{id}/items/search":{"post":{"operationId":"annotationQueues_searchAnnotationQueueItems","summary":"Search annotation queue items","description":"Returns queue membership metadata — how each item got into the queue — for the given item ids. A lookup rather than a listing: the caller renders the items table from the traces or threads API with its own sort and filters, so it asks for exactly the ids it is displaying. Ids that are not in the queue are omitted.","tags":["annotationQueues"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Annotation queue items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueItems_Public"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationQueueItemIds_Public"}}}}}},"/v1/private/assertion-results":{"put":{"operationId":"assertionResults_storeAssertionsBatch","summary":"Batch ingestion of assertion results","description":"Batch ingestion of assertion results for traces or spans","tags":["assertionResults"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssertionResultBatch"}}}}}},"/v1/private/attachment/list":{"get":{"operationId":"attachments_attachmentList","summary":"Attachments list for entity","description":"Attachments list for entity","tags":["attachments"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":100}},{"name":"project_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"entity_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/V1PrivateAttachmentListGetParametersEntityType"}},{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"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":{"operationId":"attachments_completeMultiPartUpload","summary":"Complete multipart attachment upload","description":"Complete multipart attachment upload","tags":["attachments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Access forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteMultipartUploadRequest"}}}}}},"/v1/private/attachment/delete":{"post":{"operationId":"attachments_deleteAttachments","summary":"Delete attachments","description":"Delete attachments","tags":["attachments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Access forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteMultipartUploadRequest"}}}}}},"/v1/private/attachment/download":{"get":{"operationId":"attachments_downloadAttachment","summary":"Download attachment from MinIO","description":"Download attachment from MinIO","tags":["attachments"],"parameters":[{"name":"workspace_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"container_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"entity_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/V1PrivateAttachmentDownloadGetParametersEntityType"}},{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"file_name","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"mime_type","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Attachment Resource","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}},"/v1/private/attachment/upload-start":{"post":{"operationId":"attachments_startMultiPartUpload","summary":"Start multipart attachment upload","description":"Start multipart attachment upload","tags":["attachments"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartMultipartUploadRequest"}}}}}},"/v1/private/attachment/upload":{"put":{"operationId":"attachments_uploadAttachment","summary":"Upload attachment to MinIO","description":"Upload attachment to MinIO","tags":["attachments"],"parameters":[{"name":"file_name","in":"query","required":true,"schema":{"type":"string"}},{"name":"project_name","in":"query","description":"If null, the default project is used","required":false,"schema":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"}},{"name":"mime_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"entity_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/V1PrivateAttachmentUploadPutParametersEntityType"}},{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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":{"operationId":"check_access","summary":"Check user access to workspace","description":"Check user access to workspace","tags":["check"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Access forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthDetailsHolder"}}}}}},"/v1/private/auth/workspace":{"get":{"operationId":"check_getWorkspaceName","summary":"User's default workspace name","description":"User's default workspace name","tags":["check"],"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":{"operationId":"automationRuleEvaluators_findEvaluators","summary":"Find project Evaluators","description":"Find project Evaluators","tags":["automationRuleEvaluators"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"query","description":"Filter automation rules with rule ID containing this value (partial match, like %id%)","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter automation rule evaluators by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}}],"responses":{"200":{"description":"Evaluators resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPage_Public"}}}}}},"post":{"operationId":"automationRuleEvaluators_createAutomationRuleEvaluator","summary":"Create automation rule evaluator","description":"Create automation rule evaluator","tags":["automationRuleEvaluators"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Automation_rule_evaluators_createAutomationRuleEvaluator_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleEvaluator_Write"}}}}}},"/v1/private/automations/evaluators/delete":{"post":{"operationId":"automationRuleEvaluators_deleteAutomationRuleEvaluatorBatch","summary":"Delete automation rule evaluators","description":"Delete automation rule evaluators batch","tags":["automationRuleEvaluators"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/automations/evaluators/{id}":{"get":{"operationId":"automationRuleEvaluators_getEvaluatorById","summary":"Get automation rule evaluator by id","description":"Get automation rule by id","tags":["automationRuleEvaluators"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Automation Rule resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleEvaluator_Public"}}}}}},"patch":{"operationId":"automationRuleEvaluators_updateAutomationRuleEvaluator","summary":"Update Automation Rule Evaluator by id","description":"Update Automation Rule Evaluator by id","tags":["automationRuleEvaluators"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdate"}}}}}},"/v1/private/automations/evaluators/{id}/logs":{"get":{"operationId":"automationRuleEvaluators_getEvaluatorLogsById","summary":"Get automation rule evaluator logs by id","description":"Get automation rule evaluator logs by id","tags":["automationRuleEvaluators"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1000}}],"responses":{"200":{"description":"Automation rule evaluator logs resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogPage"}}}}}}},"/v1/private/chat/completions":{"post":{"operationId":"chatCompletions_createChatCompletions","summary":"Create chat completions","description":"Create chat completions","tags":["chatCompletions"],"responses":{"200":{"description":"Chat completions response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}}}},"/v1/private/dashboards":{"get":{"operationId":"dashboards_findDashboards","summary":"Find dashboards","description":"Find dashboards in a workspace","tags":["dashboards"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter dashboards by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardPage_Public"}}}}}},"post":{"operationId":"dashboards_createDashboard","summary":"Create dashboard","description":"Create a new dashboard in a workspace","tags":["dashboards"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Write"}}}}}},"/v1/private/dashboards/{dashboardId}":{"get":{"operationId":"dashboards_getDashboardById","summary":"Get dashboard by id","description":"Get dashboard by id","tags":["dashboards"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"delete":{"operationId":"dashboards_deleteDashboard","summary":"Delete dashboard","description":"Delete dashboard by id","tags":["dashboards"],"parameters":[{"name":"dashboardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"patch":{"operationId":"dashboards_updateDashboard","summary":"Update dashboard","description":"Update dashboard by id. Partial updates are supported - only provided fields will be updated.","tags":["dashboards"],"parameters":[{"name":"dashboardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Updated dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Public"}}}},"404":{"description":"Dashboard not found","content":{"application/json":{"schema":{"description":"Any type"}}}},"409":{"description":"Conflict - dashboard with this name already exists","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardUpdate_Public"}}}}}},"/v1/private/dashboards/delete-batch":{"post":{"operationId":"dashboards_deleteDashboardsBatch","summary":"Delete dashboards","description":"Delete dashboards batch","tags":["dashboards"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/dashboards/{dashboardId}/widgets/{widgetId}/query":{"post":{"operationId":"dashboards_runDashboardWidgetQuery","summary":"Run a saved widget query","description":"Runs the query saved on an Ollie chart widget of this dashboard over the given date range and returns its rows. The query is read from the saved widget; the request carries no SQL. Returns 501 when Ollie or Custom Charts is not enabled for the workspace.","tags":["dashboards"],"parameters":[{"name":"dashboardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"widgetId","in":"path","required":true,"schema":{"type":"string"}}],"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"}}}},"404":{"description":"Dashboard not found, or the widget has no dashboard saved query","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"429":{"description":"Too many queries are running; retry after the Retry-After delay","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"501":{"description":"Ollie or Custom Charts is not enabled for this workspace","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardWidgetQueryRequest"}}}}}},"/v1/private/datasets/{id}/items/changes":{"post":{"operationId":"datasets_applyDatasetItemChanges","summary":"Apply changes to dataset items","description":"Apply delta changes (add, edit, delete) to a dataset version with conflict detection.\n\nThis endpoint:\n- Creates a new version with the applied changes\n- Validates that baseVersion matches the latest version (unless override=true)\n- Returns 409 Conflict if baseVersion is stale and override is not set\n\nUse `override=true` query parameter to force version creation even with stale baseVersion.\n\nSet 'copy_from_dataset_id' and 'copy_from_version_id' together on the request body to read\ncarry-forward rows from the supplied (dataset, version) pair instead of the destination's\nprior version. When the fields are null, carry-forward rows are read from the destination's\nprior version.\n","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"override","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemChanges_Public"}}}}}},"/v1/private/datasets/items/batch":{"patch":{"operationId":"datasets_batchUpdateDatasetItems","summary":"Batch update dataset items","description":"Update multiple dataset items","tags":["datasets"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemBatchUpdate"}}}}}},"/v1/private/datasets":{"get":{"operationId":"datasets_findDatasets","summary":"Find datasets","description":"Find datasets","tags":["datasets"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"with_experiments_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"with_optimizations_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"prompt_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"name","in":"query","description":"Filter datasets by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dataset resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetPage_Public"}}}}}},"post":{"operationId":"datasets_createDataset","summary":"Create dataset","description":"Create dataset","tags":["datasets"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datasets_createDataset_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset_Write"}}}}}},"/v1/private/datasets/items":{"put":{"operationId":"datasets_createOrUpdateDatasetItems","summary":"Create/update dataset items","description":"Create/update dataset items based on dataset item id.\nEach item's 'id' field is the stable identifier and upsert key.\nProvide it to update an existing item, or omit it to create a new one.\n\nSet 'copy_from_dataset_id' and 'copy_from_version_id' together to read carry-forward rows\nfrom the supplied (dataset, version) pair instead of the destination's prior version. When\nthe fields are null, carry-forward rows are read from the destination's prior version.","tags":["datasets"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemBatch_Write"}}}}}},"/v1/private/datasets/items/from-csv":{"post":{"operationId":"datasets_createDatasetItemsFromCsv","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.","tags":["datasets"],"responses":{"202":{"description":"Accepted - CSV processing started","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datasets_createDatasetItemsFromCsv_Response_202"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/V1PrivateDatasetsItemsFromCsvPostRequestBodyContentMultipartFormDataSchemaFile"},"dataset_id":{"type":"string","format":"uuid"}},"required":["file","dataset_id"]}}}}}},"/v1/private/datasets/items/from-json":{"post":{"operationId":"datasets_createDatasetItemsFromJson","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.\nJSONL files contain one JSON object per non-blank line; multi-line JSON objects are not supported.\nReserved keys (id, source, description, tags, evaluators, execution_policy) are extracted into the\ncorresponding DatasetItem fields; all remaining keys form the item's data map and preserve their JSON types.\nTo link dataset items to specific traces or spans use the dedicated /items/from-traces or /items/from-spans endpoints.\nProcessing happens asynchronously in batches. With dataset versioning enabled, a supplied id acts as an upsert key.","tags":["datasets"],"responses":{"202":{"description":"Accepted - JSON processing started","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datasets_createDatasetItemsFromJson_Response_202"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFile"},"dataset_id":{"type":"string","format":"uuid"},"format":{"$ref":"#/components/schemas/V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFormat"}},"required":["file","dataset_id","format"]}}}}}},"/v1/private/datasets/{dataset_id}/items/from-spans":{"post":{"operationId":"datasets_createDatasetItemsFromSpans","summary":"Create dataset items from spans","description":"Create dataset items from spans with enriched metadata","tags":["datasets"],"parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDatasetItemsFromSpansRequest"}}}}}},"/v1/private/datasets/{dataset_id}/items/from-traces":{"post":{"operationId":"datasets_createDatasetItemsFromTraces","summary":"Create dataset items from traces","description":"Create dataset items from traces with enriched metadata","tags":["datasets"],"parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDatasetItemsFromTracesRequest"}}}}}},"/v1/private/datasets/{id}":{"get":{"operationId":"datasets_getDatasetById","summary":"Get dataset by id","description":"Get dataset by id","tags":["datasets"],"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":{"operationId":"datasets_updateDataset","summary":"Update dataset by id","description":"Update dataset by id","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetUpdate"}}}}},"delete":{"operationId":"datasets_deleteDataset","summary":"Delete dataset by id","description":"Delete dataset by id","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/v1/private/datasets/delete":{"post":{"operationId":"datasets_deleteDatasetByName","summary":"Delete dataset by name","description":"Delete dataset by name","tags":["datasets"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetIdentifier"}}}}}},"/v1/private/datasets/items/delete":{"post":{"operationId":"datasets_deleteDatasetItems","summary":"Delete dataset items","description":"Delete dataset items using one of two modes:\n1. **Delete by IDs**: Provide 'item_ids' to delete specific items by their IDs\n2. **Delete by filters**: Provide 'dataset_id' with optional 'filters' to delete items matching criteria\n\nWhen using filters, an empty 'filters' array will delete all items in the specified dataset.\n","tags":["datasets"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad request - invalid parameters or conflicting fields","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemsDelete"}}}}}},"/v1/private/datasets/delete-batch":{"post":{"operationId":"datasets_deleteDatasetsBatch","summary":"Delete datasets","description":"Delete datasets batch","tags":["datasets"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/datasets/export-jobs/{jobId}/download":{"get":{"operationId":"datasets_downloadDatasetExport","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.","tags":["datasets"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"CSV file content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Export job is not ready for download","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Export job not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/datasets/{id}/expansions":{"post":{"operationId":"datasets_expandDataset","summary":"Expand dataset with synthetic samples","description":"Generate synthetic dataset samples using LLM based on existing data patterns","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Generated synthetic samples","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetExpansionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetExpansion_Write"}}}}}},"/v1/private/datasets/{id}/items/experiments/items":{"get":{"operationId":"datasets_findDatasetItemsWithExperimentItems","summary":"Find dataset items with experiment items","description":"Find dataset items with experiment items","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"experiment_ids","in":"query","required":true,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"truncate","in":"query","description":"Truncate image included in either input, output or metadata","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Dataset item resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemPage_Compare"}}}}}}},"/v1/private/datasets/retrieve":{"post":{"operationId":"datasets_getDatasetByIdentifier","summary":"Get dataset by name","description":"Get dataset by name","tags":["datasets"],"responses":{"200":{"description":"Dataset resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetIdentifier_Public"}}}}}},"/v1/private/datasets/{id}/items/experiments/items/stats":{"get":{"operationId":"datasets_getDatasetExperimentItemsStats","summary":"Get experiment items stats for dataset","description":"Get experiment items stats for dataset","tags":["datasets"],"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","required":false,"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":{"operationId":"datasets_getDatasetExportJob","summary":"Get dataset export job status","description":"Retrieves the current status of a dataset export job","tags":["datasets"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/datasets/export-jobs":{"get":{"operationId":"datasets_getDatasetExportJobs","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.","tags":["datasets"],"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":{"operationId":"datasets_getDatasetItemById","summary":"Get dataset item by id","description":"Get dataset item by id","tags":["datasets"],"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":{"operationId":"datasets_patchDatasetItem","summary":"Partially update dataset item by id","description":"Partially update dataset item by id. Only provided fields will be updated.","tags":["datasets"],"parameters":[{"name":"itemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Dataset item not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItem_Write"}}}}}},"/v1/private/datasets/{id}/items":{"get":{"operationId":"datasets_getDatasetItems","summary":"Get dataset items","description":"Get dataset items","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"version","in":"query","description":"Version hash or tag to fetch specific dataset version","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"truncate","in":"query","description":"Truncate image included in either input, output or metadata","required":false,"schema":{"type":"boolean"}}],"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":{"operationId":"datasets_getDatasetItemsOutputColumns","summary":"Get dataset items output columns","description":"Get dataset items output columns","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"experiment_ids","in":"query","required":false,"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":{"operationId":"datasets_markDatasetExportJobViewed","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.","tags":["datasets"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Job marked as viewed","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Export job not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/datasets/{id}/export":{"post":{"operationId":"datasets_startDatasetExport","summary":"Start dataset CSV export","description":"Initiates an asynchronous CSV export job for the dataset. Returns immediately with job details for polling.","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Existing export job in progress","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetExportJob_Public"}}}}}}},"/v1/private/datasets/items/stream":{"post":{"operationId":"datasets_streamDatasetItems","summary":"Stream dataset items","description":"Stream dataset items","tags":["datasets"],"responses":{"200":{"description":"Dataset items stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datasets_streamDatasetItems_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetItemStreamRequest"}}}}}},"/v1/private/datasets/{id}/versions/diff":{"get":{"operationId":"datasets_compareDatasetVersions","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.","tags":["datasets"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/datasets/{id}/versions/hash/{versionHash}/tags":{"post":{"operationId":"datasets_createVersionTag","summary":"Create version tag","description":"Add a tag to a specific dataset version for easy reference (e.g., 'baseline', 'v1.0', 'production')","tags":["datasets"],"parameters":[{"name":"versionHash","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Tag created successfully","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetVersionTag"}}}}}},"/v1/private/datasets/{id}/versions/{versionHash}/tags/{tag}":{"delete":{"operationId":"datasets_deleteVersionTag","summary":"Delete version tag","description":"Remove a tag from a dataset version. The version itself is not deleted, only the tag reference.","tags":["datasets"],"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","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/v1/private/datasets/{id}/versions":{"get":{"operationId":"datasets_listDatasetVersions","summary":"List dataset versions","description":"Get paginated list of versions for a dataset, ordered by creation time (newest first)","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}}],"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":{"operationId":"datasets_restoreDatasetVersion","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).","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}},"409":{"description":"Concurrent modification - the latest version changed during the restore; retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetVersionRestore_Public"}}}}}},"/v1/private/datasets/{id}/versions/retrieve":{"post":{"operationId":"datasets_retrieveDatasetVersion","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.","tags":["datasets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetVersionRetrieveRequest_Public"}}}}}},"/v1/private/datasets/{id}/versions/hash/{versionHash}":{"patch":{"operationId":"datasets_updateDatasetVersion","summary":"Update dataset version","description":"Update a dataset version's change_description and/or add new tags","tags":["datasets"],"parameters":[{"name":"versionHash","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetVersionUpdate_Public"}}}}}},"/v1/private/environments":{"get":{"operationId":"environments_findEnvironments","summary":"Find environments","description":"Find environments for the workspace. Capped at the workspace limit (default 20).","tags":["environments"],"responses":{"200":{"description":"Environments page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentPage_Public"}}}}}},"post":{"operationId":"environments_createEnvironment","summary":"Create environment","description":"Create environment","tags":["environments"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environments_createEnvironment_Response_201"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment_Write"}}}}}},"/v1/private/environments/delete":{"post":{"operationId":"environments_deleteEnvironmentsBatch","summary":"Delete environments","description":"Delete environments batch. Idempotent — missing ids are silently ignored.","tags":["environments"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/environments/{id}":{"get":{"operationId":"environments_getEnvironmentById","summary":"Get environment by id","description":"Get environment by id","tags":["environments"],"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":{"operationId":"environments_updateEnvironment","summary":"Update environment by id","description":"Update environment by id","tags":["environments"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentUpdate"}}}}}},"/v1/private/experiments/batch":{"patch":{"operationId":"experiments_batchUpdateExperiments","summary":"Batch update experiments","description":"Update multiple experiments","tags":["experiments"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentBatchUpdate"}}}}}},"/v1/private/experiments":{"get":{"operationId":"experiments_findExperiments","summary":"Find experiments","description":"Find experiments","tags":["experiments"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"datasetId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"optimization_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter experiments by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"dataset_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"prompt_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"experiment_ids","in":"query","description":"Filter experiments by a list of experiment IDs","required":false,"schema":{"type":"string"}},{"name":"force_sorting","in":"query","description":"Force sorting even when exceeding the endpoint result set limit. May result in slower queries","required":false,"schema":{"type":"boolean","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":{"operationId":"experiments_createExperiment","summary":"Create experiment","description":"Create experiment","tags":["experiments"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiments_createExperiment_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiment_Write"}}}}}},"/v1/private/experiments/items":{"post":{"operationId":"experiments_createExperimentItems","summary":"Create experiment items","description":"Create experiment items","tags":["experiments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentItemsBatch"}}}}}},"/v1/private/experiments/items/delete":{"post":{"operationId":"experiments_deleteExperimentItems","summary":"Delete experiment items","description":"Delete experiment items","tags":["experiments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentItemsDelete"}}}}}},"/v1/private/experiments/delete":{"post":{"operationId":"experiments_deleteExperimentsById","summary":"Delete experiments by id","description":"Delete experiments by id","tags":["experiments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIdsHolder"}}}}}},"/v1/private/experiments/execute":{"post":{"operationId":"experiments_executeExperiment","summary":"Create and execute experiment","description":"Creates experiments for each prompt variant and asynchronously processes all dataset items","tags":["experiments"],"responses":{"202":{"description":"Experiments created and processing started","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentExecutionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentExecutionRequest"}}}}}},"/v1/private/experiments/items/bulk":{"put":{"operationId":"experiments_experimentItemsBulk","summary":"Record experiment items in bulk","description":"Record experiment items in bulk with traces, spans, and feedback scores. Maximum request size is 4MB.","tags":["experiments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentItemBulkUpload_ExperimentItemBulkWriteView"}}}}}},"/v1/private/experiments/feedback-scores/names":{"get":{"operationId":"experiments_findFeedbackScoreNames","summary":"Find Feedback Score names","description":"Find Feedback Score names","tags":["experiments"],"parameters":[{"name":"experiment_ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"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":{"operationId":"experiments_findExperimentGroups","summary":"Find experiment groups","description":"Find experiments grouped by specified fields","tags":["experiments"],"parameters":[{"name":"groups","in":"query","required":false,"schema":{"type":"string"}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter experiments by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filters","in":"query","required":false,"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":{"operationId":"experiments_findExperimentGroupsAggregations","summary":"Find experiment groups with aggregations","description":"Find experiments grouped by specified fields with aggregation metrics","tags":["experiments"],"parameters":[{"name":"groups","in":"query","required":false,"schema":{"type":"string"}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter experiments by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_deleted","in":"query","description":"Filter experiments by deleted projects","required":false,"schema":{"type":"boolean"}},{"name":"filters","in":"query","required":false,"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":{"operationId":"experiments_finishExperiments","summary":"Finish experiments","description":"Finish experiments and trigger alert events","tags":["experiments"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIdsHolder"}}}}}},"/v1/private/experiments/{id}":{"get":{"operationId":"experiments_getExperimentById","summary":"Get experiment by id","description":"Get experiment by id","tags":["experiments"],"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":{"operationId":"experiments_updateExperiment","summary":"Update experiment by id","description":"Update experiment by id","tags":["experiments"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentUpdate"}}}}}},"/v1/private/experiments/items/{id}":{"get":{"operationId":"experiments_getExperimentItemById","summary":"Get experiment item by id","description":"Get experiment item by id","tags":["experiments"],"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":{"operationId":"experiments_streamExperimentItems","summary":"Stream experiment items","description":"Stream experiment items","tags":["experiments"],"responses":{"200":{"description":"Experiment items stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiments_streamExperimentItems_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentItemStreamRequest"}}}}}},"/v1/private/experiments/stream":{"post":{"operationId":"experiments_streamExperiments","summary":"Stream experiments","description":"Stream experiments","tags":["experiments"],"responses":{"200":{"description":"Experiments stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Experiments_streamExperiments_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentStreamRequest_Public"}}}}}},"/v1/private/feedback-definitions":{"get":{"operationId":"feedbackDefinitions_findFeedbackDefinitions","summary":"Find Feedback definitions","description":"Find Feedback definitions","tags":["feedbackDefinitions"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter feedback definitions by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateFeedbackDefinitionsGetParametersType"}}],"responses":{"200":{"description":"Feedback definitions resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackDefinitionPage_Public"}}}}}},"post":{"operationId":"feedbackDefinitions_createFeedbackDefinition","summary":"Create feedback definition","description":"Get feedback definition","tags":["feedbackDefinitions"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback-definitions_createFeedbackDefinition_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback_Create"}}}}}},"/v1/private/feedback-definitions/{id}":{"get":{"operationId":"feedbackDefinitions_getFeedbackDefinitionById","summary":"Get feedback definition by id","description":"Get feedback definition by id","tags":["feedbackDefinitions"],"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":{"operationId":"feedbackDefinitions_updateFeedbackDefinition","summary":"Update feedback definition by id","description":"Update feedback definition by id","tags":["feedbackDefinitions"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback_Update"}}}}},"delete":{"operationId":"feedbackDefinitions_deleteFeedbackDefinitionById","summary":"Delete feedback definition by id","description":"Delete feedback definition by id","tags":["feedbackDefinitions"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/feedback-definitions/delete":{"post":{"operationId":"feedbackDefinitions_deleteFeedbackDefinitionsBatch","summary":"Delete feedback definitions","description":"Delete feedback definitions batch","tags":["feedbackDefinitions"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/guardrails":{"post":{"operationId":"guardrails_createGuardrails","summary":"Create guardrails for traces in a batch","description":"Batch guardrails for traces","tags":["guardrails"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuardrailBatch_Write"}}}}}},"/v1/private/insights-views":{"get":{"operationId":"insightsViews_findInsightsViews","summary":"Find insights views","description":"Find insights views in a workspace","tags":["insightsViews"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter insights views by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Insights view page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardPage_Public"}}}}}},"post":{"operationId":"insightsViews_createInsightsView","summary":"Create insights view","description":"Create a new insights view in a workspace","tags":["insightsViews"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Write"}}}}}},"/v1/private/insights-views/{insightsViewId}":{"get":{"operationId":"insightsViews_getInsightsViewById","summary":"Get insights view by id","description":"Get insights view by id","tags":["insightsViews"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"delete":{"operationId":"insightsViews_deleteInsightsView","summary":"Delete insights view","description":"Delete insights view by id","tags":["insightsViews"],"parameters":[{"name":"insightsViewId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"patch":{"operationId":"insightsViews_updateInsightsView","summary":"Update insights view","description":"Update insights view by id. Partial updates are supported - only provided fields will be updated.","tags":["insightsViews"],"parameters":[{"name":"insightsViewId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Updated insights view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard_Public"}}}},"404":{"description":"Insights view not found","content":{"application/json":{"schema":{"description":"Any type"}}}},"409":{"description":"Conflict - insights view with this name already exists","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardUpdate_Public"}}}}}},"/v1/private/insights-views/delete-batch":{"post":{"operationId":"insightsViews_deleteInsightsViewsBatch","summary":"Delete insights views","description":"Delete insights views batch","tags":["insightsViews"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/insights-views/{insightsViewId}/widgets/{widgetId}/query":{"post":{"operationId":"insightsViews_runInsightsViewWidgetQuery","summary":"Run a saved widget query","description":"Runs the query saved on an Ollie chart widget of this insights view over the given date range and returns its rows. The query is read from the saved widget; the request carries no SQL. Returns 501 when Ollie or Custom Charts is not enabled for the workspace.","tags":["insightsViews"],"parameters":[{"name":"insightsViewId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"widgetId","in":"path","required":true,"schema":{"type":"string"}}],"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"}}}},"404":{"description":"Insights view not found, or the widget has no dashboard saved query","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"429":{"description":"Too many queries are running; retry after the Retry-After delay","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"501":{"description":"Ollie or Custom Charts is not enabled for this workspace","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardWidgetQueryRequest"}}}}}},"/v1/private/llm/models":{"get":{"operationId":"llmModels_getLlmModels","summary":"Get LLM models","description":"Get the list of supported LLM models grouped by provider","tags":["llmModels"],"responses":{"200":{"description":"LLM models by provider","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/v1/private/llm-provider-key/delete":{"post":{"operationId":"llmProviderKey_deleteLlmProviderApiKeysBatch","summary":"Delete LLM Provider's ApiKeys","description":"Delete LLM Provider's ApiKeys batch","tags":["llmProviderKey"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/llm-provider-key":{"get":{"operationId":"llmProviderKey_findLlmProviderKeys","summary":"Find LLM Provider's ApiKeys","description":"Find LLM Provider's ApiKeys","tags":["llmProviderKey"],"responses":{"200":{"description":"LLMProviderApiKey resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderApiKeyPage_Public"}}}}}},"post":{"operationId":"llmProviderKey_storeLlmProviderApiKey","summary":"Store LLM Provider's ApiKey","description":"Store LLM Provider's ApiKey","tags":["llmProviderKey"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlmProviderKey_storeLlmProviderApiKey_Response_201"}}}},"401":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Access forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderApiKey_Write"}}}}}},"/v1/private/llm-provider-key/{id}":{"get":{"operationId":"llmProviderKey_getLlmProviderApiKeyById","summary":"Get LLM Provider's ApiKey by id","description":"Get LLM Provider's ApiKey by id","tags":["llmProviderKey"],"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":{"operationId":"llmProviderKey_updateLlmProviderApiKey","summary":"Update LLM Provider's ApiKey","description":"Update LLM Provider's ApiKey. api_key and auth_config are mutually exclusive: setting a valid auth_config on a provider that holds a static api_key clears the stored key; send auth_config as an empty object to clear the recipe and switch back to a static key","tags":["llmProviderKey"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderApiKeyUpdate"}}}}}},"/v1/private/llm-provider-key/auth-config/test":{"post":{"operationId":"llmProviderKey_testLlmProviderAuthConfig","summary":"Test a provider's dynamic token auth","description":"Runs the token fetch once, backend-side, and reports the token lifetime. The token itself is never returned. Send provider_id to test the stored config, auth_config to test submitted values, or both to resolve secret sentinels against the stored config.","tags":["llmProviderKey"],"responses":{"200":{"description":"Token fetched","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Bad Request — the token fetch itself failed (unreachable URL, rejected credentials, malformed reply)","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"}}}},"422":{"description":"Unprocessable Content — the request is invalid (neither provider_id nor auth_config, or an invalid auth_config)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderAuthCheck"}}}}}},"/v1/private/local-runners/jobs/{jobId}/logs":{"get":{"operationId":"runners_getJobLogs","summary":"Get local runner job logs","description":"Get log entries for a local runner job","tags":["runners"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"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":{"operationId":"runners_appendJobLogs","summary":"Append local runner job logs","description":"Append log entries for a running local runner job","tags":["runners"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LocalRunnerLogEntry"}}}}}}},"/v1/private/local-runners/jobs/{jobId}/cancel":{"post":{"operationId":"runners_cancelJob","summary":"Cancel local runner job","description":"Cancel a pending or running local runner job","tags":["runners"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/local-runners/{runnerId}/bridge/commands":{"post":{"operationId":"runners_createBridgeCommand","summary":"Submit bridge command","description":"Submit a bridge command for execution by the local daemon","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Command submitted","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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeCommandSubmitRequest"}}}}}},"/v1/private/local-runners/jobs":{"post":{"operationId":"runners_createJob","summary":"Create local runner job","description":"Create a local runner job and enqueue it for execution","tags":["runners"],"responses":{"201":{"description":"Job created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Runners_createJob_Response_201"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLocalRunnerJobRequest"}}}}}},"/v1/private/local-runners/{runnerId}":{"get":{"operationId":"runners_getRunner","summary":"Get local runner","description":"Get a single local runner with its registered agents","tags":["runners"],"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":{"operationId":"runners_disconnectRunner","summary":"Disconnect local runner","description":"Disconnect a local runner, terminating its connection and failing any pending jobs","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/v1/private/local-runners/{runnerId}/bridge/commands/{commandId}":{"get":{"operationId":"runners_getBridgeCommand","summary":"Get bridge command","description":"Get bridge command status, optionally long-polling for completion","tags":["runners"],"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","required":false,"schema":{"type":"boolean","default":false}},{"name":"timeout","in":"query","required":false,"schema":{"type":"integer","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":{"operationId":"runners_getJob","summary":"Get local runner job","description":"Get a single local runner job's status and results","tags":["runners"],"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":{"operationId":"runners_heartbeat","summary":"Local runner heartbeat","description":"Refresh local runner heartbeat","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalRunnerHeartbeatRequest"}}}}}},"/v1/private/local-runners/{runnerId}/jobs":{"get":{"operationId":"runners_listJobs","summary":"List local runner jobs","description":"List jobs for a local runner","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"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":{"operationId":"runners_listRunners","summary":"List local runners","description":"List local runners owned by the current user in the workspace","tags":["runners"],"parameters":[{"name":"project_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateLocalRunnersGetParametersStatus"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"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":{"operationId":"runners_nextBridgeCommands","summary":"Poll next bridge commands","description":"Long-poll for pending bridge commands (batch)","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeCommandNextRequest"}}}}}},"/v1/private/local-runners/{runnerId}/jobs/next":{"post":{"operationId":"runners_nextJob","summary":"Next local runner job","description":"Long-poll for the next pending local runner job","tags":["runners"],"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":{"$ref":"#/components/schemas/LocalRunnerJob"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/local-runners/{runnerId}/checklist":{"patch":{"operationId":"runners_patchChecklist","summary":"Patch runner checklist","description":"Partial update of the runner's checklist (deep merge)","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"/v1/private/local-runners/{runnerId}/agents":{"put":{"operationId":"runners_registerAgents","summary":"Register local runner agents","description":"Register or update the local runner's agent list","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"description":"Map of agent name to agent definition","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"/v1/private/local-runners/{runnerId}/bridge/commands/{commandId}/results":{"post":{"operationId":"runners_reportBridgeResult","summary":"Report bridge command result","description":"Report bridge command completion or failure","tags":["runners"],"parameters":[{"name":"runnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"commandId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Result accepted","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeCommandResultRequest"}}}}}},"/v1/private/local-runners/jobs/{jobId}/results":{"post":{"operationId":"runners_reportJobResult","summary":"Report local runner job result","description":"Report local runner job completion or failure","tags":["runners"],"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalRunnerJobResultRequest"}}}}}},"/v1/private/manual-evaluation/spans":{"post":{"operationId":"manualEvaluation_evaluateSpans","summary":"Manually evaluate spans","description":"Manually trigger evaluation rules on selected spans. Bypasses sampling and enqueues all specified spans for evaluation.","tags":["manualEvaluation"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualEvaluationRequest"}}}}}},"/v1/private/manual-evaluation/threads":{"post":{"operationId":"manualEvaluation_evaluateThreads","summary":"Manually evaluate threads","description":"Manually trigger evaluation rules on selected threads. Bypasses sampling and enqueues all specified threads for evaluation.","tags":["manualEvaluation"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualEvaluationRequest"}}}}}},"/v1/private/manual-evaluation/traces":{"post":{"operationId":"manualEvaluation_evaluateTraces","summary":"Manually evaluate traces","description":"Manually trigger evaluation rules on selected traces. Bypasses sampling and enqueues all specified traces for evaluation.","tags":["manualEvaluation"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualEvaluationRequest"}}}}}},"/v1/private/ollama/models":{"post":{"operationId":"ollama_listModels","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.","tags":["ollama"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}},"503":{"description":"Ollama provider is disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaInstanceBaseUrlRequest"}}}}}},"/v1/private/ollama/test-connection":{"post":{"operationId":"ollama_testConnection","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.","tags":["ollama"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaInstanceBaseUrlRequest"}}}}}},"/v1/private/ollie/state":{"get":{"operationId":"ollieState_downloadOllieState","summary":"Download ollie state","description":"Download stored ollie state file","tags":["ollieState"],"responses":{"200":{"description":"Ollie state file","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}},"put":{"operationId":"ollieState_replaceOllieState","summary":"Replace ollie state","description":"Upload gzip-compressed SQLite DB file, replacing any existing state","tags":["ollieState"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}}},"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}},"delete":{"operationId":"ollieState_deleteOllieState","summary":"Delete ollie state","description":"Clear stored ollie state","tags":["ollieState"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/otel/v1/traces":{"post":{"operationId":"openTelemetryIngestion_receiveProtobufTraces","summary":"Receive Protobuf Traces","tags":["openTelemetryIngestion"],"responses":{"200":{"description":"Successful response"}}}},"/v1/private/optimizations":{"get":{"operationId":"optimizations_findOptimizations","summary":"Find optimizations","description":"Find optimizations","tags":["optimizations"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"dataset_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"name","in":"query","description":"Filter optimizations by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"dataset_name","in":"query","description":"Filter optimizations by dataset name (partial match)","required":false,"schema":{"type":"string"}},{"name":"dataset_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"filters","in":"query","required":false,"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"}}}}}},"post":{"operationId":"optimizations_createOptimization","summary":"Create optimization","description":"Create optimization","tags":["optimizations"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Optimizations_createOptimization_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Optimization_Write"}}}}},"put":{"operationId":"optimizations_upsertOptimization","summary":"Upsert optimization","description":"Upsert optimization","tags":["optimizations"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Optimizations_upsertOptimization_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Optimization_Write"}}}}}},"/v1/private/optimizations/delete":{"post":{"operationId":"optimizations_deleteOptimizationsById","summary":"Delete optimizations by id","description":"Delete optimizations by id","tags":["optimizations"],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIdsHolder"}}}}}},"/v1/private/optimizations/{id}":{"get":{"operationId":"optimizations_getOptimizationById","summary":"Get optimization by id","description":"Get optimization by id","tags":["optimizations"],"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":{"operationId":"optimizations_updateOptimizationsById","summary":"Update optimization by id","description":"Update optimization by id","tags":["optimizations"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizationUpdate"}}}}}},"/v1/private/optimizations/studio/{id}/logs":{"get":{"operationId":"optimizations_getStudioOptimizationLogs","summary":"Get Studio optimization logs","description":"Get presigned S3 URL for downloading optimization logs","tags":["optimizations"],"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":{"operationId":"pairing_activatePairingSession","summary":"Activate a pairing session","description":"Verify the activation HMAC and flip the runner row to CONNECTED","tags":["pairing"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Session activated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pairing_activatePairingSession_Response_201"}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateRequest"}}}}}},"/v1/private/pairing/sessions":{"post":{"operationId":"pairing_createPairingSession","summary":"Create a pairing session","description":"Register a short-lived pairing session that a local daemon will later activate via HMAC","tags":["pairing"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSessionRequest"}}}}}},"/v1/private/projects/{projectId}/alerts":{"get":{"operationId":"projects_findAlertsByProject","summary":"Find alerts by project","description":"Find alerts scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"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":{"operationId":"projects_findDashboardsByProject","summary":"Find dashboards by project","description":"Find dashboards scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter dashboards by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardPage_Public"}}}}}}},"/v1/private/projects/{projectId}/datasets":{"get":{"operationId":"projects_findDatasetsByProject","summary":"Find datasets by project","description":"Find datasets scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"with_experiments_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"with_optimizations_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"name","in":"query","description":"Filter datasets by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dataset page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetPage_Public"}}}}}}},"/v1/private/projects/{projectId}/experiments":{"get":{"operationId":"projects_findExperimentsByProject","summary":"Find experiments by project","description":"Find experiments scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"datasetId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"optimization_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter experiments by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"dataset_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"experiment_ids","in":"query","description":"Filter experiments by a list of experiment IDs","required":false,"schema":{"type":"string"}},{"name":"force_sorting","in":"query","description":"Force sorting even when exceeding the endpoint result set limit. May result in slower queries","required":false,"schema":{"type":"boolean","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":{"operationId":"projects_findOptimizationsByProject","summary":"Find optimizations by project","description":"Find optimizations scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"dataset_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"dataset_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter optimizations by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"dataset_deleted","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filters","in":"query","required":false,"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":{"operationId":"projects_getPromptsByProject","summary":"Get prompts by project","description":"Get prompts scoped to a project","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter prompts by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptPage_Public"}}}}}}},"/v1/private/projects":{"get":{"operationId":"projects_findProjects","summary":"Find projects","description":"Find projects","tags":["projects"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter projects by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPage_Public"}}}}}},"post":{"operationId":"projects_createProject","summary":"Create project","description":"Create project","tags":["projects"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Projects_createProject_Response_201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project_Write"}}}}}},"/v1/private/projects/{id}":{"get":{"operationId":"projects_getProjectById","summary":"Get project by id","description":"Get project by id","tags":["projects"],"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":{"operationId":"projects_deleteProjectById","summary":"Delete project by id","description":"Delete project by id","tags":["projects"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"patch":{"operationId":"projects_updateProject","summary":"Update project by id","description":"Update project by id","tags":["projects"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdate"}}}}}},"/v1/private/projects/delete":{"post":{"operationId":"projects_deleteProjectsBatch","summary":"Delete projects","description":"Delete projects batch","tags":["projects"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/projects/feedback-scores/names":{"get":{"operationId":"projects_findFeedbackScoreNamesByProjectIds","summary":"Find Feedback Score names By Project Ids","description":"Find Feedback Score names By Project Ids","tags":["projects"],"parameters":[{"name":"project_ids","in":"query","required":false,"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":{"operationId":"projects_findTokenUsageNames","summary":"Find Token Usage names","description":"Find Token Usage names","tags":["projects"],"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":{"operationId":"projects_getProjectKpiCards","summary":"Get Project KPI Cards","description":"Gets KPI card metrics for a project","tags":["projects"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KpiCardRequest"}}}}}},"/v1/private/projects/{id}/metrics":{"post":{"operationId":"projects_getProjectMetrics","summary":"Get Project Metrics","description":"Gets specified metrics for a project","tags":["projects"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectMetricRequest_Public"}}}}}},"/v1/private/projects/stats":{"get":{"operationId":"projects_getProjectStats","summary":"Get Project Stats","description":"Get Project Stats","tags":["projects"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter projects by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"When set, scope the project metrics from this time (ISO-8601 format); omitted keeps the all-time aggregates","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Scope the project metrics up to this time (ISO-8601 format). Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project Stats","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectStatsSummary"}}}}}}},"/v1/private/projects/retrieve":{"post":{"operationId":"projects_retrieveProject","summary":"Retrieve project","description":"Retrieve project","tags":["projects"],"responses":{"200":{"description":"Project resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project_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"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Detailed"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRetrieve_Detailed"}}}}}},"/v1/private/projects/{projectId}/activities":{"get":{"operationId":"projects_getRecentActivity","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.","tags":["projects"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"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/prompts":{"get":{"operationId":"prompts_getPrompts","summary":"Get prompts","description":"Get prompts","tags":["prompts"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"name","in":"query","description":"Filter prompts by name (partial match, case insensitive)","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptPage_Public"}}}}}},"post":{"operationId":"prompts_createPrompt","summary":"Create prompt","description":"Create prompt","tags":["prompts"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompts_createPrompt_Response_201"}}}},"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt_Write"}}}}}},"/v1/private/prompts/versions":{"post":{"operationId":"prompts_createPromptVersion","summary":"Create prompt version","description":"Create prompt version","tags":["prompts"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersion_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"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Detail"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePromptVersion_Detail"}}}}},"patch":{"operationId":"prompts_updatePromptVersions","summary":"Update prompt versions","description":"Update one or more prompt versions.\n\nNote: Prompt versions are immutable by design.\nOnly organizational properties, such as tags etc., can be updated.\nCore properties like template and metadata cannot be modified after creation.\n\nPATCH semantics:\n- non-empty values update the field\n- null values preserve existing field values (no change)\n- empty values explicitly clear the field\n","tags":["prompts"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionBatchUpdate"}}}}}},"/v1/private/prompts/{id}":{"get":{"operationId":"prompts_getPromptById","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.","tags":["prompts"],"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","required":false,"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","required":false,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150}}],"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":{"operationId":"prompts_updatePrompt","summary":"Update prompt","description":"Update prompt","tags":["prompts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"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"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt_Updatable"}}}}},"delete":{"operationId":"prompts_deletePrompt","summary":"Delete prompt","description":"Delete prompt","tags":["prompts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/v1/private/prompts/delete":{"post":{"operationId":"prompts_deletePromptsBatch","summary":"Delete prompts","description":"Delete prompts batch","tags":["prompts"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/prompts/by-commit/{commit}":{"get":{"operationId":"prompts_getPromptByCommit","summary":"Get prompt by commit","description":"Get prompt by commit","tags":["prompts"],"parameters":[{"name":"commit","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9]{8}$"}}],"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":{"operationId":"prompts_getPromptVersionById","summary":"Get prompt version by id","description":"Get prompt version by id","tags":["prompts"],"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":{"operationId":"prompts_getPromptVersionByNumber","summary":"Get prompt version by sequential number","description":"Get a prompt version by its sequential v<N> number for the given prompt.","tags":["prompts"],"parameters":[{"name":"promptId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"versionNumber","in":"path","required":true,"schema":{"type":"string","pattern":"v\\d+","minLength":0,"maxLength":10}}],"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":{"operationId":"prompts_getPromptVersions","summary":"Get prompt versions","description":"Get prompt versions","tags":["prompts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"search","in":"query","description":"Search text to find in template or change description fields","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionPage_Public"}}}}}}},"/v1/private/prompts/retrieve-by-commits":{"post":{"operationId":"prompts_getPromptsByCommits","summary":"Get prompts by commits","description":"Get prompts by prompt version commits","tags":["prompts"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromptVersionLink_Public"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionCommitsRequest_Public"}}}}}},"/v1/private/prompts/{promptId}/versions/{versionId}/restore":{"post":{"operationId":"prompts_restorePromptVersion","summary":"Restore prompt version","description":"Restore a prompt version by creating a new version with the content from the specified version","tags":["prompts"],"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"}}}},"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":{"post":{"operationId":"prompts_retrievePromptVersion","summary":"Retrieve prompt version","description":"Retrieve prompt version. When project_name is supplied the lookup is scoped to that project: a prompt belonging to a different project is never matched, and an unknown project name returns 404. Legacy prompts with no project are still resolved as a deprecated fallback, signalled by the X-Opik-Deprecation response header.","tags":["prompts"],"responses":{"200":{"description":"OK","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"}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage_Detail"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionRetrieve_Detail"}}}}}},"/v1/private/prompts/versions/retrieve-by-ids":{"post":{"operationId":"prompts_retrievePromptVersionsByIds","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.","tags":["prompts"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionIdsRequest_Detail"}}}}}},"/v1/private/prompts/versions/{versionId}/environments":{"patch":{"operationId":"prompts_setPromptVersionEnvironment","summary":"Set prompt version environment","description":"Set or clear the environment owned by a prompt version.\nSetting a non-null environment moves ownership atomically: any previous owner of that\nenvironment for the same prompt has its environment cleared in the same transaction.\nSetting null clears the environment from the version.\nThe environment must already exist in the workspace registry; unknown names return 404.\n","tags":["prompts"],"parameters":[{"name":"versionId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionEnvironmentUpdate"}}}}}},"/v1/private/report-failures":{"get":{"operationId":"reportFailures_findReportFailures","summary":"List failures for a project","description":"Returns failures for the given project id and type, most recent first.","tags":["reportFailures"],"parameters":[{"name":"type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/V1PrivateReportFailuresGetParametersType"}},{"name":"project_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"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":{"operationId":"reportFailures_createReportFailure","summary":"Record a report/job failure","description":"Appends a failure row keyed by (project_id, type). Append-only — never overwrites earlier failures.","tags":["reportFailures"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report_Failures_createReportFailure_Response_201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportFailure"}}}}}},"/v1/private/projects/{projectId}/reports/{reportId}/complete":{"post":{"operationId":"reports_completeReport","summary":"Complete report generation","description":"Callback from Ollie to update report status and content after generation.","tags":["reports"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"reportId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Report updated","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Status is not terminal","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Report not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportCompleteRequest"}}}}}},"/v1/private/projects/{projectId}/reports/generate":{"post":{"operationId":"reports_generateReport","summary":"Trigger report generation","description":"Creates a pending report and triggers asynchronous generation via the orchestrator.","tags":["reports"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/projects/{projectId}/reports/preferences":{"get":{"operationId":"reports_getReportPreference","summary":"Get report preferences","description":"Returns report preferences for a project, or null if none have been set.","tags":["reports"],"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":{"operationId":"reports_updateReportPreference","summary":"Update report preferences","description":"Enable or disable daily report generation for a project.","tags":["reports"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Updated preferences","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportPreference"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportPreference"}}}}}},"/v1/private/projects/{projectId}/reports":{"get":{"operationId":"reports_getReports","summary":"Get reports for a project","description":"Returns a paginated list of reports, newest first.","tags":["reports"],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10}}],"responses":{"200":{"description":"Reports page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllieReportPage"}}}}}}},"/v1/private/retention/rules":{"get":{"operationId":"retentionRules_findRetentionRules","summary":"Find retention rules","description":"List retention rules for the caller's workspace. Defaults to active only.","tags":["retentionRules"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Retention rules page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionRulePage_Public"}}}}}},"post":{"operationId":"retentionRules_createRetentionRule","summary":"Create retention rule","description":"Create a new retention rule. Auto-deactivates any existing active rule for the same scope.","tags":["retentionRules"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionRule_Public"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionRule_Write"}}}}}},"/v1/private/retention/rules/{ruleId}":{"get":{"operationId":"retentionRules_getRetentionRuleById","summary":"Get retention rule by id","description":"Get a specific retention rule by id","tags":["retentionRules"],"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","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"delete":{"operationId":"retentionRules_deactivateRetentionRule","summary":"Deactivate retention rule","description":"Soft-deactivate a retention rule (sets enabled=false). Rules are never hard-deleted for audit trail.","tags":["retentionRules"],"parameters":[{"name":"ruleId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Retention rule not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/private/toggles":{"get":{"operationId":"serviceToggles_getServiceToggles","summary":"Get Service Toggles","description":"Get Service Toggles","tags":["serviceToggles"],"responses":{"200":{"description":"Service Toggles","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceTogglesConfig"}}}}}}},"/v1/private/spans/{id}/comments":{"post":{"operationId":"spans_addSpanComment","summary":"Add span comment","description":"Add span comment","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Spans_addSpanComment_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/spans/{id}/feedback-scores":{"put":{"operationId":"spans_addSpanFeedbackScore","summary":"Add span feedback score","description":"Add span feedback score","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScore"}}}}}},"/v1/private/spans/batch":{"post":{"operationId":"spans_createSpans","summary":"Create spans","description":"Create spans","tags":["spans"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpanBatch_Write"}}}}},"patch":{"operationId":"spans_batchUpdateSpans","summary":"Batch update spans","description":"Update multiple spans","tags":["spans"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpanBatchUpdate"}}}}}},"/v1/private/spans":{"get":{"operationId":"spans_getSpansByProject","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","tags":["spans"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"trace_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateSpansGetParametersType"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"truncate","in":"query","description":"Truncate input, output and metadata to slim payloads","required":false,"schema":{"type":"boolean","default":false}},{"name":"strip_attachments","in":"query","description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects stripped attachments","required":false,"schema":{"type":"boolean","default":false}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"exclude","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across span fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter spans created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter spans created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Spans resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpanPage_Public"}}}}}},"post":{"operationId":"spans_createSpan","summary":"Create span","description":"Create span","tags":["spans"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Spans_createSpan_Response_201"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Span_Write"}}}}}},"/v1/private/spans/{id}":{"get":{"operationId":"spans_getSpanById","summary":"Get span by id","description":"Get span by id","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"strip_attachments","in":"query","description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects attachment content from S3 (default: false for backward compatibility)","required":false,"schema":{"type":"boolean","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":{"operationId":"spans_deleteSpanById","summary":"Delete span by id","description":"Delete span by id","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"501":{"description":"Not implemented","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"patch":{"operationId":"spans_updateSpan","summary":"Update span by id","description":"Update span by id","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpanUpdate"}}}}}},"/v1/private/spans/comments/delete":{"post":{"operationId":"spans_deleteSpanComments","summary":"Delete span comments","description":"Delete span comments","tags":["spans"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/spans/{id}/feedback-scores/delete":{"post":{"operationId":"spans_deleteSpanFeedbackScore","summary":"Delete span feedback score","description":"Delete span feedback score","tags":["spans"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFeedbackScore"}}}}}},"/v1/private/spans/feedback-scores/names":{"get":{"operationId":"spans_findFeedbackScoreNames_1","summary":"Find Feedback Score names","description":"Find Feedback Score names","tags":["spans"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateSpansFeedbackScoresNamesGetParametersType"}}],"responses":{"200":{"description":"Feedback Scores resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScoreNames_Public"}}}}}}},"/v1/private/spans/{spanId}/comments/{commentId}":{"get":{"operationId":"spans_getSpanComment","summary":"Get span comment","description":"Get span comment","tags":["spans"],"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":{"operationId":"spans_getSpanStats","summary":"Get span stats","description":"Get span stats","tags":["spans"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"trace_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/V1PrivateSpansStatsGetParametersType"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across span fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter spans created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter spans created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Span stats resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectStats_Public"}}}}}}},"/v1/private/spans/feedback-scores":{"put":{"operationId":"spans_scoreBatchOfSpans","summary":"Batch feedback scoring for spans","description":"Batch feedback scoring for spans","tags":["spans"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScoreBatch"}}}}}},"/v1/private/spans/search":{"post":{"operationId":"spans_searchSpans","summary":"Search spans","description":"Search spans","tags":["spans"],"responses":{"200":{"description":"Spans stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Spans_searchSpans_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpanSearchStreamRequest_Public"}}}}}},"/v1/private/spans/exists":{"get":{"operationId":"spans_exist","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.","tags":["spans"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"source","in":"query","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.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Span existence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExistenceResponse"}}}}}}},"/v1/private/spans/comments/{commentId}":{"patch":{"operationId":"spans_updateSpanComment","summary":"Update span comment by id","description":"Update span comment by id","tags":["spans"],"parameters":[{"name":"commentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/traces/threads/{id}/comments":{"post":{"operationId":"traces_addThreadComment","summary":"Add thread comment","description":"Add thread comment","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Traces_addThreadComment_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/traces/{id}/comments":{"post":{"operationId":"traces_addTraceComment","summary":"Add trace comment","description":"Add trace comment","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Traces_addTraceComment_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/traces/{id}/feedback-scores":{"put":{"operationId":"traces_addTraceFeedbackScore","summary":"Add trace feedback score","description":"Add trace feedback score","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScore"}}}}}},"/v1/private/traces/batch":{"post":{"operationId":"traces_createTraces","summary":"Create traces","description":"Create traces","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceBatch_Write"}}}}},"patch":{"operationId":"traces_batchUpdateTraces","summary":"Batch update traces","description":"Update multiple traces","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceBatchUpdate"}}}}}},"/v1/private/traces/threads/batch":{"patch":{"operationId":"traces_batchUpdateThreads","summary":"Batch update threads","description":"Update multiple threads","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadBatchUpdate"}}}}}},"/v1/private/traces/threads/close":{"put":{"operationId":"traces_closeTraceThread","summary":"Close trace thread(s)","description":"Close one or multiple trace threads. Supports both single thread_id and multiple thread_ids for batch operations.","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadBatchIdentifier"}}}}}},"/v1/private/traces":{"get":{"operationId":"traces_getTracesByProject","summary":"Get traces by project_name or project_id","description":"Get traces by project_name or project_id","tags":["traces"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"truncate","in":"query","description":"Truncate input, output and metadata to slim payloads","required":false,"schema":{"type":"boolean","default":false}},{"name":"strip_attachments","in":"query","description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects stripped attachments","required":false,"schema":{"type":"boolean","default":false}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"exclude","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across trace fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter traces created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter traces created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"annotation_queue_id","in":"query","description":"Filter traces belonging to this annotation queue and scope feedback scores/comments to it","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Trace resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TracePage_Public"}}}}}},"post":{"operationId":"traces_createTrace","summary":"Create trace","description":"Get trace","tags":["traces"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Traces_createTrace_Response_201"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trace_Write"}}}}}},"/v1/private/traces/{id}":{"get":{"operationId":"traces_getTraceById","summary":"Get trace by id","description":"Get trace by id","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"strip_attachments","in":"query","description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects attachment content from S3 (default: false for backward compatibility)","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Trace resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trace_Public"}}}}}},"delete":{"operationId":"traces_deleteTraceById","summary":"Delete trace by id","description":"Delete trace by id","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"patch":{"operationId":"traces_updateTrace","summary":"Update trace by id","description":"Update trace by id","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceUpdate"}}}}}},"/v1/private/traces/threads/comments/delete":{"post":{"operationId":"traces_deleteThreadComments","summary":"Delete thread comments","description":"Delete thread comments","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/traces/threads/feedback-scores/delete":{"post":{"operationId":"traces_deleteThreadFeedbackScores","summary":"Delete thread feedback scores","description":"Delete thread feedback scores","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteThreadFeedbackScores"}}}}}},"/v1/private/traces/comments/delete":{"post":{"operationId":"traces_deleteTraceComments","summary":"Delete trace comments","description":"Delete trace comments","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDelete"}}}}}},"/v1/private/traces/{id}/feedback-scores/delete":{"post":{"operationId":"traces_deleteTraceFeedbackScore","summary":"Delete trace feedback score","description":"Delete trace feedback score","tags":["traces"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFeedbackScore"}}}}}},"/v1/private/traces/threads/delete":{"post":{"operationId":"traces_deleteTraceThreads","summary":"Delete trace threads","description":"Delete trace threads","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTraceThreads"}}}}}},"/v1/private/traces/delete":{"post":{"operationId":"traces_deleteTraces","summary":"Delete traces","description":"Delete traces","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteByProject"}}}}}},"/v1/private/traces/feedback-scores/names":{"get":{"operationId":"traces_findFeedbackScoreNames_2","summary":"Find Feedback Score names","description":"Find Feedback Score names","tags":["traces"],"parameters":[{"name":"project_id","in":"query","required":false,"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":{"operationId":"traces_findTraceThreadsFeedbackScoreNames","summary":"Find Trace Threads Feedback Score names","description":"Find Trace Threads Feedback Score names","tags":["traces"],"parameters":[{"name":"project_id","in":"query","required":false,"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":{"operationId":"traces_getTraceStats","summary":"Get trace stats","description":"Get trace stats","tags":["traces"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across trace fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter traces created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter traces created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"annotation_queue_id","in":"query","description":"Compute stats over the traces belonging to this annotation queue and scope feedback scores to it","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Trace stats resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectStats_Public"}}}}}}},"/v1/private/traces/threads/{threadId}/comments/{commentId}":{"get":{"operationId":"traces_getThreadComment","summary":"Get thread comment","description":"Get thread comment","tags":["traces"],"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":{"operationId":"traces_getTraceThreadStats","summary":"Get trace thread stats","description":"Get trace thread stats","tags":["traces"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across thread fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter trace threads created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter trace threads created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","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":{"operationId":"traces_getTraceComment","summary":"Get trace comment","description":"Get trace comment","tags":["traces"],"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":{"operationId":"traces_getTraceThread","summary":"Get trace thread","description":"Get trace thread","tags":["traces"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadIdentifier"}}}}}},"/v1/private/traces/threads":{"get":{"operationId":"traces_getTraceThreads","summary":"Get trace threads","description":"Get trace threads","tags":["traces"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"truncate","in":"query","description":"Truncate input, output and metadata to slim payloads","required":false,"schema":{"type":"boolean","default":false}},{"name":"strip_attachments","in":"query","description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects stripped attachments","required":false,"schema":{"type":"boolean","default":false}},{"name":"filters","in":"query","required":false,"schema":{"type":"string"}},{"name":"sorting","in":"query","required":false,"schema":{"type":"string"}},{"name":"exclude","in":"query","description":"Enrichment fields to leave out of each thread, e.g. [\"annotation_queues\"]","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Full-text search across thread fields","required":false,"schema":{"type":"string"}},{"name":"from_time","in":"query","description":"Filter trace threads created from this time (ISO-8601 format).","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to_time","in":"query","description":"Filter trace threads created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"annotation_queue_id","in":"query","description":"Filter threads belonging to this annotation queue and scope feedback scores/comments to it","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Trace threads resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadPage"}}}}}}},"/v1/private/traces/threads/open":{"put":{"operationId":"traces_openTraceThread","summary":"Open trace thread","description":"Open trace thread","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadIdentifier"}}}}}},"/v1/private/traces/threads/feedback-scores":{"put":{"operationId":"traces_scoreBatchOfThreads","summary":"Batch feedback scoring for threads","description":"Batch feedback scoring for threads","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScoreBatchThread"}}}}}},"/v1/private/traces/feedback-scores":{"put":{"operationId":"traces_scoreBatchOfTraces","summary":"Batch feedback scoring for traces","description":"Batch feedback scoring for traces","tags":["traces"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackScoreBatch"}}}}}},"/v1/private/traces/threads/search":{"post":{"operationId":"traces_searchTraceThreads","summary":"Search trace threads","description":"Search trace threads","tags":["traces"],"responses":{"200":{"description":"Trace threads stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Traces_searchTraceThreads_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadSearchStreamRequest"}}}}}},"/v1/private/traces/search":{"post":{"operationId":"traces_searchTraces","summary":"Search traces","description":"Search traces","tags":["traces"],"responses":{"200":{"description":"Traces stream or error during process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Traces_searchTraces_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSearchStreamRequest_Public"}}}}}},"/v1/private/traces/exists":{"get":{"operationId":"traces_exist","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.","tags":["traces"],"parameters":[{"name":"project_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"project_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"source","in":"query","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.","required":false,"schema":{"type":"string"}},{"name":"thread_only","in":"query","description":"When true, only considers traces that belong to a thread (thread_id is set) — used by the Threads empty state.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Trace existence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExistenceResponse"}}}}}}},"/v1/private/traces/threads/{threadModelId}":{"patch":{"operationId":"traces_updateThread","summary":"Update thread","description":"Update thread","tags":["traces"],"parameters":[{"name":"threadModelId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceThreadUpdate"}}}}}},"/v1/private/traces/threads/comments/{commentId}":{"patch":{"operationId":"traces_updateThreadComment","summary":"Update thread comment by id","description":"Update thread comment by id","tags":["traces"],"parameters":[{"name":"commentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/traces/comments/{commentId}":{"patch":{"operationId":"traces_updateTraceComment","summary":"Update trace comment by id","description":"Update trace comment by id","tags":["traces"],"parameters":[{"name":"commentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}}}},"/v1/private/welcome-wizard":{"get":{"operationId":"welcomeWizard_getWelcomeWizardStatus","summary":"Get welcome wizard tracking status","description":"Get welcome wizard tracking status for the current workspace","tags":["welcomeWizard"],"responses":{"200":{"description":"Welcome wizard tracking status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeWizardTracking"}}}}}},"post":{"operationId":"welcomeWizard_submitWelcomeWizard","summary":"Submit welcome wizard","description":"Submit welcome wizard with user information","tags":["welcomeWizard"],"responses":{"204":{"description":"Welcome wizard submitted successfully","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeWizardSubmission"}}}}}},"/v1/private/workspace-permissions":{"get":{"operationId":"workspacePermissions_getWorkspaceUserPermissions","summary":"Get workspace permissions for the authenticated user","description":"Get workspace permissions for the authenticated user","tags":["workspacePermissions"],"responses":{"200":{"description":"Workspace Permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUserPermissions"}}}},"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/workspaces/costs/summaries":{"post":{"operationId":"workspaces_costsSummary","summary":"Get costs summary","description":"Get costs summary","tags":["workspaces"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetricsSummaryRequest"}}}}}},"/v1/private/workspaces/configurations":{"get":{"operationId":"workspaces_getWorkspaceConfiguration","summary":"Get workspace configuration","description":"Get workspace configuration","tags":["workspaces"],"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":{"operationId":"workspaces_upsertWorkspaceConfiguration","summary":"Upsert workspace configuration","description":"Upsert workspace configuration","tags":["workspaces"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceConfiguration"}}}}},"delete":{"operationId":"workspaces_deleteWorkspaceConfiguration","summary":"Delete workspace configuration","description":"Delete workspace configuration","tags":["workspaces"],"responses":{"204":{"description":"Configuration Deleted","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"404":{"description":"Configuration Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}},"/v1/private/workspaces/costs":{"post":{"operationId":"workspaces_getCost","summary":"Get cost daily data","description":"Get cost daily data","tags":["workspaces"],"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"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetricsSummaryRequest"}}}}}},"/v1/private/workspaces/metrics":{"post":{"operationId":"workspaces_getMetric","summary":"Get metric daily data","description":"Get metric daily data","tags":["workspaces"],"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,"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetricsSummaryRequest"}}}}}},"/v1/private/workspaces/metrics/spans":{"post":{"operationId":"workspaces_getWorkspaceSpanMetric","summary":"Get workspace span metric","description":"Gets a span metric time series aggregated across the workspace. When project_ids is empty, all projects in the workspace are included; otherwise only the given projects.","tags":["workspaces"],"responses":{"200":{"description":"Workspace span metric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetricResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSpanMetricRequest"}}}}}},"/v1/private/workspaces/token-usage/names":{"post":{"operationId":"workspaces_getWorkspaceTokenUsageNames","summary":"Get workspace token usage names","description":"Gets the distinct span token usage key names aggregated across the workspace. When project_ids is empty, all projects in the workspace are included; otherwise only the given projects.","tags":["workspaces"],"responses":{"200":{"description":"Token Usage names resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenUsageNames"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceTokenUsageNamesRequest"}}}}}},"/v1/private/workspaces/metrics/summaries":{"post":{"operationId":"workspaces_metricsSummary","summary":"Get metrics summary","description":"Get metrics summary","tags":["workspaces"],"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,"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetricsSummaryRequest"}}}}}},"/v1/session/redirect/datasets":{"get":{"operationId":"redirect_datasetsRedirect","summary":"Create dataset redirect url","description":"Create dataset redirect url","tags":["redirect"],"parameters":[{"name":"dataset_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"workspace_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}}}},"/v1/session/redirect/experiments":{"get":{"operationId":"redirect_experimentsRedirect","summary":"Create experiment redirect url","description":"Create experiment redirect url","tags":["redirect"],"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","required":false,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}}}},"/v1/session/redirect/optimizations":{"get":{"operationId":"redirect_optimizationsRedirect","summary":"Create optimization redirect url","description":"Create optimization redirect url","tags":["redirect"],"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","required":false,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}}}},"/v1/session/redirect/projects":{"get":{"operationId":"redirect_projectsRedirect","summary":"Create project redirect url","description":"Create project redirect url","tags":["redirect"],"parameters":[{"name":"trace_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"workspace_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}}}}},"tags":[{"name":"mcpOAuth","description":"MCP OAuth 2.1 Authorization Server resources"},{"name":"agentInsightsEnrollment","description":"Internal auto-first-run rollout enrollment"},{"name":"systemAnalyticsQueries","description":"Internal endpoints to run free-form analytics SQL"},{"name":"dashboardSavedQueries","description":"Internal endpoints for the queries Ollie chart widgets run"},{"name":"systemUsage","description":"System usage related resource"},{"name":"agentConfigs","description":"Agent configuration management"},{"name":"agentInsightsJobs","description":"Per-(workspace, project) Agent Insights report configuration"},{"name":"agentInsights","description":"Agent Insights report results"},{"name":"alerts","description":"Alert resources"},{"name":"annotationQueues","description":"Private annotation queue operations"},{"name":"assertionResults","description":"Assertion result related resources"},{"name":"attachments","description":"Attachments related resources"},{"name":"check","description":"Access check resources"},{"name":"automationRuleEvaluators","description":"Automation rule evaluators resource"},{"name":"chatCompletions","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":"feedbackDefinitions","description":"Feedback definitions related resources"},{"name":"guardrails","description":"Guardrails related resources"},{"name":"insightsViews","description":"Insights View resources"},{"name":"llmModels","description":"LLM model registry resources"},{"name":"llmProviderKey","description":"LLM Provider Key"},{"name":"runners","description":"Local runner management endpoints"},{"name":"manualEvaluation","description":"Manual evaluation resources for traces, threads, and spans"},{"name":"ollama","description":"Ollama provider configuration endpoints with OpenAI-compatible API support."},{"name":"ollieState","description":"Ollie pod state persistence"},{"name":"openTelemetryIngestion","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":"reportFailures","description":"Generic failure log for reports/jobs"},{"name":"reports","description":"Ollie daily report management"},{"name":"retentionRules","description":"Data retention rule management"},{"name":"serviceToggles","description":"Service Toggles resources"},{"name":"spans","description":"Span related resources"},{"name":"traces","description":"Trace related resources"},{"name":"welcomeWizard","description":"Welcome wizard tracking resources"},{"name":"workspacePermissions","description":"Workspace permissions related resources"},{"name":"workspaces","description":"Workspace related resources"},{"name":"redirect","description":"Redirects for SDK generated links"}],"servers":[{"url":"http://localhost:5173/api","description":"Local server"},{"url":"https://www.comet.com/opik/api","description":"Opik Cloud"}],"components":{"schemas":{"ConsentRequest":{"type":"object","properties":{"client_id":{"type":"string","minLength":1},"redirect_uri":{"type":"string","minLength":1},"code_challenge":{"type":"string","minLength":1},"code_challenge_method":{"type":"string","pattern":"S256","minLength":1},"resource":{"type":"string","minLength":1},"state":{"type":"string"},"workspace_id":{"type":"string"},"workspace_name":{"type":"string"},"csrf":{"type":"string"}},"required":["client_id","redirect_uri","code_challenge","code_challenge_method","resource"],"title":"ConsentRequest"},"ConsentResponse":{"type":"object","properties":{"redirect_to":{"type":"string"}},"title":"ConsentResponse"},"WorkspaceInfo":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"is_default":{"type":"boolean"}},"title":"WorkspaceInfo"},"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"}},"title":"AuthorizeContext"},"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"}}},"title":"AuthorizationServerMetadata"},"ClientRegistrationRequest":{"type":"object","properties":{"client_name":{"type":"string","minLength":0,"maxLength":255},"redirect_uris":{"type":"array","items":{"type":"string","minLength":0,"maxLength":2048}},"logo_uri":{"type":"string"},"software_id":{"type":"string"},"software_version":{"type":"string"},"client_uri":{"type":"string"}},"required":["client_name","redirect_uris"],"title":"ClientRegistrationRequest"},"ClientRegistrationResponse":{"type":"object","properties":{"client_id":{"type":"string"},"client_id_issued_at":{"type":"integer","format":"int64"},"client_name":{"type":"string"},"logo_uri":{"type":"string"},"software_id":{"type":"string"},"software_version":{"type":"string"},"client_uri":{"type":"string"},"redirect_uris":{"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"}}},"title":"ClientRegistrationResponse"},"MCP_OAuth_revoke_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"MCP OAuth_revoke_Response_200"},"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"}},"title":"TokenResponse"},"OAuthError":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"title":"OAuthError"},"ValidatedToken":{"type":"object","properties":{"user_name":{"type":"string"},"workspace_id":{"type":"string"},"workspace_name":{"type":"string"},"resource":{"type":"string"},"expires_at":{"type":"string","format":"date-time"}},"title":"ValidatedToken"},"Request":{"type":"object","properties":{"enrolled":{"type":"boolean","description":"True enrols the given projects, false clears their enrolment"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["enrolled","project_ids"],"title":"Request"},"Response":{"type":"object","properties":{"enrolled":{"type":"integer"},"cleared":{"type":"integer"},"unknown_project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Ids that match no project"},"already_run_project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Ids whose automatic run already happened, so enrolling has no effect"}},"title":"Response"},"AnalyticsQueryRequest":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Read-only ClickHouse SQL. Must return exactly one column named `result` produced via toJSONString(...)"}},"required":["query"],"title":"AnalyticsQueryRequest"},"JsonNode":{"type":"object","properties":{},"title":"JsonNode"},"AnalyticsQueryResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/JsonNode"}}},"title":"AnalyticsQueryResponse"},"ErrorMessage":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"details":{"type":"string"}},"title":"ErrorMessage"},"ScopedAnalyticsQueryRequest":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Read-only ClickHouse SQL. Must return exactly one column named `result` produced via toJSONString(...)"},"project_id":{"type":"string","format":"uuid","description":"Restrict query to this project. Omit to query the whole workspace."}},"required":["query"],"title":"ScopedAnalyticsQueryRequest"},"DashboardSavedQuery":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Project the query is bounded to. Omit for every project in the workspace."},"sql":{"type":"string","minLength":0,"maxLength":65536},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["sql"],"title":"DashboardSavedQuery"},"UsageProjectsRequest":{"type":"object","properties":{"workspace_ids":{"type":"array","items":{"type":"string","minLength":1}},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"name":{"type":"string","minLength":0,"maxLength":150},"limit":{"type":"integer","minimum":1,"maximum":1000}},"required":["workspace_ids"],"title":"UsageProjectsRequest"},"WorkspaceProjectName":{"type":"object","properties":{"workspace_id":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"title":"WorkspaceProjectName"},"UsageProjectsResponse":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceProjectName"}}},"title":"UsageProjectsResponse"},"BiInformation":{"type":"object","properties":{"workspace_id":{"type":"string"},"user":{"type":"string"},"count":{"type":"integer","format":"int64"}},"title":"BiInformation"},"BiInformationResponse":{"type":"object","properties":{"bi_information":{"type":"array","items":{"$ref":"#/components/schemas/BiInformation"}}},"title":"BiInformationResponse"},"WorkspaceProjectUserCount":{"type":"object","properties":{"workspace_id":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"project_name":{"type":"string"},"user":{"type":"string"},"count":{"type":"integer","format":"int64"}},"title":"WorkspaceProjectUserCount"},"UsageByWorkspaceProjectUserResponse":{"type":"object","properties":{"breakdown":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceProjectUserCount"}}},"title":"UsageByWorkspaceProjectUserResponse"},"WorkspaceSpansCount":{"type":"object","properties":{"workspace":{"type":"string"},"span_count":{"type":"integer"}},"title":"WorkspaceSpansCount"},"SpansCountResponse":{"type":"object","properties":{"workspaces_spans_count":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceSpansCount"}}},"title":"SpansCountResponse"},"WorkspaceTraceCount":{"type":"object","properties":{"workspace":{"type":"string"},"trace_count":{"type":"integer"}},"title":"WorkspaceTraceCount"},"TraceCountResponse":{"type":"object","properties":{"workspaces_traces_count":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceTraceCount"}}},"title":"TraceCountResponse"},"AgentBlueprintWriteType":{"type":"string","enum":["blueprint","mask"],"title":"AgentBlueprintWriteType"},"AgentConfigValueWriteType":{"type":"string","enum":["string","integer","float","boolean","prompt","prompt_commit"],"title":"AgentConfigValueWriteType"},"AgentConfigValue_Write":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":255},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/AgentConfigValueWriteType"},"description":{"type":"string"}},"required":["key","type"],"title":"AgentConfigValue_Write"},"AgentBlueprint_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/AgentBlueprintWriteType"},"description":{"type":"string","minLength":0,"maxLength":255},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentConfigValue_Write"}}},"required":["type","values"],"title":"AgentBlueprint_Write"},"AgentConfigCreate_Write":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Project ID. Either project_id or project_name must be provided"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Project name. Either project_id or project_name must be provided"},"id":{"type":"string","format":"uuid","description":"Agent config ID. Generated automatically if not provided"},"blueprint":{"$ref":"#/components/schemas/AgentBlueprint_Write"}},"required":["blueprint"],"title":"AgentConfigCreate_Write"},"Agent_Configs_createAgentConfig_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Agent Configs_createAgentConfig_Response_201"},"ErrorMessage_Write":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"title":"ErrorMessage_Write"},"Agent_Configs_updateAgentConfig_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Agent Configs_updateAgentConfig_Response_201"},"Agent_Configs_createBlueprintFromMask_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Agent Configs_createBlueprintFromMask_Response_201"},"AgentConfigEnv":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"env_name":{"type":"string","minLength":0,"maxLength":50},"blueprint_id":{"type":"string","format":"uuid"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"ended_at":{"type":"string","format":"date-time"}},"required":["env_name","blueprint_id"],"title":"AgentConfigEnv"},"AgentConfigEnvUpdate":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"envs":{"type":"array","items":{"$ref":"#/components/schemas/AgentConfigEnv"}}},"required":["project_id","envs"],"title":"AgentConfigEnvUpdate"},"AgentBlueprintPublicType":{"type":"string","enum":["blueprint","mask"],"title":"AgentBlueprintPublicType"},"AgentConfigValuePublicType":{"type":"string","enum":["string","integer","float","boolean","prompt","prompt_commit"],"title":"AgentConfigValuePublicType"},"AgentConfigValue_Public":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":255},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/AgentConfigValuePublicType"},"description":{"type":"string"}},"required":["key","type"],"title":"AgentConfigValue_Public"},"AgentBlueprint_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/AgentBlueprintPublicType"},"description":{"type":"string","minLength":0,"maxLength":255},"envs":{"type":"array","items":{"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"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentConfigValue_Public"}}},"required":["type","values"],"title":"AgentBlueprint_Public"},"ErrorMessage_Public":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"details":{"type":"string"}},"title":"ErrorMessage_Public"},"AgentConfigEnvSetByName":{"type":"object","properties":{"blueprint_name":{"type":"string"}},"required":["blueprint_name"],"title":"AgentConfigEnvSetByName"},"AgentBlueprintHistoryType":{"type":"string","enum":["blueprint","mask"],"title":"AgentBlueprintHistoryType"},"AgentConfigValueHistoryType":{"type":"string","enum":["string","integer","float","boolean","prompt","prompt_commit"],"title":"AgentConfigValueHistoryType"},"AgentConfigValue_History":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":255},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/AgentConfigValueHistoryType"},"description":{"type":"string"}},"required":["key","type"],"title":"AgentConfigValue_History"},"AgentBlueprint_History":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/AgentBlueprintHistoryType"},"description":{"type":"string","minLength":0,"maxLength":255},"envs":{"type":"array","items":{"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"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentConfigValue_History"}}},"required":["type","values"],"title":"AgentBlueprint_History"},"BlueprintPage_History":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/AgentBlueprint_History"}}},"title":"BlueprintPage_History"},"ErrorMessage_History":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"title":"ErrorMessage_History"},"AgentConfigRemoveValues":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Project ID. Either project_id or project_name must be provided"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Project name. Either project_id or project_name must be provided"},"keys":{"type":"array","items":{"type":"string","minLength":1}}},"required":["keys"],"title":"AgentConfigRemoveValues"},"Agent_Configs_removeConfigKeys_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Agent Configs_removeConfigKeys_Response_201"},"AgentInsightsJobStatus":{"type":"string","enum":["enabled","disabled"],"title":"AgentInsightsJobStatus"},"AgentInsightsJob":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/AgentInsightsJobStatus"},"auto_first_run_enrolled":{"type":"boolean"},"auto_first_run_at":{"type":"string","format":"date-time"},"last_scan_at":{"type":"string","format":"date-time"},"last_failure_reason":{"type":"string"},"last_failure_detail":{"type":"string"},"last_failed_at":{"type":"string","format":"date-time"},"guidance":{"type":"string","description":"Project guidance sent to every run; null when none"},"guidance_updated_by":{"type":"string","description":"Who last saved the guidance"},"guidance_updated_at":{"type":"string","format":"date-time","description":"When the guidance was last saved"},"guidance_version":{"type":"integer","description":"Bumped each time the guidance text changes; 0 = never saved"},"results_guidance_version":{"type":"integer","description":"Guidance version the current results were produced with; null = no run since guidance existed"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["project_id"],"title":"AgentInsightsJob"},"AgentInsightsJobUpdateStatus":{"type":"string","enum":["enabled","disabled"],"description":"New status for the job","title":"AgentInsightsJobUpdateStatus"},"AgentInsightsJobUpdate":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/AgentInsightsJobUpdateStatus","description":"New status for the job"}},"required":["status"],"title":"AgentInsightsJobUpdate"},"Agent_Insights_Jobs_triggerAgentInsightsJob_Response_202":{"type":"object","properties":{},"description":"Empty response body","title":"Agent Insights Jobs_triggerAgentInsightsJob_Response_202"},"AgentInsightsGuidanceUpdate":{"type":"object","properties":{"guidance":{"type":"string","minLength":0,"maxLength":5000,"description":"Project guidance for Agent Insights runs. Empty or whitespace-only clears it"}},"required":["guidance"],"title":"AgentInsightsGuidanceUpdate"},"V1PrivateAgentInsightsIssuesGetParametersStatus":{"type":"string","enum":["open","resolved","closed"],"title":"V1PrivateAgentInsightsIssuesGetParametersStatus"},"V1PrivateAgentInsightsIssuesGetParametersSeverity":{"type":"string","enum":["critical","high","medium","low"],"title":"V1PrivateAgentInsightsIssuesGetParametersSeverity"},"AgentInsightsIssueStatus":{"type":"string","enum":["open","resolved","closed"],"title":"AgentInsightsIssueStatus"},"AgentInsightsIssueSeverity":{"type":"string","enum":["critical","high","medium","low"],"title":"AgentInsightsIssueSeverity"},"AgentInsightsIssue":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"cause":{"type":"string"},"suggested_fix":{"type":"string"},"status":{"$ref":"#/components/schemas/AgentInsightsIssueStatus"},"severity":{"$ref":"#/components/schemas/AgentInsightsIssueSeverity"},"traces_query":{"type":"string"},"total_occurrences":{"type":"integer","format":"int64","description":"SUM(count) over the requested window"},"latest_count":{"type":"integer","format":"int64","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."},"total":{"type":"integer","format":"int64","description":"SUM(total_count) over the requested window"},"users_impacted":{"type":"integer","format":"int64","description":"SUM(users_impacted) over the requested window"},"total_users":{"type":"integer","format":"int64","description":"SUM(total_users) over the requested window"},"first_seen":{"type":"string","format":"date","description":"MIN(report_day) in the requested window"},"last_seen":{"type":"string","format":"date","description":"MAX(report_day) in the requested window"},"days_reported":{"type":"integer","format":"int64","description":"COUNT(DISTINCT report_day) in the requested window"},"close_note":{"type":"string","description":"The team's reason for closing the issue as not useful; set only while status is closed"},"status_changed_by":{"type":"string","description":"Who last changed the status"},"status_changed_at":{"type":"string","format":"date-time","description":"When the status was last changed"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"}},"title":"AgentInsightsIssue"},"AgentInsightsIssuePage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/AgentInsightsIssue"}}},"title":"AgentInsightsIssuePage"},"ReportedIssueSeverity":{"type":"string","enum":["critical","high","medium","low"],"title":"ReportedIssueSeverity"},"ReportedIssue":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":0,"maxLength":255},"description":{"type":"string"},"cause":{"type":"string"},"suggested_fix":{"type":"string"},"traces_query":{"type":"string"},"severity":{"$ref":"#/components/schemas/ReportedIssueSeverity"},"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"}},"required":["name","severity","count","total_count","users_impacted","total_users"],"title":"ReportedIssue"},"AgentInsightsReport":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"report_day":{"type":"string","format":"date"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/ReportedIssue"}}},"required":["project_id","report_day","issues"],"title":"AgentInsightsReport"},"AgentInsightsIssueWithDetailsStatus":{"type":"string","enum":["open","resolved","closed"],"title":"AgentInsightsIssueWithDetailsStatus"},"AgentInsightsIssueWithDetailsSeverity":{"type":"string","enum":["critical","high","medium","low"],"title":"AgentInsightsIssueWithDetailsSeverity"},"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","title":"AgentInsightsIssueDetail"},"AgentInsightsIssueWithDetails":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"cause":{"type":"string"},"suggested_fix":{"type":"string"},"status":{"$ref":"#/components/schemas/AgentInsightsIssueWithDetailsStatus"},"severity":{"$ref":"#/components/schemas/AgentInsightsIssueWithDetailsSeverity"},"traces_query":{"type":"string"},"close_note":{"type":"string","description":"The team's reason for closing the issue as not useful; set only while status is closed"},"status_changed_by":{"type":"string","description":"Who last changed the status"},"status_changed_at":{"type":"string","format":"date-time","description":"When the status was last changed"},"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","items":{"$ref":"#/components/schemas/AgentInsightsIssueDetail"},"description":"Per-day breakdown within the requested window, ordered by report_day ascending"}},"title":"AgentInsightsIssueWithDetails"},"AgentInsightsIssueUpdateStatus":{"type":"string","enum":["open","resolved","closed"],"title":"AgentInsightsIssueUpdateStatus"},"AgentInsightsIssueUpdate":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/AgentInsightsIssueUpdateStatus"},"close_note":{"type":"string","minLength":0,"maxLength":500,"description":"Why the issue is closed as not useful. Stored only with status closed; any other status clears it"}},"required":["project_id","status"],"title":"AgentInsightsIssueUpdate"},"AlertPublicAlertType":{"type":"string","enum":["general","slack","pagerduty"],"title":"AlertPublicAlertType"},"Webhook_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"url":{"type":"string","minLength":1},"secret_token":{"type":"string","minLength":0,"maxLength":250},"headers":{"type":"object","additionalProperties":{"type":"string"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["url"],"title":"Webhook_Public"},"AlertTriggerPublicEventType":{"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"],"title":"AlertTriggerPublicEventType"},"AlertTriggerConfigPublicType":{"type":"string","enum":["scope:project","threshold:feedback_score","threshold:cost","threshold:latency","threshold:errors","filter:guardrail_type"],"title":"AlertTriggerConfigPublicType"},"AlertTriggerConfig_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"alert_trigger_id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/AlertTriggerConfigPublicType"},"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."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type"],"title":"AlertTriggerConfig_Public"},"AlertTrigger_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"alert_id":{"type":"string","format":"uuid"},"event_type":{"$ref":"#/components/schemas/AlertTriggerPublicEventType"},"trigger_configs":{"type":"array","items":{"$ref":"#/components/schemas/AlertTriggerConfig_Public"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["event_type"],"title":"AlertTrigger_Public"},"Alert_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":0,"maxLength":255},"enabled":{"type":"boolean"},"alert_type":{"$ref":"#/components/schemas/AlertPublicAlertType"},"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"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"project_id":{"type":"string","format":"uuid","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."}},"required":["webhook"],"title":"Alert_Public"},"AlertPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Alert_Public"}},"sortable_by":{"type":"array","items":{"type":"string"}}},"title":"AlertPage_Public"},"AlertWriteAlertType":{"type":"string","enum":["general","slack","pagerduty"],"title":"AlertWriteAlertType"},"Webhook_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"url":{"type":"string","minLength":1},"secret_token":{"type":"string","minLength":0,"maxLength":250},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["url"],"title":"Webhook_Write"},"AlertTriggerWriteEventType":{"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"],"title":"AlertTriggerWriteEventType"},"AlertTriggerConfigWriteType":{"type":"string","enum":["scope:project","threshold:feedback_score","threshold:cost","threshold:latency","threshold:errors","filter:guardrail_type"],"title":"AlertTriggerConfigWriteType"},"AlertTriggerConfig_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/AlertTriggerConfigWriteType"},"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."}},"required":["type"],"title":"AlertTriggerConfig_Write"},"AlertTrigger_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"event_type":{"$ref":"#/components/schemas/AlertTriggerWriteEventType"},"trigger_configs":{"type":"array","items":{"$ref":"#/components/schemas/AlertTriggerConfig_Write"}}},"required":["event_type"],"title":"AlertTrigger_Write"},"Alert_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":0,"maxLength":255},"enabled":{"type":"boolean"},"alert_type":{"$ref":"#/components/schemas/AlertWriteAlertType"},"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","format":"uuid","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."}},"required":["webhook"],"title":"Alert_Write"},"Alerts_createAlert_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Alerts_createAlert_Response_201"},"BatchDelete":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"BatchDelete"},"V1PrivateAlertsWebhooksExamplesGetParametersAlertType":{"type":"string","enum":["general","slack","pagerduty"],"title":"V1PrivateAlertsWebhooksExamplesGetParametersAlertType"},"WebhookExamplesResponseExamples":{"type":"object","properties":{},"title":"WebhookExamplesResponseExamples"},"WebhookExamples":{"type":"object","properties":{"response_examples":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/WebhookExamplesResponseExamples"}}},"title":"WebhookExamples"},"WebhookTestResultStatus":{"type":"string","enum":["success","failure"],"title":"WebhookTestResultStatus"},"WebhookTestResult":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/WebhookTestResultStatus"},"status_code":{"type":"integer"},"request_body":{"type":"string"},"error_message":{"type":"string"}},"title":"WebhookTestResult"},"AnnotationQueueItemIds":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"AnnotationQueueItemIds"},"AnnotationQueuePublicScope":{"type":"string","enum":["trace","thread"],"title":"AnnotationQueuePublicScope"},"ScoreConditionPublicOperator":{"type":"string","enum":[">","<","="],"title":"ScoreConditionPublicOperator"},"ScoreCondition_Public":{"type":"object","properties":{"score_name":{"type":"string","minLength":0,"maxLength":255},"operator":{"$ref":"#/components/schemas/ScoreConditionPublicOperator"},"value":{"type":"number","format":"double"}},"required":["score_name","operator","value"],"title":"ScoreCondition_Public"},"ConditionGroup_Public":{"type":"object","properties":{"conditions":{"type":"array","items":{"$ref":"#/components/schemas/ScoreCondition_Public"}}},"required":["conditions"],"title":"ConditionGroup_Public"},"Conditions_Public":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/ConditionGroup_Public"}}},"required":["groups"],"title":"Conditions_Public"},"AnnotationQueueAutomation_Public":{"type":"object","properties":{"enabled":{"type":"boolean"},"conditions":{"$ref":"#/components/schemas/Conditions_Public"},"max_items_in_queue":{"type":"integer"}},"title":"AnnotationQueueAutomation_Public"},"AnnotationQueueReviewer_Public":{"type":"object","properties":{"username":{"type":"string"},"status":{"type":"integer","format":"int64"}},"title":"AnnotationQueueReviewer_Public"},"FeedbackScoreAverage_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"FeedbackScoreAverage_Public"},"AnnotationQueue_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"project_name":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"instructions":{"type":"string"},"scope":{"$ref":"#/components/schemas/AnnotationQueuePublicScope"},"comments_enabled":{"type":"boolean"},"feedback_definition_names":{"type":"array","items":{"type":"string"}},"annotators_per_item":{"type":"integer","minimum":1,"maximum":1000},"lock_timeout_seconds":{"type":"integer","minimum":1,"maximum":3600},"automation":{"$ref":"#/components/schemas/AnnotationQueueAutomation_Public"},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueueReviewer_Public"}},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreAverage_Public"}},"items_count":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["project_id","name","scope"],"title":"AnnotationQueue_Public"},"AnnotationQueuePage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueue_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"AnnotationQueuePage_Public"},"AnnotationQueueWriteScope":{"type":"string","enum":["trace","thread"],"title":"AnnotationQueueWriteScope"},"ScoreConditionWriteOperator":{"type":"string","enum":[">","<","="],"title":"ScoreConditionWriteOperator"},"ScoreCondition_Write":{"type":"object","properties":{"score_name":{"type":"string","minLength":0,"maxLength":255},"operator":{"$ref":"#/components/schemas/ScoreConditionWriteOperator"},"value":{"type":"number","format":"double"}},"required":["score_name","operator","value"],"title":"ScoreCondition_Write"},"ConditionGroup_Write":{"type":"object","properties":{"conditions":{"type":"array","items":{"$ref":"#/components/schemas/ScoreCondition_Write"}}},"required":["conditions"],"title":"ConditionGroup_Write"},"Conditions_Write":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/ConditionGroup_Write"}}},"required":["groups"],"title":"Conditions_Write"},"AnnotationQueueAutomation_Write":{"type":"object","properties":{"enabled":{"type":"boolean"},"conditions":{"$ref":"#/components/schemas/Conditions_Write"},"max_items_in_queue":{"type":"integer"},"clear_max_items_in_queue":{"type":"boolean","description":"When true, removes the item ceiling so automation adds without bound"}},"title":"AnnotationQueueAutomation_Write"},"AnnotationQueue_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"instructions":{"type":"string"},"scope":{"$ref":"#/components/schemas/AnnotationQueueWriteScope"},"comments_enabled":{"type":"boolean"},"feedback_definition_names":{"type":"array","items":{"type":"string"}},"annotators_per_item":{"type":"integer","minimum":1,"maximum":1000},"lock_timeout_seconds":{"type":"integer","minimum":1,"maximum":3600},"automation":{"$ref":"#/components/schemas/AnnotationQueueAutomation_Write"}},"required":["project_id","name","scope"],"description":"List of annotation queues to create","title":"AnnotationQueue_Write"},"Annotation_Queues_createAnnotationQueue_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Annotation Queues_createAnnotationQueue_Response_201"},"AnnotationQueueBatch_Write":{"type":"object","properties":{"annotation_queues":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueue_Write"},"description":"List of annotation queues to create"}},"required":["annotation_queues"],"description":"Batch of annotation queues to create","title":"AnnotationQueueBatch_Write"},"ScoreConditionOperator":{"type":"string","enum":[">","<","="],"title":"ScoreConditionOperator"},"ScoreCondition":{"type":"object","properties":{"score_name":{"type":"string","minLength":0,"maxLength":255},"operator":{"$ref":"#/components/schemas/ScoreConditionOperator"},"value":{"type":"number","format":"double"}},"required":["score_name","operator","value"],"title":"ScoreCondition"},"ConditionGroup":{"type":"object","properties":{"conditions":{"type":"array","items":{"$ref":"#/components/schemas/ScoreCondition"}}},"required":["conditions"],"title":"ConditionGroup"},"Conditions":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/ConditionGroup"}}},"required":["groups"],"title":"Conditions"},"AnnotationQueueAutomation":{"type":"object","properties":{"enabled":{"type":"boolean"},"conditions":{"$ref":"#/components/schemas/Conditions"},"max_items_in_queue":{"type":"integer"},"clear_max_items_in_queue":{"type":"boolean","description":"When true, removes the item ceiling so automation adds without bound"}},"title":"AnnotationQueueAutomation"},"AnnotationQueueUpdate":{"type":"object","properties":{"name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"description":{"type":"string"},"instructions":{"type":"string"},"comments_enabled":{"type":"boolean"},"feedback_definition_names":{"type":"array","items":{"type":"string","minLength":1}},"annotators_per_item":{"type":"integer","minimum":1,"maximum":1000},"lock_timeout_seconds":{"type":"integer","minimum":1,"maximum":3600},"automation":{"$ref":"#/components/schemas/AnnotationQueueAutomation"}},"title":"AnnotationQueueUpdate"},"ItemLockInfo":{"type":"object","properties":{"active_locks":{"type":"integer"},"locked_by":{"type":"array","items":{"type":"string"}}},"title":"ItemLockInfo"},"LocksResponse":{"type":"object","properties":{"locks":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ItemLockInfo"}}},"title":"LocksResponse"},"LockResponse":{"type":"object","properties":{"acquired":{"type":"boolean"},"item_id":{"type":"string","format":"uuid"},"locked_by":{"type":"string"},"expires_at":{"type":"string","format":"date-time"}},"title":"LockResponse"},"AnnotationQueueItemIds_Public":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"AnnotationQueueItemIds_Public"},"AnnotationQueueItemPublicSource":{"type":"string","enum":["manual","automated"],"title":"AnnotationQueueItemPublicSource"},"AnnotationQueueItem_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/AnnotationQueueItemPublicSource"}},"title":"AnnotationQueueItem_Public"},"AnnotationQueueItems_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueueItem_Public"}}},"title":"AnnotationQueueItems_Public"},"AssertionResultBatchEntityType":{"type":"string","enum":["TRACE","SPAN","THREAD"],"title":"AssertionResultBatchEntityType"},"AssertionResultBatchItemStatus":{"type":"string","enum":["passed","failed"],"title":"AssertionResultBatchItemStatus"},"AssertionResultBatchItemSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"AssertionResultBatchItemSource"},"AssertionResultBatchItem":{"type":"object","properties":{"entity_id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"project_id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"status":{"$ref":"#/components/schemas/AssertionResultBatchItemStatus"},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/AssertionResultBatchItemSource"}},"required":["entity_id","name","status","source"],"title":"AssertionResultBatchItem"},"AssertionResultBatch":{"type":"object","properties":{"entity_type":{"$ref":"#/components/schemas/AssertionResultBatchEntityType"},"assertion_results":{"type":"array","items":{"$ref":"#/components/schemas/AssertionResultBatchItem"}}},"required":["entity_type","assertion_results"],"title":"AssertionResultBatch"},"V1PrivateAttachmentListGetParametersEntityType":{"type":"string","enum":["trace","span"],"title":"V1PrivateAttachmentListGetParametersEntityType"},"Attachment":{"type":"object","properties":{"link":{"type":"string"},"file_name":{"type":"string"},"file_size":{"type":"integer","format":"int64"},"mime_type":{"type":"string"}},"required":["file_name","file_size","mime_type"],"title":"Attachment"},"AttachmentPage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"AttachmentPage"},"CompleteMultipartUploadRequestEntityType":{"type":"string","enum":["trace","span"],"title":"CompleteMultipartUploadRequestEntityType"},"MultipartUploadPart":{"type":"object","properties":{"e_tag":{"type":"string","minLength":1},"part_number":{"type":"integer"}},"required":["e_tag","part_number"],"title":"MultipartUploadPart"},"CompleteMultipartUploadRequest":{"type":"object","properties":{"file_name":{"type":"string","minLength":1},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"entity_type":{"$ref":"#/components/schemas/CompleteMultipartUploadRequestEntityType"},"entity_id":{"type":"string","format":"uuid"},"container_id":{"type":"string","format":"uuid"},"file_size":{"type":"integer","format":"int64"},"mime_type":{"type":"string"},"upload_id":{"type":"string","minLength":1},"uploaded_file_parts":{"type":"array","items":{"$ref":"#/components/schemas/MultipartUploadPart"}}},"required":["file_name","entity_type","entity_id","file_size","upload_id","uploaded_file_parts"],"title":"CompleteMultipartUploadRequest"},"V1PrivateAttachmentDownloadGetParametersEntityType":{"type":"string","enum":["trace","span"],"title":"V1PrivateAttachmentDownloadGetParametersEntityType"},"StartMultipartUploadRequestEntityType":{"type":"string","enum":["trace","span"],"title":"StartMultipartUploadRequestEntityType"},"StartMultipartUploadRequest":{"type":"object","properties":{"file_name":{"type":"string","minLength":1},"num_of_file_parts":{"type":"integer"},"mime_type":{"type":"string"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"entity_type":{"$ref":"#/components/schemas/StartMultipartUploadRequestEntityType"},"entity_id":{"type":"string","format":"uuid"},"container_id":{"type":"string","format":"uuid"},"path":{"type":"string","minLength":1}},"required":["file_name","num_of_file_parts","entity_type","entity_id","path"],"title":"StartMultipartUploadRequest"},"StartMultipartUploadResponse":{"type":"object","properties":{"upload_id":{"type":"string","minLength":1},"pre_sign_urls":{"type":"array","items":{"type":"string"}}},"required":["upload_id","pre_sign_urls"],"title":"StartMultipartUploadResponse"},"V1PrivateAttachmentUploadPutParametersEntityType":{"type":"string","enum":["trace","span"],"title":"V1PrivateAttachmentUploadPutParametersEntityType"},"AuthDetailsHolder":{"type":"object","properties":{},"title":"AuthDetailsHolder"},"WorkspaceNameHolder":{"type":"object","properties":{"workspace_name":{"type":"string"}},"title":"WorkspaceNameHolder"},"ProjectReference_Public":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Project ID"},"project_name":{"type":"string","description":"Project name"}},"required":["project_id","project_name"],"description":"Project reference with ID and name","title":"ProjectReference_Public"},"AutomationRuleEvaluatorLlmAsJudgePublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorLlmAsJudgePublicTriggerScope"},"AutomationRuleEvaluatorLlmAsJudgePublicType":{"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"],"title":"AutomationRuleEvaluatorLlmAsJudgePublicType"},"AutomationRuleEvaluatorLlmAsJudgePublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorLlmAsJudgePublicAction"},"TraceFilterPublicOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceFilterPublicOperator"},"TraceFilter_Public":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceFilterPublicOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceFilter_Public"},"JsonNode_Public":{"type":"object","properties":{},"title":"JsonNode_Public"},"LlmAsJudgeModelParameters_Public":{"type":"object","properties":{"name":{"type":"string"},"temperature":{"type":"number","format":"double"},"seed":{"type":"integer"},"custom_parameters":{"$ref":"#/components/schemas/JsonNode_Public"}},"required":["name"],"title":"LlmAsJudgeModelParameters_Public"},"LlmAsJudgeMessagePublicRole":{"type":"string","enum":["SYSTEM","USER","AI","TOOL_EXECUTION_RESULT","CUSTOM"],"title":"LlmAsJudgeMessagePublicRole"},"ImageUrl_Public":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string"}},"required":["url"],"title":"ImageUrl_Public"},"VideoUrl_Public":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"VideoUrl_Public"},"AudioUrl_Public":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"AudioUrl_Public"},"LlmAsJudgeMessageContent_Public":{"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"}},"required":["type"],"title":"LlmAsJudgeMessageContent_Public"},"LlmAsJudgeMessage_Public":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/LlmAsJudgeMessagePublicRole"},"content":{"type":"string"},"content_array":{"type":"array","items":{"$ref":"#/components/schemas/LlmAsJudgeMessageContent_Public"}},"string_content":{"type":"boolean"},"structured_content":{"type":"boolean"}},"required":["role"],"title":"LlmAsJudgeMessage_Public"},"LlmAsJudgeOutputSchemaPublicType":{"type":"string","enum":["BOOLEAN","INTEGER","DOUBLE"],"title":"LlmAsJudgeOutputSchemaPublicType"},"LlmAsJudgeOutputSchema_Public":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/LlmAsJudgeOutputSchemaPublicType"},"description":{"type":"string"}},"required":["name","type","description"],"title":"LlmAsJudgeOutputSchema_Public"},"LlmAsJudgeCode_Public":{"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"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","variables","schema"],"title":"LlmAsJudgeCode_Public"},"AutomationRuleEvaluatorObjectObjectPublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorObjectObjectPublicTriggerScope"},"AutomationRuleEvaluatorObjectObjectPublicType":{"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"],"title":"AutomationRuleEvaluatorObjectObjectPublicType"},"AutomationRuleEvaluatorObjectObjectPublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorObjectObjectPublicAction"},"AutomationRuleEvaluatorUserDefinedMetricPythonPublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorUserDefinedMetricPythonPublicTriggerScope"},"AutomationRuleEvaluatorUserDefinedMetricPythonPublicType":{"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"],"title":"AutomationRuleEvaluatorUserDefinedMetricPythonPublicType"},"AutomationRuleEvaluatorUserDefinedMetricPythonPublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUserDefinedMetricPythonPublicAction"},"UserDefinedMetricPythonCode_Public":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"UserDefinedMetricPythonCode_Public"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicTriggerScope"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicType":{"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"],"title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicType"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicAction"},"TraceThreadFilterPublicOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceThreadFilterPublicOperator"},"TraceThreadFilter_Public":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceThreadFilterPublicOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceThreadFilter_Public"},"TraceThreadLlmAsJudgeCode_Public":{"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"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","schema"],"title":"TraceThreadLlmAsJudgeCode_Public"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicTriggerScope"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicType":{"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"],"title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicType"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicAction"},"TraceThreadUserDefinedMetricPythonCode_Public":{"type":"object","properties":{"metric":{"type":"string"}},"required":["metric"],"title":"TraceThreadUserDefinedMetricPythonCode_Public"},"AutomationRuleEvaluatorSpanLlmAsJudgePublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorSpanLlmAsJudgePublicTriggerScope"},"AutomationRuleEvaluatorSpanLlmAsJudgePublicType":{"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"],"title":"AutomationRuleEvaluatorSpanLlmAsJudgePublicType"},"AutomationRuleEvaluatorSpanLlmAsJudgePublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorSpanLlmAsJudgePublicAction"},"SpanFilterPublicOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"SpanFilterPublicOperator"},"SpanFilter_Public":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/SpanFilterPublicOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"SpanFilter_Public"},"SpanLlmAsJudgeCode_Public":{"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"}}},"required":["model","messages","variables","schema"],"title":"SpanLlmAsJudgeCode_Public"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicTriggerScope"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicType":{"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"],"title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicType"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicAction"},"SpanUserDefinedMetricPythonCode_Public":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"SpanUserDefinedMetricPythonCode_Public"},"AutomationRuleEvaluatorObjectObject_Public":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Public"}},"code":{"$ref":"#/components/schemas/LlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Public"}},"code":{"$ref":"#/components/schemas/UserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Public"}},"code":{"$ref":"#/components/schemas/TraceThreadLlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"trace_thread_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Public"}},"code":{"$ref":"#/components/schemas/TraceThreadUserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"trace_thread_user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Public"}},"code":{"$ref":"#/components/schemas/SpanLlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"span_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObjectPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Public"}},"code":{"$ref":"#/components/schemas/SpanUserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"span_user_defined_metric_python variant"}],"discriminator":{"propertyName":"type"},"title":"AutomationRuleEvaluatorObjectObject_Public"},"AutomationRuleEvaluatorPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/AutomationRuleEvaluatorObjectObject_Public"}},"sortable_by":{"type":"array","items":{"type":"string"}}},"title":"AutomationRuleEvaluatorPage_Public"},"AutomationRuleEvaluatorLlmAsJudgeWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorLlmAsJudgeWriteTriggerScope"},"AutomationRuleEvaluatorLlmAsJudgeWriteType":{"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"],"title":"AutomationRuleEvaluatorLlmAsJudgeWriteType"},"AutomationRuleEvaluatorLlmAsJudgeWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorLlmAsJudgeWriteAction"},"TraceFilterWriteOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceFilterWriteOperator"},"TraceFilter_Write":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceFilterWriteOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceFilter_Write"},"JsonNode_Write":{"type":"object","properties":{},"title":"JsonNode_Write"},"LlmAsJudgeModelParameters_Write":{"type":"object","properties":{"name":{"type":"string"},"temperature":{"type":"number","format":"double"},"seed":{"type":"integer"},"custom_parameters":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["name"],"title":"LlmAsJudgeModelParameters_Write"},"LlmAsJudgeMessageWriteRole":{"type":"string","enum":["SYSTEM","USER","AI","TOOL_EXECUTION_RESULT","CUSTOM"],"title":"LlmAsJudgeMessageWriteRole"},"ImageUrl_Write":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string"}},"required":["url"],"title":"ImageUrl_Write"},"VideoUrl_Write":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"VideoUrl_Write"},"AudioUrl_Write":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"AudioUrl_Write"},"LlmAsJudgeMessageContent_Write":{"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"}},"required":["type"],"title":"LlmAsJudgeMessageContent_Write"},"LlmAsJudgeMessage_Write":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/LlmAsJudgeMessageWriteRole"},"content":{"type":"string"},"content_array":{"type":"array","items":{"$ref":"#/components/schemas/LlmAsJudgeMessageContent_Write"}},"string_content":{"type":"boolean"},"structured_content":{"type":"boolean"}},"required":["role"],"title":"LlmAsJudgeMessage_Write"},"LlmAsJudgeOutputSchemaWriteType":{"type":"string","enum":["BOOLEAN","INTEGER","DOUBLE"],"title":"LlmAsJudgeOutputSchemaWriteType"},"LlmAsJudgeOutputSchema_Write":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/LlmAsJudgeOutputSchemaWriteType"},"description":{"type":"string"}},"required":["name","type","description"],"title":"LlmAsJudgeOutputSchema_Write"},"LlmAsJudgeCode_Write":{"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"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","variables","schema"],"title":"LlmAsJudgeCode_Write"},"AutomationRuleEvaluatorWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorWriteTriggerScope"},"AutomationRuleEvaluatorWriteType":{"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"],"title":"AutomationRuleEvaluatorWriteType"},"AutomationRuleEvaluatorWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorWriteAction"},"AutomationRuleEvaluatorUserDefinedMetricPythonWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorUserDefinedMetricPythonWriteTriggerScope"},"AutomationRuleEvaluatorUserDefinedMetricPythonWriteType":{"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"],"title":"AutomationRuleEvaluatorUserDefinedMetricPythonWriteType"},"AutomationRuleEvaluatorUserDefinedMetricPythonWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUserDefinedMetricPythonWriteAction"},"UserDefinedMetricPythonCode_Write":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"UserDefinedMetricPythonCode_Write"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteTriggerScope"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteType":{"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"],"title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteType"},"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteAction"},"TraceThreadFilterWriteOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceThreadFilterWriteOperator"},"TraceThreadFilter_Write":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceThreadFilterWriteOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceThreadFilter_Write"},"TraceThreadLlmAsJudgeCode_Write":{"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"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","schema"],"title":"TraceThreadLlmAsJudgeCode_Write"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteTriggerScope"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteType":{"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"],"title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteType"},"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteAction"},"TraceThreadUserDefinedMetricPythonCode_Write":{"type":"object","properties":{"metric":{"type":"string"}},"required":["metric"],"title":"TraceThreadUserDefinedMetricPythonCode_Write"},"AutomationRuleEvaluatorSpanLlmAsJudgeWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorSpanLlmAsJudgeWriteTriggerScope"},"AutomationRuleEvaluatorSpanLlmAsJudgeWriteType":{"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"],"title":"AutomationRuleEvaluatorSpanLlmAsJudgeWriteType"},"AutomationRuleEvaluatorSpanLlmAsJudgeWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorSpanLlmAsJudgeWriteAction"},"SpanFilterWriteOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"SpanFilterWriteOperator"},"SpanFilter_Write":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/SpanFilterWriteOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"SpanFilter_Write"},"SpanLlmAsJudgeCode_Write":{"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"}}},"required":["model","messages","variables","schema"],"title":"SpanLlmAsJudgeCode_Write"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteTriggerScope"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteType":{"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"],"title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteType"},"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteAction"},"SpanUserDefinedMetricPythonCode_Write":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"SpanUserDefinedMetricPythonCode_Write"},"AutomationRuleEvaluator_Write":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Write"}},"code":{"$ref":"#/components/schemas/LlmAsJudgeCode_Write"}},"required":["type","name","action","code"],"description":"llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Write"}},"code":{"$ref":"#/components/schemas/UserDefinedMetricPythonCode_Write"}},"required":["type","name","action","code"],"description":"user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Write"}},"code":{"$ref":"#/components/schemas/TraceThreadLlmAsJudgeCode_Write"}},"required":["type","name","action","code"],"description":"trace_thread_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Write"}},"code":{"$ref":"#/components/schemas/TraceThreadUserDefinedMetricPythonCode_Write"}},"required":["type","name","action","code"],"description":"trace_thread_user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Write"}},"code":{"$ref":"#/components/schemas/SpanLlmAsJudgeCode_Write"}},"required":["type","name","action","code"],"description":"span_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteType"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Project IDs for write operations (used when creating/updating rules)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorWriteAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Write"}},"code":{"$ref":"#/components/schemas/SpanUserDefinedMetricPythonCode_Write"}},"required":["type","name","action","code"],"description":"span_user_defined_metric_python variant"}],"discriminator":{"propertyName":"type"},"title":"AutomationRuleEvaluator_Write"},"Automation_rule_evaluators_createAutomationRuleEvaluator_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Automation rule evaluators_createAutomationRuleEvaluator_Response_201"},"AutomationRuleEvaluatorPublicTriggerScope":{"type":"string","enum":["production","experiment","both"],"description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted.","title":"AutomationRuleEvaluatorPublicTriggerScope"},"AutomationRuleEvaluatorPublicType":{"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"],"title":"AutomationRuleEvaluatorPublicType"},"AutomationRuleEvaluatorPublicAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorPublicAction"},"AutomationRuleEvaluator_Public":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Public"}},"code":{"$ref":"#/components/schemas/LlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter_Public"}},"code":{"$ref":"#/components/schemas/UserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Public"}},"code":{"$ref":"#/components/schemas/TraceThreadLlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"trace_thread_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter_Public"}},"code":{"$ref":"#/components/schemas/TraceThreadUserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"trace_thread_user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Public"}},"code":{"$ref":"#/components/schemas/SpanLlmAsJudgeCode_Public"}},"required":["type","name","action","code"],"description":"span_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicType"},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field for backwards compatibility)"},"project_name":{"type":"string","description":"Primary project name (legacy field for backwards compatibility)"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/ProjectReference_Public"},"description":"Projects assigned to this rule (unique, sorted alphabetically by name)"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicTriggerScope","description":"Controls whether the rule fires on production traces, experiment traces, or both. Defaults to 'production' if omitted."},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorPublicAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Public"}},"code":{"$ref":"#/components/schemas/SpanUserDefinedMetricPythonCode_Public"}},"required":["type","name","action","code"],"description":"span_user_defined_metric_python variant"}],"discriminator":{"propertyName":"type"},"title":"AutomationRuleEvaluator_Public"},"AutomationRuleEvaluatorUpdateLlmAsJudgeTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateLlmAsJudgeTriggerScope"},"AutomationRuleEvaluatorUpdateLlmAsJudgeType":{"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"],"title":"AutomationRuleEvaluatorUpdateLlmAsJudgeType"},"AutomationRuleEvaluatorUpdateLlmAsJudgeAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateLlmAsJudgeAction"},"TraceFilterOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceFilterOperator"},"TraceFilter":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceFilterOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceFilter"},"LlmAsJudgeModelParameters":{"type":"object","properties":{"name":{"type":"string"},"temperature":{"type":"number","format":"double"},"seed":{"type":"integer"},"custom_parameters":{"$ref":"#/components/schemas/JsonNode"}},"required":["name"],"title":"LlmAsJudgeModelParameters"},"LlmAsJudgeMessageRole":{"type":"string","enum":["SYSTEM","USER","AI","TOOL_EXECUTION_RESULT","CUSTOM"],"title":"LlmAsJudgeMessageRole"},"ImageUrl":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string"}},"required":["url"],"title":"ImageUrl"},"VideoUrl":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"VideoUrl"},"AudioUrl":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"title":"AudioUrl"},"LlmAsJudgeMessageContent":{"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"}},"required":["type"],"title":"LlmAsJudgeMessageContent"},"LlmAsJudgeMessage":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/LlmAsJudgeMessageRole"},"content":{"type":"string"},"content_array":{"type":"array","items":{"$ref":"#/components/schemas/LlmAsJudgeMessageContent"}},"string_content":{"type":"boolean"},"structured_content":{"type":"boolean"}},"required":["role"],"title":"LlmAsJudgeMessage"},"LlmAsJudgeOutputSchemaType":{"type":"string","enum":["BOOLEAN","INTEGER","DOUBLE"],"title":"LlmAsJudgeOutputSchemaType"},"LlmAsJudgeOutputSchema":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/LlmAsJudgeOutputSchemaType"},"description":{"type":"string"}},"required":["name","type","description"],"title":"LlmAsJudgeOutputSchema"},"LlmAsJudgeCode":{"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"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","variables","schema"],"title":"LlmAsJudgeCode"},"AutomationRuleEvaluatorUpdateTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateTriggerScope"},"AutomationRuleEvaluatorUpdateType":{"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"],"title":"AutomationRuleEvaluatorUpdateType"},"AutomationRuleEvaluatorUpdateAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateAction"},"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonTriggerScope"},"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonType":{"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"],"title":"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonType"},"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateUserDefinedMetricPythonAction"},"UserDefinedMetricPythonCode":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"UserDefinedMetricPythonCode"},"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeTriggerScope"},"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeType":{"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"],"title":"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeType"},"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeAction"},"TraceThreadFilterOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"TraceThreadFilterOperator"},"TraceThreadFilter":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/TraceThreadFilterOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"TraceThreadFilter"},"TraceThreadLlmAsJudgeCode":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/LlmAsJudgeModelParameters"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/LlmAsJudgeMessage"}},"schema":{"type":"array","items":{"$ref":"#/components/schemas/LlmAsJudgeOutputSchema"}},"max_cost_usd":{"type":"number","format":"double"}},"required":["model","messages","schema"],"title":"TraceThreadLlmAsJudgeCode"},"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonTriggerScope"},"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonType":{"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"],"title":"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonType"},"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonAction"},"TraceThreadUserDefinedMetricPythonCode":{"type":"object","properties":{"metric":{"type":"string"}},"required":["metric"],"title":"TraceThreadUserDefinedMetricPythonCode"},"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeTriggerScope"},"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeType":{"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"],"title":"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeType"},"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateSpanLlmAsJudgeAction"},"SpanFilterOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"SpanFilterOperator"},"SpanFilter":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/SpanFilterOperator"},"key":{"type":"string"},"value":{"type":"string"}},"title":"SpanFilter"},"SpanLlmAsJudgeCode":{"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"}}},"required":["model","messages","variables","schema"],"title":"SpanLlmAsJudgeCode"},"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonTriggerScope":{"type":"string","enum":["production","experiment","both"],"title":"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonTriggerScope"},"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonType":{"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"],"title":"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonType"},"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonAction":{"type":"string","enum":["evaluator","annotation_queue_router"],"title":"AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonAction"},"SpanUserDefinedMetricPythonCode":{"type":"object","properties":{"metric":{"type":"string"},"arguments":{"type":"object","additionalProperties":{"type":"string"}}},"required":["metric","arguments"],"title":"SpanUserDefinedMetricPythonCode"},"AutomationRuleEvaluatorUpdate":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter"}},"code":{"$ref":"#/components/schemas/LlmAsJudgeCode"}},"required":["type","name","action","code"],"description":"llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceFilter"}},"code":{"$ref":"#/components/schemas/UserDefinedMetricPythonCode"}},"required":["type","name","action","code"],"description":"user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter"}},"code":{"$ref":"#/components/schemas/TraceThreadLlmAsJudgeCode"}},"required":["type","name","action","code"],"description":"trace_thread_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/TraceThreadFilter"}},"code":{"$ref":"#/components/schemas/TraceThreadUserDefinedMetricPythonCode"}},"required":["type","name","action","code"],"description":"trace_thread_user_defined_metric_python variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter"}},"code":{"$ref":"#/components/schemas/SpanLlmAsJudgeCode"}},"required":["type","name","action","code"],"description":"span_llm_as_judge variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateType"},"name":{"type":"string","minLength":0,"maxLength":150},"sampling_rate":{"type":"string","title":"float","description":"Fraction of production (SDK-logged) items this rule scores, from 0 to 1. Trace rules ignore this value for experiment, playground and optimization traces and score them in full; span and thread rules only ever evaluate SDK-logged data."},"enabled":{"type":"boolean"},"trigger_scope":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateTriggerScope"},"project_id":{"type":"string","format":"uuid","description":"Primary project ID (legacy field, maintained for backwards compatibility)"},"project_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Multiple project IDs (new field for multi-project support)"},"action":{"$ref":"#/components/schemas/AutomationRuleEvaluatorUpdateAction"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter"}},"code":{"$ref":"#/components/schemas/SpanUserDefinedMetricPythonCode"}},"required":["type","name","action","code"],"description":"span_user_defined_metric_python variant"}],"discriminator":{"propertyName":"type"},"title":"AutomationRuleEvaluatorUpdate"},"LogItemLevel":{"type":"string","enum":["INFO","WARN","ERROR","DEBUG","TRACE"],"title":"LogItemLevel"},"LogItem":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"rule_id":{"type":"string","format":"uuid"},"level":{"$ref":"#/components/schemas/LogItemLevel"},"message":{"type":"string"},"markers":{"type":"object","additionalProperties":{"type":"string"}}},"title":"LogItem"},"LogPage":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/LogItem"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"}},"title":"LogPage"},"Message":{"type":"object","properties":{"role":{"type":"string","minLength":1},"content":{"$ref":"#/components/schemas/JsonNode"}},"required":["role","content"],"title":"Message"},"StreamOptions":{"type":"object","properties":{"includeUsage":{"type":"boolean"}},"title":"StreamOptions"},"ResponseFormatType":{"type":"string","enum":["text","json_object","json_schema"],"title":"ResponseFormatType"},"JsonSchemaSchema":{"type":"object","properties":{},"title":"JsonSchemaSchema"},"JsonSchema":{"type":"object","properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonSchemaSchema"}}},"title":"JsonSchema"},"ResponseFormat":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ResponseFormatType"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"title":"ResponseFormat"},"ToolType":{"type":"string","enum":["function"],"title":"ToolType"},"FunctionParameters":{"type":"object","properties":{},"title":"FunctionParameters"},"Function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FunctionParameters"}}},"title":"Function"},"Tool":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ToolType"},"function":{"$ref":"#/components/schemas/Function"}},"title":"Tool"},"ChatCompletionRequestToolChoice":{"type":"object","properties":{},"title":"ChatCompletionRequestToolChoice"},"PromptCacheOptions":{"type":"object","properties":{"mode":{"type":"string"},"ttl":{"type":"string"}},"title":"PromptCacheOptions"},"FunctionCall":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"title":"FunctionCall"},"ChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/Message"}},"temperature":{"type":"number","format":"double"},"topP":{"type":"number","format":"double"},"n":{"type":"integer"},"stream":{"type":"boolean"},"streamOptions":{"$ref":"#/components/schemas/StreamOptions"},"stop":{"type":"array","items":{"type":"string"}},"maxTokens":{"type":"integer"},"maxCompletionTokens":{"type":"integer"},"presencePenalty":{"type":"number","format":"double"},"frequencyPenalty":{"type":"number","format":"double"},"logitBias":{"type":"object","additionalProperties":{"type":"integer"}},"user":{"type":"string"},"responseFormat":{"$ref":"#/components/schemas/ResponseFormat"},"seed":{"type":"integer"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/Tool"}},"toolChoice":{"$ref":"#/components/schemas/ChatCompletionRequestToolChoice"},"parallelToolCalls":{"type":"boolean"},"store":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"reasoningEffort":{"type":"string"},"serviceTier":{"type":"string"},"promptCacheKey":{"type":"string"},"promptCacheOptions":{"$ref":"#/components/schemas/PromptCacheOptions"},"logprobs":{"type":"boolean"},"topLogprobs":{"type":"integer"},"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"functionCall":{"$ref":"#/components/schemas/FunctionCall"}},"title":"ChatCompletionRequest"},"AssistantMessageRole":{"type":"string","enum":["system","user","assistant","tool","function"],"title":"AssistantMessageRole"},"ToolCallType":{"type":"string","enum":["function"],"title":"ToolCallType"},"ToolCall":{"type":"object","properties":{"id":{"type":"string"},"index":{"type":"integer"},"type":{"$ref":"#/components/schemas/ToolCallType"},"function":{"$ref":"#/components/schemas/FunctionCall"}},"title":"ToolCall"},"AssistantMessage":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/AssistantMessageRole"},"content":{"type":"string"},"reasoningContent":{"type":"string"},"name":{"type":"string"},"toolCalls":{"type":"array","items":{"$ref":"#/components/schemas/ToolCall"}},"refusal":{"type":"string"},"functionCall":{"$ref":"#/components/schemas/FunctionCall"}},"title":"AssistantMessage"},"Delta":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"},"reasoningContent":{"type":"string"},"toolCalls":{"type":"array","items":{"$ref":"#/components/schemas/ToolCall"}},"functionCall":{"$ref":"#/components/schemas/FunctionCall"}},"title":"Delta"},"LogProb":{"type":"object","properties":{"token":{"type":"string"},"logprob":{"type":"number","format":"double"},"bytes":{"type":"array","items":{"type":"integer"}}},"title":"LogProb"},"LogProbs":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/LogProb"}}},"title":"LogProbs"},"ChatCompletionChoice":{"type":"object","properties":{"index":{"type":"integer"},"message":{"$ref":"#/components/schemas/AssistantMessage"},"delta":{"$ref":"#/components/schemas/Delta"},"finishReason":{"type":"string"},"logprobs":{"$ref":"#/components/schemas/LogProbs"}},"title":"ChatCompletionChoice"},"PromptTokensDetails":{"type":"object","properties":{"cachedTokens":{"type":"integer"},"cacheWriteTokens":{"type":"integer"}},"title":"PromptTokensDetails"},"CompletionTokensDetails":{"type":"object","properties":{"reasoningTokens":{"type":"integer"}},"title":"CompletionTokensDetails"},"Usage":{"type":"object","properties":{"totalTokens":{"type":"integer"},"promptTokens":{"type":"integer"},"promptTokensDetails":{"$ref":"#/components/schemas/PromptTokensDetails"},"completionTokens":{"type":"integer"},"completionTokensDetails":{"$ref":"#/components/schemas/CompletionTokensDetails"}},"title":"Usage"},"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"},"systemFingerprint":{"type":"string"},"serviceTier":{"type":"string"}},"title":"ChatCompletionResponse"},"DashboardPublicType":{"type":"string","enum":["multi_project","experiments"],"title":"DashboardPublicType"},"DashboardPublicScope":{"type":"string","enum":["workspace","insights"],"title":"DashboardPublicScope"},"Dashboard_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"workspace_id":{"type":"string"},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"name":{"type":"string","minLength":1,"maxLength":120},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/DashboardPublicType"},"scope":{"$ref":"#/components/schemas/DashboardPublicScope"},"description":{"type":"string","minLength":0,"maxLength":1000},"config":{"$ref":"#/components/schemas/JsonNode_Public"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"}},"required":["name","config"],"title":"Dashboard_Public"},"DashboardPage_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Dashboard_Public"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"sortable_by":{"type":"array","items":{"type":"string"}}},"title":"DashboardPage_Public"},"DashboardWriteType":{"type":"string","enum":["multi_project","experiments"],"title":"DashboardWriteType"},"Dashboard_Write":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"string","minLength":1,"maxLength":120},"type":{"$ref":"#/components/schemas/DashboardWriteType"},"description":{"type":"string","minLength":0,"maxLength":1000},"config":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["name","config"],"title":"Dashboard_Write"},"DashboardUpdatePublicType":{"type":"string","enum":["multi_project","experiments"],"title":"DashboardUpdatePublicType"},"DashboardUpdate_Public":{"type":"object","properties":{"name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":1,"maxLength":120},"type":{"$ref":"#/components/schemas/DashboardUpdatePublicType"},"description":{"type":"string","minLength":0,"maxLength":1000},"config":{"$ref":"#/components/schemas/JsonNode_Public"}},"title":"DashboardUpdate_Public"},"DashboardWidgetQueryRequest":{"type":"object","properties":{"interval_start":{"type":"string","format":"date-time","description":"Start of the date range, bound to {{window_start}} in the dashboard saved query. Omit for all time."},"interval_end":{"type":"string","format":"date-time","description":"End of the date range, bound to {{window_end}} in the dashboard saved query. Omit for now."}},"title":"DashboardWidgetQueryRequest"},"DatasetItemChanges_Public":{"type":"object","properties":{},"title":"DatasetItemChanges_Public"},"EvaluatorItemPublicType":{"type":"string","enum":["llm_judge","code_metric"],"title":"EvaluatorItemPublicType"},"EvaluatorItem_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"$ref":"#/components/schemas/EvaluatorItemPublicType"},"config":{"$ref":"#/components/schemas/JsonNode_Public"}},"required":["name","type","config"],"description":"Default evaluators for items in this version","title":"EvaluatorItem_Public"},"ExecutionPolicy_Public":{"type":"object","properties":{"runs_per_item":{"type":"integer","minimum":1,"maximum":100},"pass_threshold":{"type":"integer","minimum":1,"maximum":100}},"description":"Default execution policy for items in this version","title":"ExecutionPolicy_Public"},"DatasetVersion_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"dataset_id":{"type":"string","format":"uuid"},"version_hash":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"is_latest":{"type":"boolean","description":"Indicates whether this is the latest version of the dataset"},"version_name":{"type":"string","description":"Sequential version name formatted as 'v1', 'v2', etc."},"items_total":{"type":"integer","description":"Total number of items in this version"},"items_added":{"type":"integer","description":"Number of items added since last version"},"items_modified":{"type":"integer","description":"Number of items modified since last version"},"items_deleted":{"type":"integer","description":"Number of items deleted since last version"},"change_description":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem_Public"},"description":"Default evaluators for items in this version"},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"title":"DatasetVersion_Public"},"DatasetItemFilterOperator":{"type":"string","enum":["contains","not_contains","starts_with","ends_with","=","!=",">",">=","<","<=","is_empty","is_not_empty","in","not_in"],"title":"DatasetItemFilterOperator"},"DatasetItemFilter":{"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/DatasetItemFilterOperator"},"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'.","title":"DatasetItemFilter"},"EvaluatorItemType":{"type":"string","enum":["llm_judge","code_metric"],"title":"EvaluatorItemType"},"EvaluatorItem":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"$ref":"#/components/schemas/EvaluatorItemType"},"config":{"$ref":"#/components/schemas/JsonNode"}},"required":["name","type","config"],"title":"EvaluatorItem"},"ExecutionPolicy":{"type":"object","properties":{"runs_per_item":{"type":"integer","minimum":1,"maximum":100},"pass_threshold":{"type":"integer","minimum":1,"maximum":100}},"title":"ExecutionPolicy"},"DatasetItemUpdate":{"type":"object","properties":{"input":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Dataset item input"},"expected_output":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Dataset item expected output"},"metadata":{"$ref":"#/components/schemas/JsonNode"},"data":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","description":"Dataset item description"},"tags":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags"},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to add"},"tags_to_remove":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to remove"},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem"},"description":"Evaluators"},"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","title":"DatasetItemUpdate"},"DatasetItemBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of dataset item IDs to update (max 1000). Mutually exclusive with 'filters'."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItemFilter"}},"dataset_id":{"type":"string","format":"uuid","description":"Dataset ID. Required when using 'filters', optional when using 'ids'."},"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."}},"required":["update"],"description":"Request to batch update multiple dataset items","title":"DatasetItemBatchUpdate"},"DatasetPublicType":{"type":"string","enum":["dataset","evaluation_suite"],"title":"DatasetPublicType"},"DatasetPublicVisibility":{"type":"string","enum":["private","public"],"title":"DatasetPublicVisibility"},"DatasetPublicStatus":{"type":"string","enum":["unknown","processing","completed","failed"],"title":"DatasetPublicStatus"},"DatasetVersionSummary_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the version"},"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":{"type":"array","items":{"type":"string"},"description":"Tags associated with this version"}},"description":"Summary of the latest dataset version","title":"DatasetVersionSummary_Public"},"Dataset_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"type":{"$ref":"#/components/schemas/DatasetPublicType"},"visibility":{"$ref":"#/components/schemas/DatasetPublicVisibility"},"tags":{"type":"array","items":{"type":"string"}},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"experiment_count":{"type":"integer","format":"int64"},"dataset_items_count":{"type":"integer","format":"int64"},"optimization_count":{"type":"integer","format":"int64"},"most_recent_experiment_at":{"type":"string","format":"date-time"},"last_created_experiment_at":{"type":"string","format":"date-time"},"most_recent_optimization_at":{"type":"string","format":"date-time"},"last_created_optimization_at":{"type":"string","format":"date-time"},"status":{"$ref":"#/components/schemas/DatasetPublicStatus"},"latest_version":{"$ref":"#/components/schemas/DatasetVersionSummary_Public"}},"required":["name"],"title":"Dataset_Public"},"DatasetPage_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Dataset_Public"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"DatasetPage_Public"},"DatasetWriteType":{"type":"string","enum":["dataset","evaluation_suite"],"title":"DatasetWriteType"},"DatasetWriteVisibility":{"type":"string","enum":["private","public"],"title":"DatasetWriteVisibility"},"Dataset_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"$ref":"#/components/schemas/DatasetWriteType"},"visibility":{"$ref":"#/components/schemas/DatasetWriteVisibility"},"tags":{"type":"array","items":{"type":"string"}},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255}},"required":["name"],"title":"Dataset_Write"},"Datasets_createDataset_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Datasets_createDataset_Response_201"},"DatasetItemWriteSource":{"type":"string","enum":["manual","trace","span","sdk"],"title":"DatasetItemWriteSource"},"EvaluatorItemWriteType":{"type":"string","enum":["llm_judge","code_metric"],"title":"EvaluatorItemWriteType"},"EvaluatorItem_Write":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"$ref":"#/components/schemas/EvaluatorItemWriteType"},"config":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["name","type","config"],"title":"EvaluatorItem_Write"},"ExecutionPolicy_Write":{"type":"object","properties":{"runs_per_item":{"type":"integer","minimum":1,"maximum":100},"pass_threshold":{"type":"integer","minimum":1,"maximum":100}},"title":"ExecutionPolicy_Write"},"DatasetItem_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Stable item identifier.\nOn write, used as the upsert key.\nIf omitted, a new ID is generated.\nRemains the same across dataset versions\n"},"trace_id":{"type":"string","format":"uuid"},"span_id":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/DatasetItemWriteSource"},"data":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"tags":{"type":"array","items":{"type":"string"}},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem_Write"}},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy_Write"}},"required":["source","data"],"title":"DatasetItem_Write"},"DatasetItemBatch_Write":{"type":"object","properties":{"dataset_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, dataset_id must be provided"},"dataset_id":{"type":"string","format":"uuid","description":"If null, dataset_name must be provided"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Optional. Associates the batch with a project by name. Ignored if project_id is provided."},"project_id":{"type":"string","format":"uuid","description":"Optional. Associates the batch with a project by ID. Takes precedence over project_name."},"items":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItem_Write"}},"batch_group_id":{"type":"string","format":"uuid","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."},"copy_from_dataset_id":{"type":"string","format":"uuid","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."},"copy_from_version_id":{"type":"string","format":"uuid","description":"Optional. Version within copy_from_dataset_id to read carry-forward rows from. Required together with copy_from_dataset_id."}},"required":["items"],"title":"DatasetItemBatch_Write"},"V1PrivateDatasetsItemsFromCsvPostRequestBodyContentMultipartFormDataSchemaFile":{"type":"object","properties":{},"title":"V1PrivateDatasetsItemsFromCsvPostRequestBodyContentMultipartFormDataSchemaFile"},"Datasets_createDatasetItemsFromCsv_Response_202":{"type":"object","properties":{},"description":"Empty response body","title":"Datasets_createDatasetItemsFromCsv_Response_202"},"V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFile":{"type":"object","properties":{},"title":"V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFile"},"V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFormat":{"type":"string","enum":["json","jsonl"],"title":"V1PrivateDatasetsItemsFromJsonPostRequestBodyContentMultipartFormDataSchemaFormat"},"Datasets_createDatasetItemsFromJson_Response_202":{"type":"object","properties":{},"description":"Empty response body","title":"Datasets_createDatasetItemsFromJson_Response_202"},"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","title":"SpanEnrichmentOptions"},"CreateDatasetItemsFromSpansRequest":{"type":"object","properties":{"span_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Set of span IDs to add to the dataset"},"enrichment_options":{"$ref":"#/components/schemas/SpanEnrichmentOptions"},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem"},"description":"Optional evaluators to apply to the created items"},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy"},"field_mappings":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional mapping of dataset item field name to a path into the span, e.g. 'input.input_text'. Takes precedence over the fields produced by enrichment_options. Ignored for test suite datasets."}},"required":["span_ids","enrichment_options"],"title":"CreateDatasetItemsFromSpansRequest"},"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","title":"TraceEnrichmentOptions"},"CreateDatasetItemsFromTracesRequest":{"type":"object","properties":{"trace_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Set of trace IDs to add to the dataset"},"enrichment_options":{"$ref":"#/components/schemas/TraceEnrichmentOptions"},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem"},"description":"Optional evaluators to apply to the created items"},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy"},"field_mappings":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional mapping of dataset item field name to a path into the trace, e.g. 'input.input_text'. Takes precedence over the fields produced by enrichment_options. Ignored for test suite datasets."}},"required":["trace_ids","enrichment_options"],"title":"CreateDatasetItemsFromTracesRequest"},"DatasetUpdateVisibility":{"type":"string","enum":["private","public"],"title":"DatasetUpdateVisibility"},"DatasetUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"visibility":{"$ref":"#/components/schemas/DatasetUpdateVisibility"},"tags":{"type":"array","items":{"type":"string"}}},"required":["name"],"title":"DatasetUpdate"},"DatasetIdentifier":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"project_name":{"type":"string"}},"required":["dataset_name"],"title":"DatasetIdentifier"},"DatasetItemsDelete":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string","format":"uuid"},"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'."},"dataset_id":{"type":"string","format":"uuid","description":"Dataset ID to scope the deletion. Required when using 'filters'. Mutually exclusive with 'item_ids'."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItemFilter"},"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'."},"batch_group_id":{"type":"string","format":"uuid","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."}},"description":"Request to delete multiple dataset items","title":"DatasetItemsDelete"},"DatasetExpansion_Write":{"type":"object","properties":{"model":{"type":"string","minLength":1,"description":"The model to use for synthetic data generation"},"sample_count":{"type":"integer","minimum":1,"maximum":200,"description":"Number of synthetic samples to generate"},"preserve_fields":{"type":"array","items":{"type":"string"},"description":"Fields to preserve patterns from original data"},"variation_instructions":{"type":"string","description":"Additional instructions for data variation"},"custom_prompt":{"type":"string","description":"Custom prompt to use for generation instead of auto-generated one"},"max_completion_tokens":{"type":"integer","minimum":100,"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."}},"required":["model"],"title":"DatasetExpansion_Write"},"DatasetItemSource":{"type":"string","enum":["manual","trace","span","sdk"],"title":"DatasetItemSource"},"JsonListStringOneOf1Items":{"type":"object","properties":{},"title":"JsonListStringOneOf1Items"},"JsonListString1":{"type":"array","items":{"$ref":"#/components/schemas/JsonListStringOneOf1Items"},"title":"JsonListString1"},"JsonListString":{"oneOf":[{"type":"object","additionalProperties":{"description":"Any type"}},{"$ref":"#/components/schemas/JsonListString1"},{"type":"string"}],"title":"JsonListString"},"FeedbackScoreSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScoreSource"},"ValueEntrySource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"ValueEntrySource"},"ValueEntry":{"type":"object","properties":{"value":{"type":"number","format":"double"},"reason":{"type":"string"},"category_name":{"type":"string"},"source":{"$ref":"#/components/schemas/ValueEntrySource"},"last_updated_at":{"type":"string","format":"date-time"},"span_type":{"type":"string"},"span_id":{"type":"string"},"source_queue_id":{"type":"string"},"author":{"type":"string"}},"title":"ValueEntry"},"FeedbackScore":{"type":"object","properties":{"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScoreSource"},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"value_by_author":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ValueEntry"}}},"required":["name","value","source"],"title":"FeedbackScore"},"Comment":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["text"],"title":"Comment"},"ExperimentItemTraceVisibilityMode":{"type":"string","enum":["default","hidden"],"title":"ExperimentItemTraceVisibilityMode"},"AssertionResult":{"type":"object","properties":{"value":{"type":"string"},"passed":{"type":"boolean"},"reason":{"type":"string"}},"title":"AssertionResult"},"ExperimentItemStatus":{"type":"string","enum":["passed","failed"],"title":"ExperimentItemStatus"},"ExperimentItem":{"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"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"input":{"$ref":"#/components/schemas/JsonListString"},"output":{"$ref":"#/components/schemas/JsonListString"},"trace_metadata":{"$ref":"#/components/schemas/JsonListString"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}},"total_estimated_cost":{"type":"number","format":"double"},"duration":{"type":"number","format":"double"},"usage":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"trace_visibility_mode":{"$ref":"#/components/schemas/ExperimentItemTraceVisibilityMode"},"description":{"type":"string"},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy"},"assertion_results":{"type":"array","items":{"$ref":"#/components/schemas/AssertionResult"}},"status":{"$ref":"#/components/schemas/ExperimentItemStatus"}},"required":["experiment_id","dataset_item_id","trace_id"],"title":"ExperimentItem"},"ExperimentRunSummaryStatus":{"type":"string","enum":["passed","failed"],"title":"ExperimentRunSummaryStatus"},"ExperimentRunSummary":{"type":"object","properties":{"passed_runs":{"type":"integer"},"total_runs":{"type":"integer"},"status":{"$ref":"#/components/schemas/ExperimentRunSummaryStatus"}},"title":"ExperimentRunSummary"},"DatasetItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Stable item identifier.\nOn write, used as the upsert key.\nIf omitted, a new ID is generated.\nRemains the same across dataset versions\n"},"dataset_item_id":{"type":"string","format":"uuid","description":"Deprecated.\nAlways equals 'id'.\nRetained for backward compatibility and will be removed in a future version\n"},"trace_id":{"type":"string","format":"uuid"},"span_id":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/DatasetItemSource"},"data":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"tags":{"type":"array","items":{"type":"string"}},"evaluators":{"type":"array","items":{"$ref":"#/components/schemas/EvaluatorItem"}},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy"},"experiment_items":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentItem"}},"run_summaries_by_experiment":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExperimentRunSummary"}},"dataset_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["source","data"],"title":"DatasetItem"},"DatasetExpansionResponse":{"type":"object","properties":{"generated_samples":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItem"},"description":"List of generated synthetic dataset items"},"model":{"type":"string","description":"Model used for generation"},"total_generated":{"type":"integer","description":"Total number of samples generated"},"generation_time":{"type":"string","format":"date-time","description":"Generation timestamp"}},"title":"DatasetExpansionResponse"},"DatasetItemCompareSource":{"type":"string","enum":["manual","trace","span","sdk"],"title":"DatasetItemCompareSource"},"EvaluatorItemCompareType":{"type":"string","enum":["llm_judge","code_metric"],"title":"EvaluatorItemCompareType"},"JsonNode_Compare":{"type":"object","properties":{},"title":"JsonNode_Compare"},"EvaluatorItem_Compare":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"$ref":"#/components/schemas/EvaluatorItemCompareType"},"config":{"$ref":"#/components/schemas/JsonNode_Compare"}},"required":["name","type","config"],"title":"EvaluatorItem_Compare"},"ExecutionPolicy_Compare":{"type":"object","properties":{"runs_per_item":{"type":"integer","minimum":1,"maximum":100},"pass_threshold":{"type":"integer","minimum":1,"maximum":100}},"title":"ExecutionPolicy_Compare"},"JsonListStringCompareOneOf1Items":{"type":"object","properties":{},"title":"JsonListStringCompareOneOf1Items"},"JsonListStringCompare1":{"type":"array","items":{"$ref":"#/components/schemas/JsonListStringCompareOneOf1Items"},"title":"JsonListStringCompare1"},"JsonListString_Compare":{"oneOf":[{"type":"object","additionalProperties":{"description":"Any type"}},{"$ref":"#/components/schemas/JsonListStringCompare1"},{"type":"string"}],"title":"JsonListString_Compare"},"FeedbackScoreCompareSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScoreCompareSource"},"ValueEntryCompareSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"ValueEntryCompareSource"},"ValueEntry_Compare":{"type":"object","properties":{"value":{"type":"number","format":"double"},"reason":{"type":"string"},"category_name":{"type":"string"},"source":{"$ref":"#/components/schemas/ValueEntryCompareSource"},"last_updated_at":{"type":"string","format":"date-time"},"span_type":{"type":"string"},"span_id":{"type":"string"},"source_queue_id":{"type":"string"},"author":{"type":"string"}},"title":"ValueEntry_Compare"},"FeedbackScore_Compare":{"type":"object","properties":{"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScoreCompareSource"},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"value_by_author":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ValueEntry_Compare"}}},"required":["name","value","source"],"title":"FeedbackScore_Compare"},"Comment_Compare":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["text"],"title":"Comment_Compare"},"ExperimentItemCompareTraceVisibilityMode":{"type":"string","enum":["default","hidden"],"title":"ExperimentItemCompareTraceVisibilityMode"},"AssertionResult_Compare":{"type":"object","properties":{"value":{"type":"string"},"passed":{"type":"boolean"},"reason":{"type":"string"}},"title":"AssertionResult_Compare"},"ExperimentItemCompareStatus":{"type":"string","enum":["passed","failed"],"title":"ExperimentItemCompareStatus"},"ExperimentItem_Compare":{"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"},"input":{"$ref":"#/components/schemas/JsonListString_Compare"},"output":{"$ref":"#/components/schemas/JsonListString_Compare"},"trace_metadata":{"$ref":"#/components/schemas/JsonListString_Compare"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore_Compare"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment_Compare"}},"total_estimated_cost":{"type":"number","format":"double"},"duration":{"type":"number","format":"double"},"usage":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"trace_visibility_mode":{"$ref":"#/components/schemas/ExperimentItemCompareTraceVisibilityMode"},"description":{"type":"string"},"execution_policy":{"$ref":"#/components/schemas/ExecutionPolicy_Compare"},"assertion_results":{"type":"array","items":{"$ref":"#/components/schemas/AssertionResult_Compare"}},"status":{"$ref":"#/components/schemas/ExperimentItemCompareStatus"}},"required":["experiment_id","dataset_item_id","trace_id"],"title":"ExperimentItem_Compare"},"ExperimentRunSummaryCompareStatus":{"type":"string","enum":["passed","failed"],"title":"ExperimentRunSummaryCompareStatus"},"ExperimentRunSummary_Compare":{"type":"object","properties":{"passed_runs":{"type":"integer"},"total_runs":{"type":"integer"},"status":{"$ref":"#/components/schemas/ExperimentRunSummaryCompareStatus"}},"title":"ExperimentRunSummary_Compare"},"DatasetItem_Compare":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Stable item identifier.\nOn write, used as the upsert key.\nIf omitted, a new ID is generated.\nRemains the same across dataset versions\n"},"dataset_item_id":{"type":"string","format":"uuid","description":"Deprecated.\nAlways equals 'id'.\nRetained for backward compatibility and will be removed in a future version\n"},"trace_id":{"type":"string","format":"uuid"},"span_id":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/DatasetItemCompareSource"},"data":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"tags":{"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","items":{"$ref":"#/components/schemas/ExperimentItem_Compare"}},"run_summaries_by_experiment":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExperimentRunSummary_Compare"}},"dataset_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["source","data"],"title":"DatasetItem_Compare"},"ColumnCompareTypesItems":{"type":"string","enum":["string","number","object","boolean","array","null"],"title":"ColumnCompareTypesItems"},"Column_Compare":{"type":"object","properties":{"name":{"type":"string"},"types":{"type":"array","items":{"$ref":"#/components/schemas/ColumnCompareTypesItems"}},"filter_field_prefix":{"type":"string"},"filterField":{"type":"string","description":"The field to use for filtering"}},"title":"Column_Compare"},"DatasetItemPage_Compare":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItem_Compare"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/Column_Compare"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"DatasetItemPage_Compare"},"DatasetIdentifier_Public":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"project_name":{"type":"string"}},"required":["dataset_name"],"title":"DatasetIdentifier_Public"},"PercentageValueStatPublicType":{"type":"string","enum":["COUNT","PERCENTAGE","AVG"],"title":"PercentageValueStatPublicType"},"PercentageValues_Public":{"type":"object","properties":{"p50":{"type":"number","format":"double"},"p90":{"type":"number","format":"double"},"p99":{"type":"number","format":"double"}},"title":"PercentageValues_Public"},"CountValueStatPublicType":{"type":"string","enum":["COUNT","PERCENTAGE","AVG"],"title":"CountValueStatPublicType"},"AvgValueStatPublicType":{"type":"string","enum":["COUNT","PERCENTAGE","AVG"],"title":"AvgValueStatPublicType"},"ProjectStatItemObjectPublicType":{"type":"string","enum":["COUNT","PERCENTAGE","AVG"],"title":"ProjectStatItemObjectPublicType"},"ProjectStatItemObject_Public":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProjectStatItemObjectPublicType"},"name":{"type":"string"}},"required":["type"],"description":"PERCENTAGE variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProjectStatItemObjectPublicType"},"name":{"type":"string"}},"required":["type"],"description":"COUNT variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProjectStatItemObjectPublicType"},"name":{"type":"string"}},"required":["type"],"description":"AVG variant"}],"discriminator":{"propertyName":"type"},"title":"ProjectStatItemObject_Public"},"ProjectStats_Public":{"type":"object","properties":{"stats":{"type":"array","items":{"$ref":"#/components/schemas/ProjectStatItemObject_Public"}}},"title":"ProjectStats_Public"},"DatasetExportJobPublicStatus":{"type":"string","enum":["PENDING","PROCESSING","COMPLETED","FAILED"],"title":"DatasetExportJobPublicStatus"},"DatasetExportJob_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"dataset_id":{"type":"string","format":"uuid"},"dataset_name":{"type":"string"},"status":{"$ref":"#/components/schemas/DatasetExportJobPublicStatus"},"file_path":{"type":"string"},"error_message":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"viewed_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"title":"DatasetExportJob_Public"},"DatasetItemPublicSource":{"type":"string","enum":["manual","trace","span","sdk"],"title":"DatasetItemPublicSource"},"ExperimentItemPublicTraceVisibilityMode":{"type":"string","enum":["default","hidden"],"title":"ExperimentItemPublicTraceVisibilityMode"},"ExperimentItem_Public":{"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"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"trace_visibility_mode":{"$ref":"#/components/schemas/ExperimentItemPublicTraceVisibilityMode"}},"required":["experiment_id","dataset_item_id","trace_id"],"title":"ExperimentItem_Public"},"ExperimentRunSummaryPublicStatus":{"type":"string","enum":["passed","failed"],"title":"ExperimentRunSummaryPublicStatus"},"ExperimentRunSummary_Public":{"type":"object","properties":{"passed_runs":{"type":"integer"},"total_runs":{"type":"integer"},"status":{"$ref":"#/components/schemas/ExperimentRunSummaryPublicStatus"}},"title":"ExperimentRunSummary_Public"},"DatasetItem_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Stable item identifier.\nOn write, used as the upsert key.\nIf omitted, a new ID is generated.\nRemains the same across dataset versions\n"},"dataset_item_id":{"type":"string","format":"uuid","description":"Deprecated.\nAlways equals 'id'.\nRetained for backward compatibility and will be removed in a future version\n"},"trace_id":{"type":"string","format":"uuid"},"span_id":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/DatasetItemPublicSource"},"data":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"tags":{"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","items":{"$ref":"#/components/schemas/ExperimentItem_Public"}},"run_summaries_by_experiment":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExperimentRunSummary_Public"}},"dataset_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["source","data"],"title":"DatasetItem_Public"},"ColumnPublicTypesItems":{"type":"string","enum":["string","number","object","boolean","array","null"],"title":"ColumnPublicTypesItems"},"Column_Public":{"type":"object","properties":{"name":{"type":"string"},"types":{"type":"array","items":{"$ref":"#/components/schemas/ColumnPublicTypesItems"}},"filter_field_prefix":{"type":"string"},"filterField":{"type":"string","description":"The field to use for filtering"}},"title":"Column_Public"},"DatasetItemPage_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItem_Public"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/Column_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"DatasetItemPage_Public"},"ColumnTypesItems":{"type":"string","enum":["string","number","object","boolean","array","null"],"title":"ColumnTypesItems"},"Column":{"type":"object","properties":{"name":{"type":"string"},"types":{"type":"array","items":{"$ref":"#/components/schemas/ColumnTypesItems"}},"filter_field_prefix":{"type":"string"},"filterField":{"type":"string","description":"The field to use for filtering"}},"title":"Column"},"PageColumns":{"type":"object","properties":{"columns":{"type":"array","items":{"$ref":"#/components/schemas/Column"}}},"title":"PageColumns"},"DatasetItemStreamRequest":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"last_retrieved_id":{"type":"string","format":"uuid"},"steam_limit":{"type":"integer","minimum":1,"maximum":2000},"dataset_version":{"type":"string"},"project_name":{"type":"string"},"filters":{"type":"string"}},"required":["dataset_name"],"title":"DatasetItemStreamRequest"},"Datasets_streamDatasetItems_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Datasets_streamDatasetItems_Response_200"},"DatasetVersionDiffStats":{"type":"object","properties":{"itemsAdded":{"type":"integer"},"itemsModified":{"type":"integer"},"itemsDeleted":{"type":"integer"},"itemsUnchanged":{"type":"integer"}},"title":"DatasetVersionDiffStats"},"DatasetVersionDiff":{"type":"object","properties":{"from_version":{"type":"string"},"to_version":{"type":"string"},"statistics":{"$ref":"#/components/schemas/DatasetVersionDiffStats"}},"title":"DatasetVersionDiff"},"DatasetVersionTag":{"type":"object","properties":{"tag":{"type":"string","minLength":0,"maxLength":100}},"required":["tag"],"title":"DatasetVersionTag"},"DatasetVersionPage_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DatasetVersion_Public"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"}},"title":"DatasetVersionPage_Public"},"DatasetVersionRestore_Public":{"type":"object","properties":{"version_ref":{"type":"string","minLength":1,"description":"Version hash or tag to restore from"}},"required":["version_ref"],"title":"DatasetVersionRestore_Public"},"DatasetVersionRetrieveRequest_Public":{"type":"object","properties":{"version_name":{"type":"string","pattern":"^v\\d+$","minLength":1,"description":"Version name in format 'vN' (e.g., 'v1', 'v373')"}},"required":["version_name"],"title":"DatasetVersionRetrieveRequest_Public"},"DatasetVersionUpdate_Public":{"type":"object","properties":{"change_description":{"type":"string","description":"Optional description of changes in this version"},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Optional list of tags to add to this version"}},"title":"DatasetVersionUpdate_Public"},"Environment_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150},"description":{"type":"string","minLength":0,"maxLength":500},"color":{"type":"string","minLength":0,"maxLength":20},"position":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["name"],"title":"Environment_Public"},"EnvironmentPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Environment_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"EnvironmentPage_Public"},"Environment_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150},"description":{"type":"string","minLength":0,"maxLength":500},"color":{"type":"string","minLength":0,"maxLength":20},"position":{"type":"integer"}},"required":["name"],"title":"Environment_Write"},"Environments_createEnvironment_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Environments_createEnvironment_Response_201"},"EnvironmentUpdate":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150},"description":{"type":"string","minLength":0,"maxLength":500},"color":{"type":"string","minLength":0,"maxLength":20},"position":{"type":"integer"}},"title":"EnvironmentUpdate"},"ExperimentUpdateType":{"type":"string","enum":["regular","trial","mini-batch","mutation"],"title":"ExperimentUpdateType"},"ExperimentUpdateStatus":{"type":"string","enum":["running","completed","cancelled"],"description":"The status of the experiment","title":"ExperimentUpdateStatus"},"ExperimentScore":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"ExperimentScore"},"ExperimentUpdate":{"type":"object","properties":{"name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"metadata":{"$ref":"#/components/schemas/JsonNode"},"tags":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags"},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to add"},"tags_to_remove":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to remove"},"type":{"$ref":"#/components/schemas/ExperimentUpdateType"},"status":{"$ref":"#/components/schemas/ExperimentUpdateStatus","description":"The status of the experiment"},"experiment_scores":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentScore"}}},"title":"ExperimentUpdate"},"ExperimentBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of experiment IDs to update (max 1000)"},"update":{"$ref":"#/components/schemas/ExperimentUpdate"},"merge_tags":{"type":"boolean","description":"If true, merge tags with existing tags instead of replacing them. Default: false"}},"required":["ids","update"],"description":"Request to batch update multiple experiments","title":"ExperimentBatchUpdate"},"JsonListStringPublicOneOf1Items":{"type":"object","properties":{},"title":"JsonListStringPublicOneOf1Items"},"JsonListStringPublic1":{"type":"array","items":{"$ref":"#/components/schemas/JsonListStringPublicOneOf1Items"},"title":"JsonListStringPublic1"},"JsonListString_Public":{"oneOf":[{"type":"object","additionalProperties":{"description":"Any type"}},{"$ref":"#/components/schemas/JsonListStringPublic1"},{"type":"string"}],"title":"JsonListString_Public"},"ExperimentPublicType":{"type":"string","enum":["regular","trial","mini-batch","mutation"],"title":"ExperimentPublicType"},"ExperimentPublicEvaluationMethod":{"type":"string","enum":["dataset","evaluation_suite"],"title":"ExperimentPublicEvaluationMethod"},"Comment_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"}},"required":["text"],"title":"Comment_Public"},"ExperimentPublicStatus":{"type":"string","enum":["running","completed","cancelled"],"title":"ExperimentPublicStatus"},"ExperimentScore_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"ExperimentScore_Public"},"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"}},"title":"PromptVersionLink_Public"},"AssertionScoreAverage_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"description":"Per-assertion average pass rates for test suite experiments. Null for regular experiments.","title":"AssertionScoreAverage_Public"},"Experiment_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"dataset_name":{"type":["string","null"],"minLength":1},"dataset_id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100}},"type":{"$ref":"#/components/schemas/ExperimentPublicType"},"evaluation_method":{"$ref":"#/components/schemas/ExperimentPublicEvaluationMethod"},"optimization_id":{"type":"string","format":"uuid"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreAverage_Public"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment_Public"}},"trace_count":{"type":"integer","format":"int64"},"dataset_item_count":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"duration":{"$ref":"#/components/schemas/PercentageValues_Public"},"total_estimated_cost":{"type":"number","format":"double"},"total_estimated_cost_avg":{"type":"number","format":"double"},"usage":{"type":"object","additionalProperties":{"type":"number","format":"double"}},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"status":{"$ref":"#/components/schemas/ExperimentPublicStatus"},"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","format":"uuid","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."},"dataset_version_summary":{"$ref":"#/components/schemas/DatasetVersionSummary_Public"},"pass_rate":{"type":"number","format":"double","description":"Pass rate for test suite experiments (0.0-1.0). Null for regular experiments."},"passed_count":{"type":"integer","format":"int64","description":"Number of items that passed for test suite experiments. Null for regular experiments."},"total_count":{"type":"integer","format":"int64","description":"Total number of items for test suite experiments. Null for regular experiments."},"assertion_scores":{"type":"array","items":{"$ref":"#/components/schemas/AssertionScoreAverage_Public"},"description":"Per-assertion average pass rates for test suite experiments. Null for regular experiments."}},"required":["dataset_name"],"title":"Experiment_Public"},"ExperimentPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Experiment_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"ExperimentPage_Public"},"JsonListStringWriteOneOf1Items":{"type":"object","properties":{},"title":"JsonListStringWriteOneOf1Items"},"JsonListStringWrite1":{"type":"array","items":{"$ref":"#/components/schemas/JsonListStringWriteOneOf1Items"},"title":"JsonListStringWrite1"},"JsonListString_Write":{"oneOf":[{"type":"object","additionalProperties":{"description":"Any type"}},{"$ref":"#/components/schemas/JsonListStringWrite1"},{"type":"string"}],"title":"JsonListString_Write"},"ExperimentWriteType":{"type":"string","enum":["regular","trial","mini-batch","mutation"],"title":"ExperimentWriteType"},"ExperimentWriteEvaluationMethod":{"type":"string","enum":["dataset","evaluation_suite"],"title":"ExperimentWriteEvaluationMethod"},"ExperimentWriteStatus":{"type":"string","enum":["running","completed","cancelled"],"title":"ExperimentWriteStatus"},"ExperimentScore_Write":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"ExperimentScore_Write"},"PromptVersionLink_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}},"required":["id"],"title":"PromptVersionLink_Write"},"Experiment_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"dataset_name":{"type":["string","null"],"minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100}},"type":{"$ref":"#/components/schemas/ExperimentWriteType"},"evaluation_method":{"$ref":"#/components/schemas/ExperimentWriteEvaluationMethod"},"optimization_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/ExperimentWriteStatus"},"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","format":"uuid","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."}},"required":["dataset_name"],"title":"Experiment_Write"},"Experiments_createExperiment_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Experiments_createExperiment_Response_201"},"ExperimentItemsBatch":{"type":"object","properties":{"experiment_items":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentItem"}}},"required":["experiment_items"],"title":"ExperimentItemsBatch"},"ExperimentItemsDelete":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"ExperimentItemsDelete"},"DeleteIdsHolder":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"DeleteIdsHolder"},"PromptVersionLink":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"commit":{"type":"string"},"version_number":{"type":"string","description":"sequential version number in the format v<N>; null for masks"},"prompt_id":{"type":"string","format":"uuid"},"prompt_name":{"type":"string"}},"required":["id"],"title":"PromptVersionLink"},"PromptVariant":{"type":"object","properties":{"model":{"type":"string","minLength":1},"messages":{"type":"array","items":{"$ref":"#/components/schemas/Message"}},"configs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"}},"prompt_versions":{"type":"array","items":{"$ref":"#/components/schemas/PromptVersionLink"}},"experiment_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"}},"required":["model","messages"],"title":"PromptVariant"},"ExperimentExecutionRequest":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"dataset_version_id":{"type":"string","format":"uuid"},"prompts":{"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"}}},"required":["dataset_name","prompts","dataset_id"],"title":"ExperimentExecutionRequest"},"ExperimentInfo":{"type":"object","properties":{"experiment_id":{"type":"string","format":"uuid"},"prompt_index":{"type":"integer"}},"title":"ExperimentInfo"},"ExperimentExecutionResponse":{"type":"object","properties":{"experiments":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentInfo"}},"total_items":{"type":"integer"}},"title":"ExperimentExecutionResponse"},"JsonListStringExperimentItemBulkWriteViewOneOf1Items":{"type":"object","properties":{},"title":"JsonListStringExperimentItemBulkWriteViewOneOf1Items"},"JsonListStringExperimentItemBulkWriteView1":{"type":"array","items":{"$ref":"#/components/schemas/JsonListStringExperimentItemBulkWriteViewOneOf1Items"},"title":"JsonListStringExperimentItemBulkWriteView1"},"JsonListString_ExperimentItemBulkWriteView":{"oneOf":[{"type":"object","additionalProperties":{"description":"Any type"}},{"$ref":"#/components/schemas/JsonListStringExperimentItemBulkWriteView1"},{"type":"string"}],"title":"JsonListString_ExperimentItemBulkWriteView"},"ErrorInfo_ExperimentItemBulkWriteView":{"type":"object","properties":{"exception_type":{"type":"string","minLength":1},"message":{"type":"string"},"traceback":{"type":"string","minLength":1}},"required":["exception_type","traceback"],"title":"ErrorInfo_ExperimentItemBulkWriteView"},"TraceExperimentItemBulkWriteViewSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"TraceExperimentItemBulkWriteViewSource"},"Trace_ExperimentItemBulkWriteView":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"array","items":{"type":"string"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_ExperimentItemBulkWriteView"},"last_updated_at":{"type":"string","format":"date-time"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"thread_id":{"type":"string"},"source":{"$ref":"#/components/schemas/TraceExperimentItemBulkWriteViewSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"description":"Please provide either none, only one of evaluate_task_result or trace, but never both","title":"Trace_ExperimentItemBulkWriteView"},"SpanExperimentItemBulkWriteViewType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"SpanExperimentItemBulkWriteViewType"},"SpanExperimentItemBulkWriteViewSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"SpanExperimentItemBulkWriteViewSource"},"Span_ExperimentItemBulkWriteView":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"parent_span_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/SpanExperimentItemBulkWriteViewType"},"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":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","additionalProperties":{"type":"integer"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_ExperimentItemBulkWriteView"},"last_updated_at":{"type":"string","format":"date-time"},"total_estimated_cost":{"type":"number","format":"double","minimum":0},"total_estimated_cost_version":{"type":"string"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"source":{"$ref":"#/components/schemas/SpanExperimentItemBulkWriteViewSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"title":"Span_ExperimentItemBulkWriteView"},"FeedbackScoreExperimentItemBulkWriteViewSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScoreExperimentItemBulkWriteViewSource"},"ValueEntryExperimentItemBulkWriteViewSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"ValueEntryExperimentItemBulkWriteViewSource"},"ValueEntry_ExperimentItemBulkWriteView":{"type":"object","properties":{"value":{"type":"number","format":"double"},"reason":{"type":"string"},"category_name":{"type":"string"},"source":{"$ref":"#/components/schemas/ValueEntryExperimentItemBulkWriteViewSource"},"last_updated_at":{"type":"string","format":"date-time"},"span_type":{"type":"string"},"span_id":{"type":"string"},"source_queue_id":{"type":"string"},"author":{"type":"string"}},"title":"ValueEntry_ExperimentItemBulkWriteView"},"FeedbackScore_ExperimentItemBulkWriteView":{"type":"object","properties":{"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScoreExperimentItemBulkWriteViewSource"},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"value_by_author":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ValueEntry_ExperimentItemBulkWriteView"}}},"required":["name","value","source"],"title":"FeedbackScore_ExperimentItemBulkWriteView"},"ExperimentItemBulkRecord_ExperimentItemBulkWriteView":{"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":{"type":"array","items":{"$ref":"#/components/schemas/Span_ExperimentItemBulkWriteView"}},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore_ExperimentItemBulkWriteView"}}},"required":["dataset_item_id"],"title":"ExperimentItemBulkRecord_ExperimentItemBulkWriteView"},"ExperimentItemBulkUpload_ExperimentItemBulkWriteView":{"type":"object","properties":{"experiment_name":{"type":"string","minLength":1},"dataset_name":{"type":"string","minLength":1},"experiment_id":{"type":"string","format":"uuid","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"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentItemBulkRecord_ExperimentItemBulkWriteView"}}},"required":["experiment_name","dataset_name","items"],"title":"ExperimentItemBulkUpload_ExperimentItemBulkWriteView"},"ScoreName_Public":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"title":"ScoreName_Public"},"FeedbackScoreNames_Public":{"type":"object","properties":{"scores":{"type":"array","items":{"$ref":"#/components/schemas/ScoreName_Public"}}},"title":"FeedbackScoreNames_Public"},"GroupContent":{"type":"object","properties":{"label":{"type":"string"}},"title":"GroupContent"},"GroupDetail":{"type":"object","properties":{"group_sorting":{"type":"array","items":{"type":"string"}}},"title":"GroupDetail"},"GroupDetails":{"type":"object","properties":{"groups_details":{"type":"array","items":{"$ref":"#/components/schemas/GroupDetail"}}},"title":"GroupDetails"},"ExperimentGroupResponse":{"type":"object","properties":{"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GroupContent"}},"details":{"$ref":"#/components/schemas/GroupDetails"}},"title":"ExperimentGroupResponse"},"PercentageValues":{"type":"object","properties":{"p50":{"type":"number","format":"double"},"p90":{"type":"number","format":"double"},"p99":{"type":"number","format":"double"}},"title":"PercentageValues"},"FeedbackScoreAverage":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"FeedbackScoreAverage"},"AggregationData":{"type":"object","properties":{"experiment_count":{"type":"integer","format":"int64"},"trace_count":{"type":"integer","format":"int64"},"total_estimated_cost":{"type":"number","format":"double"},"total_estimated_cost_avg":{"type":"number","format":"double"},"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","format":"double"},"passed_count_sum":{"type":"integer","format":"int64"},"total_count_sum":{"type":"integer","format":"int64"}},"title":"AggregationData"},"GroupContentWithAggregations":{"type":"object","properties":{"label":{"type":"string"},"aggregations":{"$ref":"#/components/schemas/AggregationData"}},"title":"GroupContentWithAggregations"},"ExperimentGroupAggregationsResponse":{"type":"object","properties":{"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GroupContentWithAggregations"}}},"title":"ExperimentGroupAggregationsResponse"},"ExperimentItemStreamRequest":{"type":"object","properties":{"experiment_name":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":2000},"last_retrieved_id":{"type":"string","format":"uuid"},"truncate":{"type":"boolean","default":true,"description":"Truncate image included in either input, output or metadata"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"}},"required":["experiment_name"],"title":"ExperimentItemStreamRequest"},"Experiments_streamExperimentItems_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Experiments_streamExperimentItems_Response_200"},"ExperimentStreamRequest_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":2000},"last_retrieved_id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"}},"required":["name"],"title":"ExperimentStreamRequest_Public"},"Experiments_streamExperiments_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Experiments_streamExperiments_Response_200"},"V1PrivateFeedbackDefinitionsGetParametersType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"V1PrivateFeedbackDefinitionsGetParametersType"},"NumericalFeedbackDefinitionPublicType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"NumericalFeedbackDefinitionPublicType"},"NumericalFeedbackDetail_Public":{"type":"object","properties":{"max":{"type":"number","format":"double"},"min":{"type":"number","format":"double"}},"required":["max","min"],"title":"NumericalFeedbackDetail_Public"},"FeedbackObjectPublicType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"FeedbackObjectPublicType"},"CategoricalFeedbackDefinitionPublicType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"CategoricalFeedbackDefinitionPublicType"},"CategoricalFeedbackDetail_Public":{"type":"object","properties":{"categories":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"required":["categories"],"title":"CategoricalFeedbackDetail_Public"},"BooleanFeedbackDefinitionPublicType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"BooleanFeedbackDefinitionPublicType"},"BooleanFeedbackDetail_Public":{"type":"object","properties":{"trueLabel":{"type":"string","minLength":1,"description":"Label for true/1 value"},"falseLabel":{"type":"string","minLength":1,"description":"Label for false/0 value"}},"required":["trueLabel","falseLabel"],"title":"BooleanFeedbackDetail_Public"},"FeedbackObject_Public":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackObjectPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/NumericalFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"numerical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackObjectPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/CategoricalFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"categorical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackObjectPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/BooleanFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"boolean variant"}],"discriminator":{"propertyName":"type"},"title":"FeedbackObject_Public"},"FeedbackDefinitionPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackObject_Public"}}},"title":"FeedbackDefinitionPage_Public"},"NumericalFeedbackDefinitionCreateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"NumericalFeedbackDefinitionCreateType"},"NumericalFeedbackDetail_Create":{"type":"object","properties":{"max":{"type":"number","format":"double"},"min":{"type":"number","format":"double"}},"required":["max","min"],"title":"NumericalFeedbackDetail_Create"},"FeedbackCreateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"FeedbackCreateType"},"CategoricalFeedbackDefinitionCreateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"CategoricalFeedbackDefinitionCreateType"},"CategoricalFeedbackDetail_Create":{"type":"object","properties":{"categories":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"required":["categories"],"title":"CategoricalFeedbackDetail_Create"},"BooleanFeedbackDefinitionCreateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"BooleanFeedbackDefinitionCreateType"},"BooleanFeedbackDetail_Create":{"type":"object","properties":{"trueLabel":{"type":"string","minLength":1,"description":"Label for true/1 value"},"falseLabel":{"type":"string","minLength":1,"description":"Label for false/0 value"}},"required":["trueLabel","falseLabel"],"title":"BooleanFeedbackDetail_Create"},"Feedback_Create":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackCreateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/NumericalFeedbackDetail_Create"}},"required":["type","name","details"],"description":"numerical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackCreateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/CategoricalFeedbackDetail_Create"}},"required":["type","name","details"],"description":"categorical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackCreateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/BooleanFeedbackDetail_Create"}},"required":["type","name","details"],"description":"boolean variant"}],"discriminator":{"propertyName":"type"},"title":"Feedback_Create"},"Feedback-definitions_createFeedbackDefinition_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Feedback-definitions_createFeedbackDefinition_Response_201"},"FeedbackPublicType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"FeedbackPublicType"},"Feedback_Public":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/NumericalFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"numerical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/CategoricalFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"categorical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackPublicType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"createdAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"lastUpdatedBy":{"type":"string"},"details":{"$ref":"#/components/schemas/BooleanFeedbackDetail_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","name","details"],"description":"boolean variant"}],"discriminator":{"propertyName":"type"},"title":"Feedback_Public"},"NumericalFeedbackDefinitionUpdateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"NumericalFeedbackDefinitionUpdateType"},"NumericalFeedbackDetail_Update":{"type":"object","properties":{"max":{"type":"number","format":"double"},"min":{"type":"number","format":"double"}},"required":["max","min"],"title":"NumericalFeedbackDetail_Update"},"FeedbackUpdateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"FeedbackUpdateType"},"CategoricalFeedbackDefinitionUpdateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"CategoricalFeedbackDefinitionUpdateType"},"CategoricalFeedbackDetail_Update":{"type":"object","properties":{"categories":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"required":["categories"],"title":"CategoricalFeedbackDetail_Update"},"BooleanFeedbackDefinitionUpdateType":{"type":"string","enum":["numerical","categorical","boolean"],"title":"BooleanFeedbackDefinitionUpdateType"},"BooleanFeedbackDetail_Update":{"type":"object","properties":{"trueLabel":{"type":"string","minLength":1,"description":"Label for true/1 value"},"falseLabel":{"type":"string","minLength":1,"description":"Label for false/0 value"}},"required":["trueLabel","falseLabel"],"title":"BooleanFeedbackDetail_Update"},"Feedback_Update":{"oneOf":[{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackUpdateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/NumericalFeedbackDetail_Update"}},"required":["type","name","details"],"description":"numerical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackUpdateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/CategoricalFeedbackDetail_Update"}},"required":["type","name","details"],"description":"categorical variant"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FeedbackUpdateType"},"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":0,"maxLength":255,"description":"Optional description for the feedback definition"},"details":{"$ref":"#/components/schemas/BooleanFeedbackDetail_Update"}},"required":["type","name","details"],"description":"boolean variant"}],"discriminator":{"propertyName":"type"},"title":"Feedback_Update"},"GuardrailWriteName":{"type":"string","enum":["TOPIC","PII","LLM_JUDGE","PROMPT_INJECTION","CUSTOM_CLASSIFIER"],"title":"GuardrailWriteName"},"GuardrailWriteResult":{"type":"string","enum":["passed","failed"],"title":"GuardrailWriteResult"},"Guardrail_Write":{"type":"object","properties":{"entity_id":{"type":"string","format":"uuid"},"secondary_id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"project_id":{"type":"string","format":"uuid"},"name":{"$ref":"#/components/schemas/GuardrailWriteName"},"result":{"$ref":"#/components/schemas/GuardrailWriteResult"},"config":{"$ref":"#/components/schemas/JsonNode"},"details":{"$ref":"#/components/schemas/JsonNode"}},"required":["entity_id","secondary_id","name","result","config","details"],"title":"Guardrail_Write"},"GuardrailBatch_Write":{"type":"object","properties":{"guardrails":{"type":"array","items":{"$ref":"#/components/schemas/Guardrail_Write"}}},"required":["guardrails"],"title":"GuardrailBatch_Write"},"ProviderApiKeyPublicProvider":{"type":"string","enum":["openai","anthropic","gemini","openrouter","vertex-ai","bedrock","ollama","custom-llm","opik-free"],"title":"ProviderApiKeyPublicProvider"},"ProviderAuthConfigPublicSendAs":{"type":"string","enum":["form","json","basic"],"description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)","title":"ProviderAuthConfigPublicSendAs"},"Credential_Public":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":250},"value":{"type":"string","minLength":0,"maxLength":2000},"secret":{"type":"boolean","description":"Secret values are encrypted at rest and never read back; once true it cannot be unset"}},"required":["key"],"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel","title":"Credential_Public"},"ProviderAuthConfig_Public":{"type":"object","properties":{"token_url":{"type":"string","description":"Auth service URL the credentials are sent to"},"send_as":{"$ref":"#/components/schemas/ProviderAuthConfigPublicSendAs","description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)"},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential_Public"},"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel"},"token_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token in the reply; dot-path for nested replies"},"expires_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token lifetime in seconds in the reply; dot-path for nested replies"},"fallback_ttl_seconds":{"type":"integer","format":"int64","minimum":0,"maximum":31536000,"description":"Lifetime in seconds assumed when the reply doesn't state one, capped at one year; 0 disables caching for such replies. A reply-stated lifetime always wins"}},"description":"Dynamic token auth recipe. When set, Opik fetches a short-lived bearer from the configured auth service instead of using a static api_key. Only supported for custom providers. Secret credential values read back masked.","title":"ProviderAuthConfig_Public"},"ProviderApiKey_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"provider":{"$ref":"#/components/schemas/ProviderApiKeyPublicProvider"},"api_key":{"type":"string"},"name":{"type":"string","minLength":0,"maxLength":150},"provider_name":{"type":"string","minLength":0,"maxLength":150,"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."},"headers":{"type":"object","additionalProperties":{"type":"string"}},"configuration":{"type":"object","additionalProperties":{"type":"string"}},"base_url":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"auth_config":{"$ref":"#/components/schemas/ProviderAuthConfig_Public"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"read_only":{"type":"boolean","description":"If true, this provider is system-managed and cannot be edited or deleted"}},"required":["provider"],"title":"ProviderApiKey_Public"},"ProviderApiKeyPage_Public":{"type":"object","properties":{"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/ProviderApiKey_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"ProviderApiKeyPage_Public"},"ProviderApiKeyWriteProvider":{"type":"string","enum":["openai","anthropic","gemini","openrouter","vertex-ai","bedrock","ollama","custom-llm","opik-free"],"title":"ProviderApiKeyWriteProvider"},"ProviderAuthConfigWriteSendAs":{"type":"string","enum":["form","json","basic"],"description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)","title":"ProviderAuthConfigWriteSendAs"},"Credential_Write":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":250},"value":{"type":"string","minLength":0,"maxLength":2000},"secret":{"type":"boolean","description":"Secret values are encrypted at rest and never read back; once true it cannot be unset"}},"required":["key"],"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel","title":"Credential_Write"},"ProviderAuthConfig_Write":{"type":"object","properties":{"token_url":{"type":"string","description":"Auth service URL the credentials are sent to"},"send_as":{"$ref":"#/components/schemas/ProviderAuthConfigWriteSendAs","description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)"},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential_Write"},"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel"},"token_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token in the reply; dot-path for nested replies"},"expires_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token lifetime in seconds in the reply; dot-path for nested replies"},"fallback_ttl_seconds":{"type":"integer","format":"int64","minimum":0,"maximum":31536000,"description":"Lifetime in seconds assumed when the reply doesn't state one, capped at one year; 0 disables caching for such replies. A reply-stated lifetime always wins"}},"description":"Dynamic token auth recipe. When set, Opik fetches a short-lived bearer from the configured auth service instead of using a static api_key. Only supported for custom providers. Secret credential values read back masked.","title":"ProviderAuthConfig_Write"},"ProviderApiKey_Write":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/ProviderApiKeyWriteProvider"},"api_key":{"type":"string"},"name":{"type":"string","minLength":0,"maxLength":150},"provider_name":{"type":"string","minLength":0,"maxLength":150,"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."},"headers":{"type":"object","additionalProperties":{"type":"string"}},"configuration":{"type":"object","additionalProperties":{"type":"string"}},"base_url":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"auth_config":{"$ref":"#/components/schemas/ProviderAuthConfig_Write"}},"required":["provider"],"title":"ProviderApiKey_Write"},"LlmProviderKey_storeLlmProviderApiKey_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"LlmProviderKey_storeLlmProviderApiKey_Response_201"},"ProviderAuthConfigSendAs":{"type":"string","enum":["form","json","basic"],"description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)","title":"ProviderAuthConfigSendAs"},"Credential":{"type":"object","properties":{"key":{"type":"string","minLength":0,"maxLength":250},"value":{"type":"string","minLength":0,"maxLength":2000},"secret":{"type":"boolean","description":"Secret values are encrypted at rest and never read back; once true it cannot be unset"}},"required":["key"],"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel","title":"Credential"},"ProviderAuthConfig":{"type":"object","properties":{"token_url":{"type":"string","description":"Auth service URL the credentials are sent to"},"send_as":{"$ref":"#/components/schemas/ProviderAuthConfigSendAs","description":"How credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)"},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"},"description":"Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel"},"token_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token in the reply; dot-path for nested replies"},"expires_field":{"type":"string","minLength":0,"maxLength":250,"description":"Field holding the token lifetime in seconds in the reply; dot-path for nested replies"},"fallback_ttl_seconds":{"type":"integer","format":"int64","minimum":0,"maximum":31536000,"description":"Lifetime in seconds assumed when the reply doesn't state one, capped at one year; 0 disables caching for such replies. A reply-stated lifetime always wins"}},"description":"Dynamic token auth recipe. Send the '__SECRET__' sentinel as a credential value to keep the stored secret; send an empty object to clear the auth config.","title":"ProviderAuthConfig"},"ProviderApiKeyUpdate":{"type":"object","properties":{"api_key":{"type":"string"},"name":{"type":"string","minLength":0,"maxLength":150},"provider_name":{"type":"string","minLength":0,"maxLength":150,"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."},"headers":{"type":"object","additionalProperties":{"type":"string"}},"configuration":{"type":"object","additionalProperties":{"type":"string"}},"base_url":{"type":"string"},"auth_config":{"$ref":"#/components/schemas/ProviderAuthConfig"}},"title":"ProviderApiKeyUpdate"},"ProviderAuthCheck":{"type":"object","properties":{"provider_id":{"type":"string","format":"uuid","description":"Test the stored auth config of this provider; also the sentinel-resolution target when auth_config is sent"},"auth_config":{"$ref":"#/components/schemas/ProviderAuthConfig"}},"title":"ProviderAuthCheck"},"Result":{"type":"object","properties":{"name":{"type":"string"},"current":{"type":"number","format":"double"},"previous":{"type":"number","format":"double"}},"title":"Result"},"LocalRunnerLogEntry":{"type":"object","properties":{"stream":{"type":"string","minLength":1},"text":{"type":"string","minLength":1}},"required":["stream","text"],"title":"LocalRunnerLogEntry"},"BridgeCommandSubmitRequestType":{"type":"string","enum":["ReadFile","WriteFile","EditFile","ListFiles","SearchFiles","Exec"],"title":"BridgeCommandSubmitRequestType"},"BridgeCommandSubmitRequest":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/BridgeCommandSubmitRequestType"},"args":{"$ref":"#/components/schemas/JsonNode"},"timeout_seconds":{"type":"integer"}},"required":["type","args"],"title":"BridgeCommandSubmitRequest"},"BridgeCommandSubmitResponse":{"type":"object","properties":{"command_id":{"type":"string","format":"uuid"}},"title":"BridgeCommandSubmitResponse"},"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"}},"title":"LocalRunnerJobMetadata"},"CreateLocalRunnerJobRequest":{"type":"object","properties":{"agent_name":{"type":"string","minLength":1},"inputs":{"$ref":"#/components/schemas/JsonNode"},"project_id":{"type":"string","format":"uuid"},"mask_id":{"type":"string","format":"uuid","description":"Deprecated. Use prompt_masks to pass one or more mask overlays keyed by prompt id.","deprecated":true},"prompt_masks":{"type":"object","additionalProperties":{"type":"string","format":"uuid"},"description":"Mask overlays to apply during agent execution, keyed by prompt id."},"blueprint_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"metadata":{"$ref":"#/components/schemas/LocalRunnerJobMetadata"}},"required":["agent_name","project_id"],"title":"CreateLocalRunnerJobRequest"},"Runners_createJob_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Runners_createJob_Response_201"},"LocalRunnerStatus":{"type":"string","enum":["pairing","connected","disconnected"],"title":"LocalRunnerStatus"},"ParamPresence":{"type":"string","enum":["required","optional"],"title":"ParamPresence"},"Param":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"presence":{"$ref":"#/components/schemas/ParamPresence"}},"required":["name","type"],"title":"Param"},"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"}},"title":"Agent"},"LocalRunnerType":{"type":"string","enum":["connect","endpoint"],"title":"LocalRunnerType"},"LocalRunner":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/LocalRunnerStatus"},"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":{"$ref":"#/components/schemas/LocalRunnerType"}},"title":"LocalRunner"},"BridgeCommandType":{"type":"string","enum":["ReadFile","WriteFile","EditFile","ListFiles","SearchFiles","Exec"],"title":"BridgeCommandType"},"BridgeCommandStatus":{"type":"string","enum":["pending","picked_up","completed","failed","timed_out"],"title":"BridgeCommandStatus"},"BridgeCommand":{"type":"object","properties":{"command_id":{"type":"string","format":"uuid"},"runner_id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/BridgeCommandType"},"status":{"$ref":"#/components/schemas/BridgeCommandStatus"},"args":{"$ref":"#/components/schemas/JsonNode"},"result":{"$ref":"#/components/schemas/JsonNode"},"error":{"$ref":"#/components/schemas/JsonNode"},"timeout_seconds":{"type":"integer"},"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"}},"title":"BridgeCommand"},"LocalRunnerJobStatus":{"type":"string","enum":["pending","running","completed","failed","cancelled"],"title":"LocalRunnerJobStatus"},"LocalRunnerJob":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"runner_id":{"type":"string","format":"uuid"},"agent_name":{"type":"string"},"status":{"$ref":"#/components/schemas/LocalRunnerJobStatus"},"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","format":"uuid","description":"Deprecated. Use prompt_masks to read one or more mask overlays keyed by prompt id.","deprecated":true},"prompt_masks":{"type":"object","additionalProperties":{"type":"string","format":"uuid"},"description":"Mask overlays to apply during agent execution, keyed by prompt id."},"blueprint_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"metadata":{"$ref":"#/components/schemas/LocalRunnerJobMetadata"},"timeout":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"started_at":{"type":"string","format":"date-time"},"completed_at":{"type":"string","format":"date-time"}},"title":"LocalRunnerJob"},"LocalRunnerHeartbeatRequest":{"type":"object","properties":{"capabilities":{"type":"array","items":{"type":"string"}}},"title":"LocalRunnerHeartbeatRequest"},"LocalRunnerHeartbeatResponse":{"type":"object","properties":{"cancelled_job_ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"title":"LocalRunnerHeartbeatResponse"},"LocalRunnerJobPage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/LocalRunnerJob"}}},"title":"LocalRunnerJobPage"},"V1PrivateLocalRunnersGetParametersStatus":{"type":"string","enum":["pairing","connected","disconnected"],"title":"V1PrivateLocalRunnersGetParametersStatus"},"LocalRunnerPage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/LocalRunner"}}},"title":"LocalRunnerPage"},"BridgeCommandNextRequest":{"type":"object","properties":{"max_commands":{"type":"integer"}},"title":"BridgeCommandNextRequest"},"BridgeCommandItemType":{"type":"string","enum":["ReadFile","WriteFile","EditFile","ListFiles","SearchFiles","Exec"],"title":"BridgeCommandItemType"},"BridgeCommandItem":{"type":"object","properties":{"command_id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/BridgeCommandItemType"},"args":{"$ref":"#/components/schemas/JsonNode"},"timeout_seconds":{"type":"integer"},"submitted_at":{"type":"string","format":"date-time"}},"title":"BridgeCommandItem"},"BridgeCommandBatchResponse":{"type":"object","properties":{"commands":{"type":"array","items":{"$ref":"#/components/schemas/BridgeCommandItem"}}},"title":"BridgeCommandBatchResponse"},"BridgeCommandResultRequestStatus":{"type":"string","enum":["pending","picked_up","completed","failed","timed_out"],"title":"BridgeCommandResultRequestStatus"},"BridgeCommandResultRequest":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/BridgeCommandResultRequestStatus"},"result":{"$ref":"#/components/schemas/JsonNode"},"error":{"$ref":"#/components/schemas/JsonNode"},"duration_ms":{"type":"integer","format":"int64"}},"required":["status"],"title":"BridgeCommandResultRequest"},"LocalRunnerJobResultRequestStatus":{"type":"string","enum":["pending","running","completed","failed","cancelled"],"title":"LocalRunnerJobResultRequestStatus"},"LocalRunnerJobResultRequest":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/LocalRunnerJobResultRequestStatus"},"result":{"$ref":"#/components/schemas/JsonNode"},"error":{"type":"string"},"trace_id":{"type":"string","format":"uuid"}},"required":["status"],"title":"LocalRunnerJobResultRequest"},"ManualEvaluationRequestEntityType":{"type":"string","enum":["trace","thread","span"],"description":"Type of entity to evaluate (trace or thread)","title":"ManualEvaluationRequestEntityType"},"ManualEvaluationRequest":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Project ID"},"entity_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of entity IDs (trace IDs or thread IDs) to evaluate"},"rule_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of automation rule IDs to apply"},"entity_type":{"$ref":"#/components/schemas/ManualEvaluationRequestEntityType","description":"Type of entity to evaluate (trace or thread)"}},"required":["project_id","entity_ids","rule_ids","entity_type"],"title":"ManualEvaluationRequest"},"ManualEvaluationResponse":{"type":"object","properties":{"entities_queued":{"type":"integer","description":"Number of entities queued for evaluation"},"rules_applied":{"type":"integer","description":"Number of rules that will be applied"}},"title":"ManualEvaluationResponse"},"OllamaInstanceBaseUrlRequest":{"type":"object","properties":{"base_url":{"type":"string","minLength":1,"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."},"api_key":{"type":"string","description":"Optional API key for authenticated Ollama instances. If provided, will be sent as Bearer token in Authorization header."}},"required":["base_url"],"description":"Request with Ollama instance base URL for connection testing or model discovery.","title":"OllamaInstanceBaseUrlRequest"},"OllamaModel":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Model name"},"size":{"type":"integer","format":"int64","description":"Model size in bytes"},"digest":{"type":"string","description":"Model digest/hash"},"modified_at":{"type":"string","format":"date-time","description":"Model modification date"}},"required":["name"],"description":"Ollama model information","title":"OllamaModel"},"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.","title":"OllamaConnectionTestResponse"},"OptimizationPublicStatus":{"type":"string","enum":["running","completed","cancelled","initialized","error"],"title":"OptimizationPublicStatus"},"StudioMessage_Public":{"type":"object","properties":{"role":{"type":"string","minLength":1},"content":{"type":"string","minLength":1}},"required":["role","content"],"title":"StudioMessage_Public"},"StudioPrompt_Public":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/StudioMessage_Public"}}},"required":["messages"],"title":"StudioPrompt_Public"},"StudioLlmModel_Public":{"type":"object","properties":{"model":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Public"}},"required":["model"],"title":"StudioLlmModel_Public"},"StudioMetric_Public":{"type":"object","properties":{"type":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Public"}},"required":["type"],"title":"StudioMetric_Public"},"StudioEvaluation_Public":{"type":"object","properties":{"metrics":{"type":"array","items":{"$ref":"#/components/schemas/StudioMetric_Public"}}},"required":["metrics"],"title":"StudioEvaluation_Public"},"StudioOptimizer_Public":{"type":"object","properties":{"type":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Public"}},"required":["type"],"title":"StudioOptimizer_Public"},"OptimizationStudioConfig_Public":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"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"}},"required":["dataset_name","prompt","llm_model","evaluation","optimizer"],"title":"OptimizationStudioConfig_Public"},"ErrorInfo_Public":{"type":"object","properties":{"exception_type":{"type":"string","minLength":1},"message":{"type":"string"},"traceback":{"type":"string","minLength":1}},"required":["exception_type","traceback"],"title":"ErrorInfo_Public"},"Optimization_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"dataset_name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"objective_name":{"type":"string","minLength":1},"status":{"$ref":"#/components/schemas/OptimizationPublicStatus"},"metadata":{"$ref":"#/components/schemas/JsonListString_Public"},"studio_config":{"$ref":"#/components/schemas/OptimizationStudioConfig_Public"},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Public"},"dataset_id":{"type":"string","format":"uuid"},"num_trials":{"type":"integer","format":"int64"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreAverage_Public"}},"experiment_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreAverage_Public"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"baseline_objective_score":{"type":"number","format":"double"},"best_objective_score":{"type":"number","format":"double"},"baseline_duration":{"type":"number","format":"double"},"best_duration":{"type":"number","format":"double"},"baseline_cost":{"type":"number","format":"double"},"best_cost":{"type":"number","format":"double"},"total_optimization_cost":{"type":"number","format":"double"}},"required":["dataset_name","objective_name","status"],"title":"Optimization_Public"},"OptimizationPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Optimization_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"OptimizationPage_Public"},"OptimizationWriteStatus":{"type":"string","enum":["running","completed","cancelled","initialized","error"],"title":"OptimizationWriteStatus"},"StudioMessage_Write":{"type":"object","properties":{"role":{"type":"string","minLength":1},"content":{"type":"string","minLength":1}},"required":["role","content"],"title":"StudioMessage_Write"},"StudioPrompt_Write":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/StudioMessage_Write"}}},"required":["messages"],"title":"StudioPrompt_Write"},"StudioLlmModel_Write":{"type":"object","properties":{"model":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["model"],"title":"StudioLlmModel_Write"},"StudioMetric_Write":{"type":"object","properties":{"type":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["type"],"title":"StudioMetric_Write"},"StudioEvaluation_Write":{"type":"object","properties":{"metrics":{"type":"array","items":{"$ref":"#/components/schemas/StudioMetric_Write"}}},"required":["metrics"],"title":"StudioEvaluation_Write"},"StudioOptimizer_Write":{"type":"object","properties":{"type":{"type":"string","minLength":1},"parameters":{"$ref":"#/components/schemas/JsonNode_Write"}},"required":["type"],"title":"StudioOptimizer_Write"},"OptimizationStudioConfig_Write":{"type":"object","properties":{"dataset_name":{"type":"string","minLength":1},"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"}},"required":["dataset_name","prompt","llm_model","evaluation","optimizer"],"title":"OptimizationStudioConfig_Write"},"ErrorInfo_Write":{"type":"object","properties":{"exception_type":{"type":"string","minLength":1},"message":{"type":"string"},"traceback":{"type":"string","minLength":1}},"required":["exception_type","traceback"],"title":"ErrorInfo_Write"},"Optimization_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"dataset_name":{"type":"string","minLength":1},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"Project name. Creates project if it doesn't exist. Ignored when project_id is provided."},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"objective_name":{"type":"string","minLength":1},"status":{"$ref":"#/components/schemas/OptimizationWriteStatus"},"metadata":{"$ref":"#/components/schemas/JsonListString_Write"},"studio_config":{"$ref":"#/components/schemas/OptimizationStudioConfig_Write"},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Write"},"last_updated_at":{"type":"string","format":"date-time"}},"required":["dataset_name","objective_name","status"],"title":"Optimization_Write"},"Optimizations_createOptimization_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Optimizations_createOptimization_Response_201"},"Optimizations_upsertOptimization_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Optimizations_upsertOptimization_Response_201"},"OptimizationUpdateStatus":{"type":"string","enum":["running","completed","cancelled","initialized","error"],"title":"OptimizationUpdateStatus"},"ErrorInfo":{"type":"object","properties":{"exception_type":{"type":"string","minLength":1},"message":{"type":"string"},"traceback":{"type":"string","minLength":1}},"required":["exception_type","traceback"],"title":"ErrorInfo"},"OptimizationUpdate":{"type":"object","properties":{"name":{"type":"string"},"status":{"$ref":"#/components/schemas/OptimizationUpdateStatus"},"error_info":{"$ref":"#/components/schemas/ErrorInfo"},"metadata":{"$ref":"#/components/schemas/JsonListString"}},"title":"OptimizationUpdate"},"OptimizationStudioLog":{"type":"object","properties":{"url":{"type":"string"},"last_modified":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"}},"title":"OptimizationStudioLog"},"ActivateRequest":{"type":"object","properties":{"runner_name":{"type":"string","minLength":0,"maxLength":128},"hmac":{"type":"string","minLength":43,"maxLength":44}},"required":["runner_name","hmac"],"title":"ActivateRequest"},"Pairing_activatePairingSession_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Pairing_activatePairingSession_Response_201"},"CreateSessionRequestType":{"type":"string","enum":["connect","endpoint"],"title":"CreateSessionRequestType"},"CreateSessionRequest":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"activation_key":{"type":"string","minLength":43,"maxLength":44},"ttl_seconds":{"type":"integer","minimum":60,"maximum":600},"type":{"$ref":"#/components/schemas/CreateSessionRequestType"}},"required":["project_id","activation_key","type"],"title":"CreateSessionRequest"},"CreateSessionResponse":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid"},"runner_id":{"type":"string","format":"uuid"}},"title":"CreateSessionResponse"},"PromptPublicTemplateStructure":{"type":"string","enum":["text","chat"],"default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation.","title":"PromptPublicTemplateStructure"},"Prompt_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"template_structure":{"$ref":"#/components/schemas/PromptPublicTemplateStructure","default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation."},"tags":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"version_count":{"type":"integer","format":"int64"}},"required":["name"],"title":"Prompt_Public"},"PromptPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Prompt_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"PromptPage_Public"},"ProjectPublicVisibility":{"type":"string","enum":["private","public"],"title":"ProjectPublicVisibility"},"Project_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"visibility":{"$ref":"#/components/schemas/ProjectPublicVisibility"},"description":{"type":"string","minLength":0,"maxLength":255},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"last_updated_trace_at":{"type":"string","format":"date-time"}},"required":["name"],"title":"Project_Public"},"ProjectPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Project_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"ProjectPage_Public"},"ProjectWriteVisibility":{"type":"string","enum":["private","public"],"title":"ProjectWriteVisibility"},"Project_Write":{"type":"object","properties":{"name":{"type":"string","minLength":1},"visibility":{"$ref":"#/components/schemas/ProjectWriteVisibility"},"description":{"type":"string","minLength":0,"maxLength":255}},"required":["name"],"title":"Project_Write"},"Projects_createProject_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Projects_createProject_Response_201"},"ProjectUpdateVisibility":{"type":"string","enum":["private","public"],"title":"ProjectUpdateVisibility"},"ProjectUpdate":{"type":"object","properties":{"name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"description":{"type":"string","minLength":0,"maxLength":255},"visibility":{"$ref":"#/components/schemas/ProjectUpdateVisibility"}},"title":"ProjectUpdate"},"ScoreName":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"title":"ScoreName"},"FeedbackScoreNames":{"type":"object","properties":{"scores":{"type":"array","items":{"$ref":"#/components/schemas/ScoreName"}}},"title":"FeedbackScoreNames"},"TokenUsageNames":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}}},"title":"TokenUsageNames"},"KpiCardRequestEntityType":{"type":"string","enum":["traces","spans","threads"],"title":"KpiCardRequestEntityType"},"KpiCardRequest":{"type":"object","properties":{"entity_type":{"$ref":"#/components/schemas/KpiCardRequestEntityType"},"filters":{"type":"string"},"interval_start":{"type":"string","format":"date-time"},"interval_end":{"type":"string","format":"date-time"}},"required":["entity_type","interval_start"],"title":"KpiCardRequest"},"KpiMetricType":{"type":"string","enum":["count","errors","avg_duration","total_cost"],"title":"KpiMetricType"},"KpiMetric":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/KpiMetricType"},"current_value":{"type":"number","format":"double","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."},"previous_value":{"type":"number","format":"double","description":"Metric value for the immediately preceding period of equal length. Same unit as `current_value`."}},"title":"KpiMetric"},"KpiCardResponse":{"type":"object","properties":{"stats":{"type":"array","items":{"$ref":"#/components/schemas/KpiMetric"}}},"title":"KpiCardResponse"},"ProjectMetricRequestPublicMetricType":{"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"],"title":"ProjectMetricRequestPublicMetricType"},"ProjectMetricRequestPublicInterval":{"type":"string","enum":["HOURLY","DAILY","WEEKLY","TOTAL"],"title":"ProjectMetricRequestPublicInterval"},"BreakdownConfigPublicField":{"type":"string","enum":["none","tags","metadata","name","error_info","error_type","model","provider","type","guardrail_name"],"title":"BreakdownConfigPublicField"},"BreakdownConfig_Public":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/BreakdownConfigPublicField"},"metadata_key":{"type":"string"},"sub_metric":{"type":"string"}},"title":"BreakdownConfig_Public"},"ProjectMetricRequest_Public":{"type":"object","properties":{"metric_type":{"$ref":"#/components/schemas/ProjectMetricRequestPublicMetricType"},"interval":{"$ref":"#/components/schemas/ProjectMetricRequestPublicInterval"},"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"}},"title":"ProjectMetricRequest_Public"},"ProjectMetricResponsePublicMetricType":{"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"],"title":"ProjectMetricResponsePublicMetricType"},"ProjectMetricResponsePublicInterval":{"type":"string","enum":["HOURLY","DAILY","WEEKLY","TOTAL"],"title":"ProjectMetricResponsePublicInterval"},"DataPointNumber_Public":{"type":"object","properties":{"time":{"type":"string","format":"date-time"},"value":{"type":"number","format":"double"}},"required":["time"],"title":"DataPointNumber_Public"},"ResultsNumber_Public":{"type":"object","properties":{"name":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/DataPointNumber_Public"}}},"title":"ResultsNumber_Public"},"ProjectMetricResponse_Public":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"metric_type":{"$ref":"#/components/schemas/ProjectMetricResponsePublicMetricType"},"interval":{"$ref":"#/components/schemas/ProjectMetricResponsePublicInterval"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ResultsNumber_Public"}}},"title":"ProjectMetricResponse_Public"},"ErrorCountWithDeviation":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"deviation":{"type":"integer","format":"int64"},"deviation_percentage":{"type":"integer","format":"int64"}},"title":"ErrorCountWithDeviation"},"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"}},"title":"ProjectStatsSummaryItem"},"ProjectStatsSummary":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ProjectStatsSummaryItem"}}},"title":"ProjectStatsSummary"},"ProjectRetrieve_Detailed":{"type":"object","properties":{"name":{"type":"string","minLength":1},"includeStats":{"type":"boolean"}},"required":["name"],"title":"ProjectRetrieve_Detailed"},"ProjectDetailedVisibility":{"type":"string","enum":["private","public"],"title":"ProjectDetailedVisibility"},"FeedbackScoreAverage_Detailed":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"number","format":"double"}},"required":["name","value"],"title":"FeedbackScoreAverage_Detailed"},"PercentageValues_Detailed":{"type":"object","properties":{"p50":{"type":"number","format":"double"},"p90":{"type":"number","format":"double"},"p99":{"type":"number","format":"double"}},"title":"PercentageValues_Detailed"},"ErrorCountWithDeviation_Detailed":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"deviation":{"type":"integer","format":"int64"},"deviation_percentage":{"type":"integer","format":"int64"}},"title":"ErrorCountWithDeviation_Detailed"},"Project_Detailed":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"visibility":{"$ref":"#/components/schemas/ProjectDetailedVisibility"},"description":{"type":"string","minLength":0,"maxLength":255},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"last_updated_trace_at":{"type":"string","format":"date-time"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreAverage_Detailed"}},"duration":{"$ref":"#/components/schemas/PercentageValues_Detailed"},"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_Detailed"}},"required":["name"],"title":"Project_Detailed"},"ErrorMessage_Detailed":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"title":"ErrorMessage_Detailed"},"RecentActivityItemPublicType":{"type":"string","enum":["trace_daily","experiment","dataset_version","test_suite_version","alert_event","optimization","prompt_version"],"title":"RecentActivityItemPublicType"},"RecentActivityItem_Public":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/RecentActivityItemPublicType"},"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"}},"title":"RecentActivityItem_Public"},"RecentActivityPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/RecentActivityItem_Public"}}},"title":"RecentActivityPage_Public"},"PromptWriteType":{"type":"string","enum":["mustache","jinja2","python"],"title":"PromptWriteType"},"PromptWriteTemplateStructure":{"type":"string","enum":["text","chat"],"default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation.","title":"PromptWriteTemplateStructure"},"Prompt_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"template":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$"},"metadata":{"$ref":"#/components/schemas/JsonNode_Write"},"change_description":{"type":"string"},"type":{"$ref":"#/components/schemas/PromptWriteType"},"template_structure":{"$ref":"#/components/schemas/PromptWriteTemplateStructure","default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation."},"tags":{"type":"array","items":{"type":"string"}}},"required":["name"],"title":"Prompt_Write"},"Prompts_createPrompt_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Prompts_createPrompt_Response_201"},"JsonNode_Detail":{"type":"object","properties":{},"title":"JsonNode_Detail"},"PromptVersionDetailType":{"type":"string","enum":["mustache","jinja2","python"],"title":"PromptVersionDetailType"},"PromptVersionDetailVersionType":{"type":"string","enum":["prompt_version","mask"],"description":"version type discriminator; defaults to prompt_version","title":"PromptVersionDetailVersionType"},"PromptVersionDetailTemplateStructure":{"type":"string","enum":["text","chat"],"title":"PromptVersionDetailTemplateStructure"},"PromptVersion_Detail":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"version unique identifier, generated if absent"},"prompt_id":{"type":"string","format":"uuid"},"commit":{"type":"string","pattern":"^[a-zA-Z0-9]{8}$","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"},"template":{"type":"string","minLength":1},"metadata":{"$ref":"#/components/schemas/JsonNode_Detail"},"type":{"$ref":"#/components/schemas/PromptVersionDetailType"},"version_type":{"$ref":"#/components/schemas/PromptVersionDetailVersionType","description":"version type discriminator; defaults to prompt_version"},"environment":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150,"description":"Deprecated: use 'environments' instead","deprecated":true},"environments":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150}},"change_description":{"type":"string"},"tags":{"type":"array","items":{"type":"string","minLength":1}},"variables":{"type":"array","items":{"type":"string"}},"template_structure":{"$ref":"#/components/schemas/PromptVersionDetailTemplateStructure"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["template"],"title":"PromptVersion_Detail"},"CreatePromptVersionDetailTemplateStructure":{"type":"string","enum":["text","chat"],"default":"text","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.","title":"CreatePromptVersionDetailTemplateStructure"},"CreatePromptVersion_Detail":{"type":"object","properties":{"name":{"type":"string","minLength":1},"version":{"$ref":"#/components/schemas/PromptVersion_Detail"},"template_structure":{"$ref":"#/components/schemas/CreatePromptVersionDetailTemplateStructure","default":"text","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."},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If provided, scopes the prompt to the specified project. Ignored when project_id is provided."}},"required":["name","version"],"title":"CreatePromptVersion_Detail"},"ErrorMessage_Detail":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}},"title":"ErrorMessage_Detail"},"PromptVersionUpdate":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to set or merge with existing tags. Follows PATCH semantics:\n- If merge_tags is true, these tags will be added to existing tags.\n- If merge_tags is false, these tags will replace all existing tags.\n- null: preserve existing tags (no change).\n- empty set: clear all tags when merge_tags is false.\n"}},"description":"Update to apply to prompt versions.\nNote: Prompt versions are immutable by design.\nOnly organizational properties (such as tags etc.) can be updated.\nCore properties like template, metadata etc. cannot be modified after creation.\n","title":"PromptVersionUpdate"},"PromptVersionBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"IDs of prompt versions to update"},"update":{"$ref":"#/components/schemas/PromptVersionUpdate"},"merge_tags":{"type":"boolean","default":false,"description":"Tag merge behavior:\n- true: Add new tags to existing tags (union)\n- false: Replace all existing tags with new tags (default behaviour if not provided)\n"}},"required":["ids","update"],"description":"Request to update one or more prompt versions.\nNote: Prompt versions are immutable by design - only organizational properties (such as tags etc.) can be updated.\n","title":"PromptVersionBatchUpdate"},"PromptDetailTemplateStructure":{"type":"string","enum":["text","chat"],"default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation.","title":"PromptDetailTemplateStructure"},"Prompt_Detail":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"project_id":{"type":"string","format":"uuid","description":"Project ID. Takes precedence over project_name when both are provided."},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"template_structure":{"$ref":"#/components/schemas/PromptDetailTemplateStructure","default":"text","description":"Template structure type: 'text' or 'chat'. Immutable after creation."},"tags":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"version_count":{"type":"integer","format":"int64"},"latest_version":{"$ref":"#/components/schemas/PromptVersion_Detail"},"requested_version":{"$ref":"#/components/schemas/PromptVersion_Detail"}},"required":["name"],"title":"Prompt_Detail"},"Prompt_Updatable":{"type":"object","properties":{"name":{"type":"string","minLength":1},"description":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","minLength":0,"maxLength":255},"tags":{"type":"array","items":{"type":"string"}}},"required":["name"],"title":"Prompt_Updatable"},"PromptVersionPublicType":{"type":"string","enum":["mustache","jinja2","python"],"title":"PromptVersionPublicType"},"PromptVersionPublicVersionType":{"type":"string","enum":["prompt_version","mask"],"description":"version type discriminator; defaults to prompt_version","title":"PromptVersionPublicVersionType"},"PromptVersionPublicTemplateStructure":{"type":"string","enum":["text","chat"],"title":"PromptVersionPublicTemplateStructure"},"PromptVersion_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"version unique identifier, generated if absent"},"prompt_id":{"type":"string","format":"uuid"},"commit":{"type":"string","pattern":"^[a-zA-Z0-9]{8}$","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"},"template":{"type":"string","minLength":1},"metadata":{"$ref":"#/components/schemas/JsonNode_Public"},"type":{"$ref":"#/components/schemas/PromptVersionPublicType"},"version_type":{"$ref":"#/components/schemas/PromptVersionPublicVersionType","description":"version type discriminator; defaults to prompt_version"},"environment":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150,"description":"Deprecated: use 'environments' instead","deprecated":true},"environments":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150}},"change_description":{"type":"string"},"tags":{"type":"array","items":{"type":"string","minLength":1}},"template_structure":{"$ref":"#/components/schemas/PromptVersionPublicTemplateStructure"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["template"],"title":"PromptVersion_Public"},"PromptVersionPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/PromptVersion_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"PromptVersionPage_Public"},"PromptVersionCommitsRequest_Public":{"type":"object","properties":{"commits":{"type":"array","items":{"type":"string","minLength":1}}},"required":["commits"],"title":"PromptVersionCommitsRequest_Public"},"PromptVersionRetrieve_Detail":{"type":"object","properties":{"name":{"type":"string","minLength":1},"commit":{"type":"string"},"environment":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150,"description":"If provided, resolves to the version mapped to this environment for the prompt; mutually exclusive with commit and version_number"},"version_number":{"type":"string","pattern":"v\\d+","minLength":0,"maxLength":10,"description":"If provided, resolves to the version with this sequential number (e.g. v3); mutually exclusive with commit and environment"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If provided, scopes the search to the specified project; prompts belonging to other projects are never matched, and an unknown project name returns 404. Legacy prompts that are not scoped to any project are still matched as a deprecated fallback, signalled by the X-Opik-Deprecation response header."}},"required":["name"],"title":"PromptVersionRetrieve_Detail"},"PromptVersionIdsRequest_Detail":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ids"],"title":"PromptVersionIdsRequest_Detail"},"PromptVersionEnvironmentUpdate":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","minLength":0,"maxLength":150}}},"required":["environments"],"description":"Replace the full set of environments assigned to a prompt version.\nThe provided set becomes the new complete set of environments for this version.\n- 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.\n- Empty set: clears all environments from this version.\nAll environments must already exist in the workspace registry; unknown names return 404.\n","title":"PromptVersionEnvironmentUpdate"},"V1PrivateReportFailuresGetParametersType":{"type":"string","enum":["agent_insights"],"title":"V1PrivateReportFailuresGetParametersType"},"ReportFailureType":{"type":"string","enum":["agent_insights"],"title":"ReportFailureType"},"ReportFailure":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/ReportFailureType"},"project_id":{"type":"string","format":"uuid"},"reason":{"type":"string","minLength":0,"maxLength":255},"detail":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"}},"required":["type","project_id","reason"],"title":"ReportFailure"},"ReportFailurePage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/ReportFailure"}}},"title":"ReportFailurePage"},"Report_Failures_createReportFailure_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Report Failures_createReportFailure_Response_201"},"ReportCompleteRequestStatus":{"type":"string","enum":["pending","completed","failed"],"title":"ReportCompleteRequestStatus"},"ReportCompleteRequest":{"type":"object","properties":{"content":{"type":"string"},"status":{"$ref":"#/components/schemas/ReportCompleteRequestStatus"},"session_id":{"type":"string"},"recommended_actions":{"$ref":"#/components/schemas/JsonNode"},"failure_reason":{"type":"string","minLength":0,"maxLength":64,"description":"Why the report failed. Only 'out_of_credits' is acted on; any other value is recorded but renders as a generic failure."}},"required":["status"],"title":"ReportCompleteRequest"},"GenerateReportResponse":{"type":"object","properties":{"reportId":{"type":"string","format":"uuid"}},"description":"Response for report generation trigger","title":"GenerateReportResponse"},"ReportPreference":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"},"schedule_time":{"type":"string","pattern":"\\d{2}:\\d{2}:\\d{2}"},"custom_prompt":{"type":"string","minLength":0,"maxLength":5000},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"}},"title":"ReportPreference"},"OllieReportStatus":{"type":"string","enum":["pending","completed","failed"],"title":"OllieReportStatus"},"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":{"$ref":"#/components/schemas/OllieReportStatus"},"failure_reason":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"}},"title":"OllieReport"},"OllieReportPage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/OllieReport"}}},"title":"OllieReportPage"},"RetentionRulePublicLevel":{"type":"string","enum":["organization","workspace","project"],"description":"Computed from projectId and organizationLevel","title":"RetentionRulePublicLevel"},"RetentionRulePublicRetention":{"type":"string","enum":["short_14d","base_60d","extended_400d","unlimited"],"title":"RetentionRulePublicRetention"},"RetentionRule_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"workspace_id":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"level":{"$ref":"#/components/schemas/RetentionRulePublicLevel","description":"Computed from projectId and organizationLevel"},"retention":{"$ref":"#/components/schemas/RetentionRulePublicRetention"},"apply_to_past":{"type":"boolean"},"enabled":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_by":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"catch_up_cursor":{"type":"string","format":"uuid","description":"Current position of historical data cleanup"},"catch_up_done":{"type":"boolean","description":"Whether historical catch-up is complete"}},"required":["retention"],"title":"RetentionRule_Public"},"RetentionRulePage_Public":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/RetentionRule_Public"}},"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"}},"title":"RetentionRulePage_Public"},"RetentionRuleWriteRetention":{"type":"string","enum":["short_14d","base_60d","extended_400d","unlimited"],"title":"RetentionRuleWriteRetention"},"RetentionRule_Write":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid"},"organization_level":{"type":"boolean","description":"Set to true to create an organization-level rule"},"retention":{"$ref":"#/components/schemas/RetentionRuleWriteRetention"},"apply_to_past":{"type":"boolean"}},"required":["retention"],"title":"RetentionRule_Write"},"ServiceTogglesConfig":{"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"},"agentInsightsEnabled":{"type":"boolean"},"agentInsightsGuidanceEnabled":{"type":"boolean"},"projectHomepageEnabled":{"type":"boolean"},"onlineScoringTracingEnabled":{"type":"boolean"},"annotationQueueAutomationEnabled":{"type":"boolean"},"eventBridgeAlertsEnabled":{"type":"boolean"},"defaultPageSize":{"type":"integer","minimum":5,"maximum":100},"customChartsEnabledForWorkspace":{"type":"boolean"}},"required":["pythonEvaluatorEnabled","traceThreadPythonEvaluatorEnabled","spanLlmAsJudgeEnabled","spanUserDefinedMetricPythonEnabled","guardrailsEnabled","opikAIEnabled","alertsEnabled","welcomeWizardEnabled","exportEnabled","costIntelligenceEnabled","datasetVersioningEnabled","datasetExportEnabled","demoDataEnabled","openaiProviderEnabled","anthropicProviderEnabled","geminiProviderEnabled","openrouterProviderEnabled","vertexaiProviderEnabled","bedrockProviderEnabled","customllmProviderEnabled","ollamaProviderEnabled","ollieEnabled","agentInsightsEnabled","agentInsightsGuidanceEnabled","projectHomepageEnabled","onlineScoringTracingEnabled","annotationQueueAutomationEnabled","eventBridgeAlertsEnabled"],"title":"ServiceTogglesConfig"},"Spans_addSpanComment_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Spans_addSpanComment_Response_201"},"SpanWriteType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"SpanWriteType"},"SpanWriteSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"SpanWriteSource"},"Span_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"$ref":"#/components/schemas/SpanWriteType"},"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":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","additionalProperties":{"type":"integer"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Write"},"last_updated_at":{"type":"string","format":"date-time"},"total_estimated_cost":{"type":"number","format":"double","minimum":0},"total_estimated_cost_version":{"type":"string"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"source":{"$ref":"#/components/schemas/SpanWriteSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"title":"Span_Write"},"SpanBatch_Write":{"type":"object","properties":{"spans":{"type":"array","items":{"$ref":"#/components/schemas/Span_Write"}}},"required":["spans"],"title":"SpanBatch_Write"},"SpanUpdateType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"SpanUpdateType"},"SpanUpdateSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"SpanUpdateSource"},"SpanUpdate":{"type":"object","properties":{"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null and project_id not specified, Default Project is assumed"},"project_id":{"type":"string","format":"uuid","description":"If null and project_name not specified, Default Project is assumed"},"trace_id":{"type":"string","format":"uuid"},"parent_span_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/SpanUpdateType"},"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":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags"},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to add"},"tags_to_remove":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to remove"},"usage":{"type":"object","additionalProperties":{"type":"integer"}},"total_estimated_cost":{"type":"number","format":"double","minimum":0},"error_info":{"$ref":"#/components/schemas/ErrorInfo"},"ttft":{"type":"number","format":"double"},"source":{"$ref":"#/components/schemas/SpanUpdateSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["trace_id"],"title":"SpanUpdate"},"SpanBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of span IDs to update (max 1000)"},"update":{"$ref":"#/components/schemas/SpanUpdate"},"merge_tags":{"type":"boolean","description":"If true, merge tags with existing tags instead of replacing them. Default: false"}},"required":["ids","update"],"description":"Request to batch update multiple spans","title":"SpanBatchUpdate"},"V1PrivateSpansGetParametersType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"V1PrivateSpansGetParametersType"},"SpanPublicType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"SpanPublicType"},"FeedbackScorePublicSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScorePublicSource"},"ValueEntryPublicSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"ValueEntryPublicSource"},"ValueEntry_Public":{"type":"object","properties":{"value":{"type":"number","format":"double"},"reason":{"type":"string"},"category_name":{"type":"string"},"source":{"$ref":"#/components/schemas/ValueEntryPublicSource"},"last_updated_at":{"type":"string","format":"date-time"},"span_type":{"type":"string"},"span_id":{"type":"string"},"source_queue_id":{"type":"string"},"author":{"type":"string"}},"title":"ValueEntry_Public"},"FeedbackScore_Public":{"type":"object","properties":{"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScorePublicSource"},"source_queue_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"value_by_author":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ValueEntry_Public"}}},"required":["name","value","source"],"description":"Aggregated feedback scores from all spans in this trace, averaged by score name","title":"FeedbackScore_Public"},"SpanPublicSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"SpanPublicSource"},"Span_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"project_id":{"type":"string","format":"uuid"},"trace_id":{"type":"string","format":"uuid"},"parent_span_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/SpanPublicType"},"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":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","additionalProperties":{"type":"integer"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Public"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore_Public"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment_Public"}},"total_estimated_cost":{"type":"number","format":"double","minimum":0},"total_estimated_cost_version":{"type":"string"},"duration":{"type":"number","format":"double","description":"Duration in milliseconds as a decimal number to support sub-millisecond precision"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"source":{"$ref":"#/components/schemas/SpanPublicSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"title":"Span_Public"},"SpanPage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Span_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"SpanPage_Public"},"Spans_createSpan_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Spans_createSpan_Response_201"},"DeleteFeedbackScore":{"type":"object","properties":{"name":{"type":"string","minLength":1},"author":{"type":"string"},"source_queue_id":{"type":"string","format":"uuid"}},"required":["name"],"title":"DeleteFeedbackScore"},"V1PrivateSpansFeedbackScoresNamesGetParametersType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"V1PrivateSpansFeedbackScoresNamesGetParametersType"},"V1PrivateSpansStatsGetParametersType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"V1PrivateSpansStatsGetParametersType"},"FeedbackScoreBatchItemSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScoreBatchItemSource"},"FeedbackScoreBatchItem":{"type":"object","properties":{"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"project_id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScoreBatchItemSource"},"author":{"type":"string"},"source_queue_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"}},"required":["name","value","source","id"],"title":"FeedbackScoreBatchItem"},"FeedbackScoreBatch":{"type":"object","properties":{"scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreBatchItem"}}},"required":["scores"],"title":"FeedbackScoreBatch"},"SpanSearchStreamRequestPublicType":{"type":"string","enum":["general","tool","llm","guardrail"],"title":"SpanSearchStreamRequestPublicType"},"SpanSearchStreamRequestPublicExcludeItems":{"type":"string","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"],"description":"Fields to exclude from the response","title":"SpanSearchStreamRequestPublicExcludeItems"},"SpanSearchStreamRequest_Public":{"type":"object","properties":{"trace_id":{"type":"string","format":"uuid"},"project_name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/SpanSearchStreamRequestPublicType"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter_Public"}},"limit":{"type":"integer","minimum":1,"maximum":2000,"default":500,"description":"Max number of spans to be streamed"},"last_retrieved_id":{"type":"string","format":"uuid"},"truncate":{"type":"boolean","default":true,"description":"Truncate image included in either input, output or metadata"},"exclude":{"type":"array","items":{"$ref":"#/components/schemas/SpanSearchStreamRequestPublicExcludeItems"},"description":"Fields to exclude from the response"},"from_time":{"type":"string","format":"date-time","description":"Filter spans created from this time (ISO-8601 format)."},"to_time":{"type":"string","format":"date-time","description":"Filter spans created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'."}},"title":"SpanSearchStreamRequest_Public"},"Spans_searchSpans_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Spans_searchSpans_Response_200"},"ExistenceResponse":{"type":"object","properties":{"exists":{"type":"boolean","description":"Whether the project has at least one matching entity for the given scope"}},"title":"ExistenceResponse"},"Traces_addThreadComment_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Traces_addThreadComment_Response_201"},"Traces_addTraceComment_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Traces_addTraceComment_Response_201"},"TraceWriteSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"TraceWriteSource"},"Trace_Write":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","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":{"type":"array","items":{"type":"string"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Write"},"last_updated_at":{"type":"string","format":"date-time"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"thread_id":{"type":"string"},"source":{"$ref":"#/components/schemas/TraceWriteSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"title":"Trace_Write"},"TraceBatch_Write":{"type":"object","properties":{"traces":{"type":"array","items":{"$ref":"#/components/schemas/Trace_Write"}}},"required":["traces"],"title":"TraceBatch_Write"},"TraceUpdateSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"TraceUpdateSource"},"TraceUpdate":{"type":"object","properties":{"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null and project_id not specified, Default Project is assumed"},"project_id":{"type":"string","format":"uuid","description":"If null and project_name not specified, Default Project is assumed"},"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":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags"},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to add"},"tags_to_remove":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100},"description":"Tags to remove"},"error_info":{"$ref":"#/components/schemas/ErrorInfo"},"thread_id":{"type":"string"},"ttft":{"type":"number","format":"double"},"source":{"$ref":"#/components/schemas/TraceUpdateSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"title":"TraceUpdate"},"TraceBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of trace IDs to update (max 1000)"},"update":{"$ref":"#/components/schemas/TraceUpdate"},"merge_tags":{"type":"boolean","description":"If true, merge tags with existing tags instead of replacing them. Default: false"}},"required":["ids","update"],"description":"Request to batch update multiple traces","title":"TraceBatchUpdate"},"TraceThreadUpdate":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100}},"tags_to_add":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100}},"tags_to_remove":{"type":"array","items":{"type":"string","minLength":0,"maxLength":100}}},"title":"TraceThreadUpdate"},"TraceThreadBatchUpdate":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of thread model IDs to update (max 1000)"},"update":{"$ref":"#/components/schemas/TraceThreadUpdate"},"merge_tags":{"type":"boolean","description":"If true, merge tags with existing tags instead of replacing them. Default: false"}},"required":["ids","update"],"description":"Request to batch update multiple trace threads","title":"TraceThreadBatchUpdate"},"TraceThreadBatchIdentifier":{"type":"object","properties":{"project_name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"thread_id":{"type":"string"},"thread_ids":{"type":"array","items":{"type":"string","minLength":1}}},"title":"TraceThreadBatchIdentifier"},"CheckPublicName":{"type":"string","enum":["TOPIC","PII","LLM_JUDGE","PROMPT_INJECTION","CUSTOM_CLASSIFIER"],"title":"CheckPublicName"},"CheckPublicResult":{"type":"string","enum":["passed","failed"],"title":"CheckPublicResult"},"Check_Public":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/CheckPublicName"},"result":{"$ref":"#/components/schemas/CheckPublicResult"}},"title":"Check_Public"},"GuardrailsValidation_Public":{"type":"object","properties":{"span_id":{"type":"string","format":"uuid"},"checks":{"type":"array","items":{"$ref":"#/components/schemas/Check_Public"}}},"title":"GuardrailsValidation_Public"},"TracePublicVisibilityMode":{"type":"string","enum":["default","hidden"],"title":"TracePublicVisibilityMode"},"ExperimentItemReference_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Experiment ID"},"name":{"type":"string","description":"Experiment name"},"dataset_id":{"type":"string","format":"uuid","description":"Dataset ID"},"dataset_item_id":{"type":"string","format":"uuid","description":"Dataset Item ID"}},"required":["id","name","dataset_id","dataset_item_id"],"description":"Experiment reference with ID, name, dataset ID, and dataset item ID","title":"ExperimentItemReference_Public"},"AnnotationQueueReference_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Annotation queue ID"},"name":{"type":"string","description":"Annotation queue name"}},"required":["id","name"],"description":"Annotation queue reference with ID and name","title":"AnnotationQueueReference_Public"},"TracePublicSource":{"type":"string","enum":["sdk","experiment","playground","optimization","evaluator"],"title":"TracePublicSource"},"Trace_Public":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"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":{"type":"array","items":{"type":"string"}},"error_info":{"$ref":"#/components/schemas/ErrorInfo_Public"},"usage":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"last_updated_by":{"type":"string"},"feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore_Public"}},"span_feedback_scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScore_Public"},"description":"Aggregated feedback scores from all spans in this trace, averaged by score name"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment_Public"}},"guardrails_validations":{"type":"array","items":{"$ref":"#/components/schemas/GuardrailsValidation_Public"}},"total_estimated_cost":{"type":"number","format":"double"},"span_count":{"type":"integer"},"duration":{"type":"number","format":"double","description":"Duration in milliseconds as a decimal number to support sub-millisecond precision"},"ttft":{"type":"number","format":"double","description":"Time to first token in milliseconds"},"thread_id":{"type":"string"},"visibility_mode":{"$ref":"#/components/schemas/TracePublicVisibilityMode"},"llm_span_count":{"type":"integer"},"has_tool_spans":{"type":"boolean"},"providers":{"type":"array","items":{"type":"string"},"description":"List of unique provider names from all spans in this trace, sorted alphabetically"},"experiment":{"$ref":"#/components/schemas/ExperimentItemReference_Public"},"annotation_queues":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueueReference_Public"},"description":"Annotation queues this trace is currently an item of"},"source":{"$ref":"#/components/schemas/TracePublicSource"},"environment":{"type":"string","minLength":0,"maxLength":150}},"required":["start_time"],"title":"Trace_Public"},"TracePage_Public":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Trace_Public"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"TracePage_Public"},"Traces_createTrace_Response_201":{"type":"object","properties":{},"description":"Empty response body","title":"Traces_createTrace_Response_201"},"DeleteThreadFeedbackScores":{"type":"object","properties":{"project_name":{"type":"string","minLength":1},"thread_id":{"type":"string","minLength":1},"names":{"type":"array","items":{"type":"string","minLength":1}},"author":{"type":"string"},"source_queue_id":{"type":"string","format":"uuid"}},"required":["project_name","thread_id","names"],"title":"DeleteThreadFeedbackScores"},"DeleteTraceThreads":{"type":"object","properties":{"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, project_id must be provided"},"project_id":{"type":"string","format":"uuid","description":"If null, project_name must be provided"},"thread_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["thread_ids"],"title":"DeleteTraceThreads"},"BatchDeleteByProject":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Ids of the traces to delete"},"project_id":{"type":"string","format":"uuid","description":"Optional. Scopes the deletion to this project. When omitted, each trace's owning project is resolved automatically and the trace is deleted under its full key, so a trace can be deleted without knowing its project."}},"required":["ids"],"title":"BatchDeleteByProject"},"TraceThreadIdentifier":{"type":"object","properties":{"project_name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"thread_id":{"type":"string","minLength":1},"truncate":{"type":"boolean"}},"required":["thread_id"],"title":"TraceThreadIdentifier"},"TraceThreadStatus":{"type":"string","enum":["active","inactive"],"title":"TraceThreadStatus"},"AnnotationQueueReference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Annotation queue ID"},"name":{"type":"string","description":"Annotation queue name"}},"required":["id","name"],"description":"Annotation queue reference with ID and name","title":"AnnotationQueueReference"},"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":{"$ref":"#/components/schemas/TraceThreadStatus"},"number_of_messages":{"type":"integer","format":"int64"},"total_estimated_cost":{"type":"number","format":"double"},"usage":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}},"tags":{"type":"array","items":{"type":"string"}},"annotation_queues":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationQueueReference"},"description":"Annotation queues this thread is currently an item of"},"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"}},"title":"TraceThread"},"TraceThreadPage":{"type":"object","properties":{"page":{"type":"integer"},"size":{"type":"integer"},"total":{"type":"integer","format":"int64"},"content":{"type":"array","items":{"$ref":"#/components/schemas/TraceThread"}},"sortableBy":{"type":"array","items":{"type":"string"}}},"title":"TraceThreadPage"},"FeedbackScoreBatchItemThreadSource":{"type":"string","enum":["ui","sdk","online_scoring"],"title":"FeedbackScoreBatchItemThreadSource"},"FeedbackScoreBatchItemThread":{"type":"object","properties":{"project_name":{"type":"string","pattern":"(?s)^\\s*(\\S.*\\S|\\S)\\s*$","description":"If null, the default project is used"},"project_id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1},"category_name":{"type":"string"},"value":{"type":"number","format":"double","minimum":-1000000000,"maximum":1000000000},"reason":{"type":"string"},"source":{"$ref":"#/components/schemas/FeedbackScoreBatchItemThreadSource"},"author":{"type":"string"},"source_queue_id":{"type":"string","format":"uuid"},"thread_id":{"type":"string","minLength":1}},"required":["name","value","source","thread_id"],"title":"FeedbackScoreBatchItemThread"},"FeedbackScoreBatchThread":{"type":"object","properties":{"scores":{"type":"array","items":{"$ref":"#/components/schemas/FeedbackScoreBatchItemThread"}}},"required":["scores"],"title":"FeedbackScoreBatchThread"},"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":{"type":"integer","minimum":1,"maximum":2000,"default":500,"description":"Max number of trace thread to be streamed"},"truncate":{"type":"boolean","default":true,"description":"Truncate input, output and metadata to slim payloads"},"strip_attachments":{"type":"boolean","default":false,"description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects stripped attachments"},"from_time":{"type":"string","format":"date-time","description":"Filter trace threads created from this time (ISO-8601 format)."},"to_time":{"type":"string","format":"date-time","description":"Filter trace threads created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'."}},"title":"TraceThreadSearchStreamRequest"},"Traces_searchTraceThreads_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Traces_searchTraceThreads_Response_200"},"TraceSearchStreamRequestPublicExcludeItems":{"type":"string","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","annotation_queues","source","environment"],"description":"Fields to exclude from the response","title":"TraceSearchStreamRequestPublicExcludeItems"},"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":{"type":"integer","minimum":1,"maximum":2000,"default":500,"description":"Max number of traces to be streamed"},"truncate":{"type":"boolean","default":true,"description":"Truncate input, output and metadata to slim payloads"},"strip_attachments":{"type":"boolean","default":false,"description":"If true, returns attachment references like [file.png]; if false, downloads and reinjects stripped attachments"},"exclude":{"type":"array","items":{"$ref":"#/components/schemas/TraceSearchStreamRequestPublicExcludeItems"},"description":"Fields to exclude from the response"},"from_time":{"type":"string","format":"date-time","description":"Filter traces created from this time (ISO-8601 format)."},"to_time":{"type":"string","format":"date-time","description":"Filter traces created up to this time (ISO-8601 format). If not provided, defaults to current time. Must be after 'from_time'."}},"title":"TraceSearchStreamRequest_Public"},"Traces_searchTraces_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Traces_searchTraces_Response_200"},"WelcomeWizardTracking":{"type":"object","properties":{"completed":{"type":"boolean","description":"Whether the welcome wizard has been completed"}},"title":"WelcomeWizardTracking"},"WelcomeWizardSubmission":{"type":"object","properties":{"role":{"type":"string","minLength":0,"maxLength":100,"description":"Optional user role"},"integrations":{"type":"array","items":{"type":"string"},"description":"List of integrations the user selected"},"email":{"type":"string","format":"email","minLength":0,"maxLength":255,"description":"Optional user email"},"join_beta_program":{"type":"boolean","description":"Whether user wants to join beta programs"}},"title":"WelcomeWizardSubmission"},"Permission":{"type":"object","properties":{"permissionName":{"type":"string"},"permissionValue":{"type":"string"}},"title":"Permission"},"WorkspaceUserPermissions":{"type":"object","properties":{"userName":{"type":"string"},"workspaceName":{"type":"string"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}},"title":"WorkspaceUserPermissions"},"WorkspaceMetricsSummaryRequest":{"type":"object","properties":{"project_ids":{"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"}},"required":["interval_start","interval_end"],"title":"WorkspaceMetricsSummaryRequest"},"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)."},"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."}},"title":"WorkspaceConfiguration"},"WorkspaceMetricResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Result"}}},"title":"WorkspaceMetricResponse"},"WorkspaceSpanMetricRequestMetricType":{"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"],"title":"WorkspaceSpanMetricRequestMetricType"},"WorkspaceSpanMetricRequestInterval":{"type":"string","enum":["HOURLY","DAILY","WEEKLY","TOTAL"],"title":"WorkspaceSpanMetricRequestInterval"},"BreakdownConfigField":{"type":"string","enum":["none","tags","metadata","name","error_info","error_type","model","provider","type","guardrail_name"],"title":"BreakdownConfigField"},"BreakdownConfig":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/BreakdownConfigField"},"metadata_key":{"type":"string"},"sub_metric":{"type":"string"}},"title":"BreakdownConfig"},"WorkspaceSpanMetricRequest":{"type":"object","properties":{"project_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"metric_type":{"$ref":"#/components/schemas/WorkspaceSpanMetricRequestMetricType"},"interval":{"$ref":"#/components/schemas/WorkspaceSpanMetricRequestInterval"},"breakdown":{"$ref":"#/components/schemas/BreakdownConfig"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SpanFilter"}},"interval_start":{"type":"string","format":"date-time"},"interval_end":{"type":"string","format":"date-time"},"start_before_end":{"type":"boolean"}},"required":["interval_start"],"title":"WorkspaceSpanMetricRequest"},"WorkspaceTokenUsageNamesRequest":{"type":"object","properties":{"project_ids":{"type":"array","items":{"type":"string","format":"uuid"}}},"title":"WorkspaceTokenUsageNamesRequest"},"WorkspaceMetricsSummaryResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Result"}}},"title":"WorkspaceMetricsSummaryResponse"}}}}