diff --git a/specification/DigitalOcean-public.v2.yaml b/specification/DigitalOcean-public.v2.yaml index 918661ca0..b03ff0e49 100644 --- a/specification/DigitalOcean-public.v2.yaml +++ b/specification/DigitalOcean-public.v2.yaml @@ -2465,6 +2465,7 @@ paths: delete: $ref: "resources/uptime/delete_alert.yml" + /v2/gen-ai/agents: get: $ref: 'resources/gen-ai/genai_list_agents.yml' @@ -2506,14 +2507,17 @@ paths: delete: $ref: 'resources/gen-ai/genai_detach_agent_function.yml' + /v2/gen-ai/agents/{agent_uuid}/guardrails: post: $ref: 'resources/gen-ai/genai_attach_agent_guardrails.yml' + /v2/gen-ai/agents/{agent_uuid}/guardrails/{guardrail_uuid}: delete: $ref: 'resources/gen-ai/genai_detach_agent_guardrail.yml' + /v2/gen-ai/agents/{agent_uuid}/knowledge_bases: post: $ref: 'resources/gen-ai/genai_attach_knowledge_bases.yml' @@ -2595,8 +2599,30 @@ paths: get: $ref: 'resources/gen-ai/genai_list_agents_by_anthropic_key.yml' + /v2/gen-ai/custom_models: + get: + $ref: 'resources/gen-ai/genai_list_custom_models.yml' + + + /v2/gen-ai/custom_models/import: + post: + $ref: 'resources/gen-ai/genai_import_custom_model.yml' + + + /v2/gen-ai/custom_models/{uuid}: + delete: + $ref: 'resources/gen-ai/genai_delete_custom_model.yml' + + + /v2/gen-ai/custom_models/{uuid}/metadata: + patch: + $ref: 'resources/gen-ai/genai_update_custom_model_metadata.yml' + + + /v2/gen-ai/evaluation_datasets: + post: $ref: 'resources/gen-ai/genai_create_evaluation_dataset.yml' @@ -2606,6 +2632,13 @@ paths: $ref: 'resources/gen-ai/genai_create_evaluation_dataset_file_upload_presigned_urls.yml' + /v2/gen-ai/evaluation_datasets/{dataset_uuid}/download_url: + get: + $ref: 'resources/gen-ai/genai_get_evaluation_dataset_download_url.yml' + + + + /v2/gen-ai/evaluation_metrics: get: $ref: 'resources/gen-ai/genai_list_evaluation_metrics.yml' @@ -2725,6 +2758,36 @@ paths: $ref: 'resources/gen-ai/genai_delete_knowledge_base.yml' + /v2/gen-ai/model_evaluation/datasets/file_upload_presigned_urls: + post: + $ref: 'resources/gen-ai/genai_create_model_eval_dataset_upload_presigned_urls.yml' + + + /v2/gen-ai/model_evaluation_metrics: + get: + $ref: 'resources/gen-ai/genai_list_model_evaluation_metrics.yml' + + + + + /v2/gen-ai/model_evaluation_runs: + get: + $ref: 'resources/gen-ai/genai_list_model_evaluation_runs.yml' + + post: + $ref: 'resources/gen-ai/genai_create_model_evaluation_run.yml' + + + /v2/gen-ai/model_evaluation_runs/{eval_run_uuid}: + get: + $ref: 'resources/gen-ai/genai_get_model_evaluation_run.yml' + + + /v2/gen-ai/model_evaluation_runs/{eval_run_uuid}/results/download_url: + get: + $ref: 'resources/gen-ai/genai_get_model_evaluation_run_results_download_url.yml' + + /v2/gen-ai/models: get: $ref: 'resources/gen-ai/genai_list_models.yml' @@ -2754,7 +2817,6 @@ paths: post: $ref: 'resources/gen-ai/genai_create_oauth2_dropbox_tokens.yml' - /v2/gen-ai/oauth2/url: get: $ref: 'resources/gen-ai/genai_get_oauth2_url.yml' @@ -2804,7 +2866,6 @@ paths: $ref: 'resources/gen-ai/genai_delete_scheduled_indexing.yml' - /v2/gen-ai/workspaces: get: $ref: 'resources/gen-ai/genai_list_workspaces.yml' diff --git a/specification/resources/gen-ai/definitions.yml b/specification/resources/gen-ai/definitions.yml index c7cee19af..af6a4f058 100644 --- a/specification/resources/gen-ai/definitions.yml +++ b/specification/resources/gen-ai/definitions.yml @@ -1,3 +1,114 @@ +CustomModelActiveDeployment: + description: An active dedicated inference deployment using this custom model. + properties: + created_at: + description: RFC 3339 timestamp indicating when the dedicated inference deployment + was created + example: example string + type: string + endpoints: + $ref: '#/CustomModelActiveDeploymentEndpoints' + id: + description: Unique identifier (UUID) of the dedicated inference deployment + example: example string + type: string + name: + description: Human-readable name of the dedicated inference deployment + example: example name + type: string + region_slug: + description: Slug of the region where the dedicated inference deployment is + running (e.g. "atl1") + example: example string + type: string + state: + description: Current lifecycle state of the dedicated inference deployment (e.g. + "ACTIVE", "PROVISIONING") + example: example string + type: string + updated_at: + description: RFC 3339 timestamp indicating when the dedicated inference deployment + was last updated + example: "2023-01-01" + type: string + type: object +CustomModelActiveDeploymentEndpoints: + description: Endpoint URLs for a dedicated inference deployment associated with + a custom model. + properties: + private_endpoint_fqdn: + description: Private FQDN for the deployment + example: example string + type: string + public_endpoint_fqdn: + description: Public FQDN for the deployment + example: example string + type: string + type: object +CustomModelSourceRef: + description: Reference to the original source of the model + properties: + access_type: + $ref: '#/SourceRefAccessType' + bucket: + description: Spaces bucket name + example: example string + type: string + commit_sha: + description: Git commit SHA of the model version + example: example string + type: string + hf_token: + description: User-provided HuggingFace token for gated/private models (not persisted + in source_ref) + example: example string + type: string + prefix: + description: Object prefix path in the bucket + example: example string + type: string + region: + description: Spaces bucket region + example: example string + type: string + repo_id: + description: Huggingface repository identifier + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +CustomModelSourceType: + default: SOURCE_TYPE_UNSPECIFIED + description: Source from which the model was imported + enum: + - SOURCE_TYPE_UNSPECIFIED + - SOURCE_TYPE_HUGGINGFACE + - SOURCE_TYPE_SPACES_BUCKET + - SOURCE_TYPE_SDK_UPLOAD + - SOURCE_TYPE_FINE_TUNING + example: SOURCE_TYPE_UNSPECIFIED + type: string +CustomModelTags: + description: User-defined tags for organizing models + properties: + tags: + description: List of tag strings + example: + - example string + items: + example: example string + type: string + type: array + type: object +SourceRefAccessType: + default: ACCESS_TYPE_UNSPECIFIED + description: Access level required for the model repository + enum: + - ACCESS_TYPE_UNSPECIFIED + - ACCESS_TYPE_PUBLIC + - ACCESS_TYPE_PRIVATE + - ACCESS_TYPE_GATED + example: ACCESS_TYPE_UNSPECIFIED + type: string apiAWSDataSource: description: AWS S3 Data Source properties: @@ -117,10 +228,17 @@ apiAgent: example: 123 format: int64 type: integer + mcp_servers: + description: MCP (Model Context Protocol) servers attached to this agent + items: + $ref: '#/apiMcpServer' + type: array model: $ref: '#/apiModel' model_provider_key: $ref: '#/apiModelProviderKeyInfo' + model_router: + $ref: '#/apiModelRouter' name: description: Agent name example: example name @@ -139,6 +257,10 @@ apiAgent: description: Whether the agent should provide in-response citations example: true type: boolean + reasoning_effort: + description: The reasoning effort for the agent + example: example string + type: string region: description: Region code example: example string @@ -175,6 +297,12 @@ apiAgent: type: number template: $ref: '#/apiAgentTemplate' + thinking_token_budget: + description: The thinking token budget for Anthropic extended thinking (0 = + disabled) + example: 123 + format: int64 + type: integer top_p: example: 123 format: float @@ -284,26 +412,6 @@ apiAgentChildRelationshipVerion: example: example name type: string type: object -apiAgentConversationLogConfig: - description: Response for getting or creating an agent conversation log location - properties: - agent_uuid: - description: Agent UUID - example: 123e4567-e89b-12d3-a456-426614174000 - type: string - created_at: - description: Creation date / time - example: "2023-01-01T00:00:00Z" - format: date-time - type: string - spaces_data_source: - $ref: '#/apiSpacesDataSource' - updated_at: - description: Last modified - example: "2023-01-01T00:00:00Z" - format: date-time - type: string - type: object apiAgentDeploymentCodeArtifact: description: File to upload properties: @@ -343,6 +451,10 @@ apiAgentDeploymentRelease: an error example: example string type: string + library_version: + description: The library version of the gradient package used in the release + example: example string + type: string status: $ref: '#/apiReleaseStatus' updated_at: @@ -644,8 +756,15 @@ apiAgentPublic: example: 100 format: int64 type: integer + mcp_servers: + description: MCP (Model Context Protocol) servers attached to this agent + items: + $ref: '#/apiMcpServer' + type: array model: $ref: '#/apiModel' + model_router: + $ref: '#/apiModelRouter' name: description: Agent name example: My Agent @@ -658,6 +777,10 @@ apiAgentPublic: description: Whether the agent should provide in-response citations example: true type: boolean + reasoning_effort: + description: The reasoning effort for the agent + example: '"low"' + type: string region: description: Region code example: '"tor1"' @@ -699,6 +822,12 @@ apiAgentPublic: type: number template: $ref: '#/apiAgentTemplate' + thinking_token_budget: + description: The thinking token budget for Anthropic extended thinking (0 = + disabled) + example: 1000 + format: int64 + type: integer top_p: description: Defines the cumulative probability threshold for word selection, specified as a number between 0 and 1. Higher values allow for more diverse @@ -729,6 +858,26 @@ apiAgentPublic: example: example string type: string type: object +apiAgentSpan: + properties: + agent_type: + $ref: '#/apiAgentType' + common: + $ref: '#/apiSpanCommon' + redacted_input: + example: example string + type: string + redacted_output: + example: example string + type: string + spans: + description: |- + Child spans - must contain between 1 and 999 spans + Allowed types: llm, tool, retriever + items: + $ref: '#/apiTraceSpan' + type: array + type: object apiAgentTemplate: description: Represents an AgentTemplate entity properties: @@ -843,6 +992,21 @@ apiAgentTemplateType: - AGENT_TEMPLATE_TYPE_ONE_CLICK example: AGENT_TEMPLATE_TYPE_STANDARD type: string +apiAgentType: + default: AGENT_TYPE_UNSPECIFIED + description: Agent span + enum: + - AGENT_TYPE_UNSPECIFIED + - AGENT_TYPE_DEFAULT + - AGENT_TYPE_PLANNER + - AGENT_TYPE_REACT + - AGENT_TYPE_REFLECTION + - AGENT_TYPE_ROUTER + - AGENT_TYPE_CLASSIFIER + - AGENT_TYPE_SUPERVISOR + - AGENT_TYPE_JUDGE + example: AGENT_TYPE_UNSPECIFIED + type: string apiAgentVersion: description: Represents an AgentVersion entity properties: @@ -1015,6 +1179,10 @@ apiAgentWorkspaceDeployment: example: "12345" format: uint64 type: string + description: + description: Description of the agent deployment + example: example string + type: string latest_release: $ref: '#/apiAgentDeploymentRelease' logging_config: @@ -1023,16 +1191,40 @@ apiAgentWorkspaceDeployment: description: Agent name example: example name type: string + region: + $ref: '#/apiAgentWorkspaceDeploymentRegion' updated_at: description: Last modified example: "2023-01-01T00:00:00Z" format: date-time type: string + url: + description: The url of the agent deployment + example: example string + type: string uuid: description: Unique agent id example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object +apiAgentWorkspaceDeploymentRegion: + default: AGENT_WORKSPACE_DEPLOYMENT_REGION_UNKNOWN + description: Regions where an Agent Workspace Deployment can be created + enum: + - AGENT_WORKSPACE_DEPLOYMENT_REGION_UNKNOWN + - AGENT_WORKSPACE_DEPLOYMENT_REGION_NYC3 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_AMS3 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_SFO3 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_SGP1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_LON1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_FRA1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_TOR1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_BLR1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_SYD1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_ATL1 + - AGENT_WORKSPACE_DEPLOYMENT_REGION_RIC1 + example: AGENT_WORKSPACE_DEPLOYMENT_REGION_UNKNOWN + type: string apiAgreement: description: Agreement Description properties: @@ -1108,127 +1300,495 @@ apiAuditHeader: example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object -apiBatchJobPhase: - default: BATCH_JOB_PHASE_UNKNOWN - enum: - - BATCH_JOB_PHASE_UNKNOWN - - BATCH_JOB_PHASE_PENDING - - BATCH_JOB_PHASE_RUNNING - - BATCH_JOB_PHASE_SUCCEEDED - - BATCH_JOB_PHASE_FAILED - - BATCH_JOB_PHASE_ERROR - - BATCH_JOB_PHASE_CANCELLED - example: BATCH_JOB_PHASE_UNKNOWN - type: string -apiBillingAttribute: +apiAvailableModel: + description: |- + One inferable model row across serverless, dedicated, third-party, or model-router deployment. + All multi-word field names carry explicit json_name so gRPC-Gateway emits snake_case JSON. properties: + dedicated: + type: object + deployment_kind: + $ref: '#/apiInferenceDeploymentKind' + metadata: + $ref: '#/apiAvailableModelMetadata' + model_id: + description: 'Catalog: foundation model id from DB (internal_name). Dedicated: + deployment_spec.model_deployments[0].model_slug.' + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + model_router: + description: 'Model router details: uuid, name, description, regions, config + (policies, fallback_models).' + type: object name: example: example name type: string - value: + pricing: + description: |- + Pricing for this listing row (same logical shape for serverless, third-party, and dedicated when set). + Serverless and third-party: populated from catalog pricing. Dedicated: reserved for future use. + type: object + request_schema_json: + description: JSON Schema for the HTTP request body, e.g. OpenAI chat/completions. example: example string type: string - type: object -apiBillingPrice: - properties: - rate: + response_schema_json: + description: JSON Schema for the successful JSON response body. example: example string type: string - region: - example: example string + serverless: + type: object + third_party: + type: object + uuid: + description: Stable id for this listing row (not necessarily the foundation + Model.uuid). + example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object -apiCancelKnowledgeBaseIndexingJobInputPublic: - description: CancelKnowledgeBaseIndexingJobInputPublic description +apiAvailableModelFilters: + description: AvailableModelFilters groups the optional query filters for listing + available models. properties: - uuid: - description: A unique identifier for an indexing job. - example: '"12345678-1234-1234-1234-123456789012"' - type: string + deployment_kinds: + description: If empty, all deployment kinds are returned. + items: + $ref: '#/apiInferenceDeploymentKind' + type: array + use_cases: + description: |- + If empty, no use-case filtering is applied. When set, only catalog models + (serverless and third-party) whose use_cases column contains at least one + of the requested values are returned. Dedicated inference models are never + filtered by use_cases. + items: + $ref: '#/apiModelUsecase' + type: array type: object -apiCancelKnowledgeBaseIndexingJobOutput: - description: CancelKnowledgeBaseIndexingJobOutput description +apiAvailableModelMetadata: + description: |- + Typed metadata for an AvailableModel: capabilities and tuning bounds. + JSON uses explicit json_name so HTTP/gRPC-Gateway responses use snake_case (default proto JSON would camelCase multi-word fields). properties: - job: - $ref: '#/apiIndexingJob' + context_window: + description: Maximum context window in tokens. + example: 123 + format: double + type: number + is_stop_sequence_supported: + description: Whether the inference request schema supports stop sequences. + example: true + type: boolean + lifecycle_status: + description: Lifecycle status (e.g. "active", "deprecated", "preview"). + example: example string + type: string + max_tokens: + $ref: '#/apiNumericRange' + parameter_count: + description: Number of model parameters (e.g. 7e9 for 7B). + example: 123 + format: double + type: number + supports_temperature: + description: Whether the inference request schema includes a temperature field. + example: true + type: boolean + temperature: + $ref: '#/apiNumericRange' + thinking: + description: Whether the model supports extended thinking / chain-of-thought. + example: true + type: boolean + top_p: + $ref: '#/apiNumericRange' + type: + description: Model type (e.g. "chat", "embedding", "image", "audio", "reasoning", + "coding"). + example: example string + type: string type: object -apiChatbot: - description: A Chatbot +apiBatchInferenceInlineInput: properties: - allowed_domains: - example: - - example string + requests: + description: The list of inline inference requests (Anthropic flow) items: - example: example string - type: string + $ref: '#/apiBatchInferenceRequest' type: array - button_background_color: + type: object +apiBatchInferenceJob: + description: Core domain model for a batch inference job + properties: + batch_id: + description: Unique identifier for the batch job (UUID string) + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + cancel_requested_at: + description: When cancellation was requested; unset until a cancel is requested. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + completion_window: + description: The completion window (e.g. "24h") example: example string type: string - logo: + created_at: + description: Timestamp when the batch job was created + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + error_message: + description: Error message if the batch job failed example: example string type: string - name: - description: Name of chatbot - example: example name + expires_at: + description: Timestamp when the batch job expires + example: "2023-01-01T00:00:00Z" + format: date-time type: string - primary_color: + file_id: + description: The file ID referencing the uploaded input dataset (OpenAI flow) + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + model: + description: The model used for inference example: example string type: string - secondary_color: + provider: + description: 'Inference provider: openai, anthropic, unknown' example: example string type: string - starting_message: + request_counts: + $ref: '#/apiBatchInferenceRequestCounts' + request_id: + description: Client-supplied idempotency key + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + result_available: + description: |- + On GET .../batches/{id} (status), true when the job reached a terminal state + (completed, failed, expired, cancelled). Use GET .../batches/{id}/results for download when ready. + example: true + type: boolean + status: + description: 'Current status of the batch job (snake_case: awaiting_processing, + queued, in_progress, ...)' example: example string type: string + updated_at: + description: Timestamp when the batch job was last updated + example: "2023-01-01T00:00:00Z" + format: date-time + type: string type: object -apiChunkingAlgorithm: - default: CHUNKING_ALGORITHM_SECTION_BASED - description: |- - The chunking algorithm to use for processing data sources. - - **Note: This feature requires enabling the knowledgebase enhancements feature preview flag.** - enum: - - CHUNKING_ALGORITHM_UNKNOWN - - CHUNKING_ALGORITHM_SECTION_BASED - - CHUNKING_ALGORITHM_HIERARCHICAL - - CHUNKING_ALGORITHM_SEMANTIC - - CHUNKING_ALGORITHM_FIXED_LENGTH - example: CHUNKING_ALGORITHM_SECTION_BASED - type: string -apiChunkingOptions: - description: |- - Configuration options for the chunking algorithm. - - **Note: This feature requires enabling the knowledgebase enhancements feature preview flag.** +apiBatchInferenceJobEdge: + description: A single edge in the batch inference job connection (Relay-style). properties: - child_chunk_size: - description: Hierarchical options - example: 350 - format: int64 - type: integer - max_chunk_size: - description: Section_Based and Fixed_Length options - example: 750 - format: int64 - type: integer - parent_chunk_size: - description: Hierarchical options - example: 1000 - format: int64 - type: integer - semantic_threshold: - description: Semantic options - example: 0.5 - format: float - type: number + cursor: + description: Opaque cursor for this edge; pass as "after" to paginate from this + position + example: example string + type: string + node: + $ref: '#/apiCreateBatchInferenceJobOutput' type: object -apiCrawlingOption: - default: UNKNOWN - description: |- - Options for specifying how URLs found on pages should be handled. - - - UNKNOWN: Default unknown value +apiBatchInferenceJobPoll: + description: 'Returned from GET .../batches/{id}: current status and metadata (no + model; consistent with list/create summary).' + properties: + batch_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + cancel_requested_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + completion_window: + example: example string + type: string + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + error_message: + example: example string + type: string + expires_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + file_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + provider: + example: example string + type: string + request_counts: + $ref: '#/apiBatchInferenceRequestCounts' + request_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + result_available: + example: true + type: boolean + status: + example: example string + type: string + updated_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object +apiBatchInferenceMessage: + properties: + content: + description: The content of the message + example: example string + type: string + role: + description: The role of the message sender (e.g. "user", "assistant") + example: example string + type: string + type: object +apiBatchInferencePageInfo: + description: Forward-only page info for batch inference job listing. + properties: + end_cursor: + description: Cursor of the last edge in the current page; pass as "after" for + the next page + example: example string + type: string + has_next_page: + description: True when more results are available after end_cursor + example: true + type: boolean + type: object +apiBatchInferenceRequest: + properties: + custom_id: + description: A unique identifier for this request within the batch + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + params: + $ref: '#/apiBatchInferenceRequestParams' + type: object +apiBatchInferenceRequestCounts: + description: 'Per-request counts (OpenAI batch API shape: nested request_counts + object).' + properties: + completed: + example: "12345" + format: uint64 + type: string + failed: + example: "12345" + format: uint64 + type: string + total: + example: "12345" + format: uint64 + type: string + type: object +apiBatchInferenceRequestParams: + properties: + max_tokens: + description: Maximum number of tokens to generate + example: "12345" + format: int64 + type: string + messages: + description: The messages for the chat completion request + items: + $ref: '#/apiBatchInferenceMessage' + type: array + temperature: + description: Sampling temperature + example: 123 + format: double + type: number + type: object +apiBatchInferenceWebhook: + properties: + secret: + description: A secret used to sign webhook payloads + example: example string + type: string + url: + description: The URL to send webhook notifications to + example: example string + type: string + type: object +apiBatchJobPhase: + default: BATCH_JOB_PHASE_UNKNOWN + enum: + - BATCH_JOB_PHASE_UNKNOWN + - BATCH_JOB_PHASE_PENDING + - BATCH_JOB_PHASE_RUNNING + - BATCH_JOB_PHASE_SUCCEEDED + - BATCH_JOB_PHASE_FAILED + - BATCH_JOB_PHASE_ERROR + - BATCH_JOB_PHASE_CANCELLED + example: BATCH_JOB_PHASE_UNKNOWN + type: string +apiBillingAttribute: + properties: + name: + example: example name + type: string + value: + example: example string + type: string + type: object +apiBillingPrice: + properties: + rate: + example: example string + type: string + region: + example: example string + type: string + type: object +apiCancelKnowledgeBaseIndexingJobInputPublic: + description: CancelKnowledgeBaseIndexingJobInputPublic description + properties: + uuid: + description: A unique identifier for an indexing job. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiCancelKnowledgeBaseIndexingJobOutput: + description: CancelKnowledgeBaseIndexingJobOutput description + properties: + job: + $ref: '#/apiIndexingJob' + type: object +apiCandidateInferenceConfig: + description: Inference configuration for the candidate model during evaluation. + properties: + max_tokens: + example: 123 + format: int64 + type: integer + stop_token: + example: example string + type: string + system_prompt: + example: example string + type: string + temperature: + example: 123 + format: float + type: number + type: object +apiCandidateModelSource: + default: CANDIDATE_MODEL_SOURCE_SERVERLESS + description: Whether inference runs against the serverless platform, a dedicated + deployment, or a model router. + enum: + - CANDIDATE_MODEL_SOURCE_SERVERLESS + - CANDIDATE_MODEL_SOURCE_DEDICATED + - CANDIDATE_MODEL_SOURCE_ROUTER + example: CANDIDATE_MODEL_SOURCE_SERVERLESS + type: string +apiCatalogType: + default: CATALOG_TYPE_UNSPECIFIED + description: Type of catalog + enum: + - CATALOG_TYPE_UNSPECIFIED + - CUSTOM + example: CATALOG_TYPE_UNSPECIFIED + type: string +apiChatbot: + description: A Chatbot + properties: + allowed_domains: + example: + - example string + items: + example: example string + type: string + type: array + button_background_color: + example: example string + type: string + logo: + example: example string + type: string + name: + description: Name of chatbot + example: example name + type: string + primary_color: + example: example string + type: string + secondary_color: + example: example string + type: string + starting_message: + example: example string + type: string + type: object +apiChunkingAlgorithm: + default: CHUNKING_ALGORITHM_UNKNOWN + enum: + - CHUNKING_ALGORITHM_UNKNOWN + - CHUNKING_ALGORITHM_SECTION_BASED + - CHUNKING_ALGORITHM_HIERARCHICAL + - CHUNKING_ALGORITHM_SEMANTIC + - CHUNKING_ALGORITHM_FIXED_LENGTH + example: CHUNKING_ALGORITHM_UNKNOWN + type: string +apiChunkingOptions: + properties: + child_chunk_size: + example: 350 + format: int64 + type: integer + max_chunk_size: + description: Common options + example: 750 + format: int64 + type: integer + parent_chunk_size: + description: Hierarchical options + example: 1000 + format: int64 + type: integer + semantic_threshold: + description: Semantic options + example: 0.5 + format: float + type: number + type: object +apiCodeSnippets: + description: Code examples for using the model + properties: + curl: + example: example string + type: string + javascript: + example: example string + type: string + python: + example: example string + type: string + sdk: + example: example string + type: string + type: object +apiConfirmPlaygroundPaygOutput: + description: ConfirmPlaygroundPaygOutput returns the confirmed state + properties: + payg_confirmed: + example: true + type: boolean + type: object +apiCrawlingOption: + default: UNKNOWN + description: |- + Options for specifying how URLs found on pages should be handled. + + - UNKNOWN: Default unknown value - SCOPED: Only include the base URL. - PATH: Crawl the base URL and linked pages within the URL path. - DOMAIN: Crawl the base URL and linked pages within the same domain. @@ -1287,6 +1847,10 @@ apiCreateAgentDeploymentReleaseInputPublic: description: The name of agent workspace example: example name type: string + library_version: + description: The library version of the gradient package used in the release + example: example string + type: string type: object apiCreateAgentDeploymentReleaseOutput: description: One Agent Deployment Release @@ -1294,25 +1858,6 @@ apiCreateAgentDeploymentReleaseOutput: agent_deployment_release: $ref: '#/apiAgentDeploymentRelease' type: object -apiCreateAgentFromTemplateInput: - properties: - conversation_logs_enabled: - example: "false" -apiCreateAgentFromTemplateInputPublic: - properties: - project_id: - example: '"12345678-1234-1234-1234-123456789012"' - region: - example: '"tor1"' - template_uuid: - example: '"12345678-1234-1234-1234-123456789012"' - workspace_uuid: - example: '"12345678-1234-1234-1234-123456789012"' -apiCreateAgentFromTemplateOutput: - properties: - agent: - $ref: '#/apiAgent' - type: object apiCreateAgentInput: properties: conversation_logs_enabled: @@ -1344,9 +1889,17 @@ apiCreateAgentInputPublic: example: example string type: string type: array + mcp_servers: + description: MCP (Model Context Protocol) servers to attach to the agent + items: + $ref: '#/apiMcpServer' + type: array model_provider_key_uuid: example: '"12345678-1234-1234-1234-123456789012"' type: string + model_router_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + type: string model_uuid: description: Identifier for the foundation model. example: '"12345678-1234-1234-1234-123456789012"' @@ -1363,10 +1916,16 @@ apiCreateAgentInputPublic: description: The id of the DigitalOcean project this agent will belong to example: '"12345678-1234-1234-1234-123456789012"' type: string + reasoning_effort: + example: '"low"' + type: string region: description: The DigitalOcean region to deploy your agent in example: '"tor1"' type: string + router_preset_slug: + example: '"general"' + type: string tags: description: Agent tag to organize related resources example: @@ -1375,6 +1934,10 @@ apiCreateAgentInputPublic: example: example string type: string type: array + thinking_token_budget: + example: 123 + format: int64 + type: integer workspace_uuid: description: Identifier for the workspace example: 123e4567-e89b-12d3-a456-426614174000 @@ -1398,6 +1961,16 @@ apiCreateAgentWorkspaceDeploymentInputPublic: description: The name of agent workspace example: example name type: string + description: + description: The description of the agent deployment + example: example string + type: string + library_version: + description: The library version of the gradient package used in the release + example: example string + type: string + region: + $ref: '#/apiAgentWorkspaceDeploymentRegion' type: object apiCreateAgentWorkspaceDeploymentOutput: description: One Agent Workspace Deployment @@ -1417,10 +1990,20 @@ apiCreateAgentWorkspaceInputPublic: description: The name of agent workspace example: example name type: string + description: + description: The description of the agent deployment + example: example string + type: string + library_version: + description: The library version of the gradient package used in the release + example: example string + type: string project_id: description: The project id example: 123e4567-e89b-12d3-a456-426614174000 type: string + region: + $ref: '#/apiAgentWorkspaceDeploymentRegion' type: object apiCreateAgentWorkspaceOutput: properties: @@ -1447,6 +2030,109 @@ apiCreateAnthropicAPIKeyOutput: api_key_info: $ref: '#/apiAnthropicAPIKeyInfo' type: object +apiCreateBatchInferenceFileUploadPresignedURLInputPublic: + description: Public request to create a presigned URL for batch file upload + properties: + file_name: + description: Local filename for the batch JSONL file (must end in .jsonl) + example: example name + type: string + type: object +apiCreateBatchInferenceFileUploadPresignedURLOutput: + description: Response with a presigned URL for batch file upload + properties: + expires_at: + description: When the presigned URL expires + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + file_id: + description: The generated file identifier (UUID string) + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + upload_url: + description: Presigned PUT URL for uploading the .jsonl file to Spaces + example: example string + type: string + type: object +apiCreateBatchInferenceJobInputPublic: + description: Public request to create a batch inference job + properties: + completion_window: + description: The completion window (e.g. "24h") + example: example string + type: string + endpoint: + description: |- + OpenAI Batch API target path. Required when provider is openai; not persisted in DB. + Allowed values only: /v1/responses (Responses API), /v1/chat/completions (Chat Completions API), + /v1/embeddings (Embeddings API), /v1/completions (Completions API), /v1/moderations (Moderations API). + example: example string + type: string + file_id: + description: 'OpenAI: reference to a previously uploaded .jsonl file' + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + inline_requests: + $ref: '#/apiBatchInferenceInlineInput' + provider: + description: 'Batch provider: openai or anthropic' + example: example string + type: string + request_id: + description: Client-supplied idempotency key + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + webhook: + $ref: '#/apiBatchInferenceWebhook' + type: object +apiCreateBatchInferenceJobOutput: + description: Response from CreateBatchInferenceJob / POST .../batches. Same fields + as BatchInferenceJob except model. + properties: + batch_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + cancel_requested_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + completion_window: + example: example string + type: string + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + error_message: + example: example string + type: string + expires_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + file_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + provider: + example: example string + type: string + request_counts: + $ref: '#/apiBatchInferenceRequestCounts' + request_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + result_available: + example: true + type: boolean + status: + example: example string + type: string + updated_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object apiCreateChatbotInputPublic: properties: agent_uuid: @@ -1579,9 +2265,11 @@ apiCreateKnowledgeBaseInputPublic: example: '"12345678-1234-1234-1234-123456789012"' type: string datasources: - description: The data sources to use for this knowledge base. See [Organize - Data Sources](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#spaces-buckets) - for more information on data sources best practices. + description: Optional data sources to attach at creation. Omit or use an empty + list to create the knowledge base without sources, then add sources (with + chunking strategy and sizes) using [Add a Data Source to a Knowledge Base](#operation/create_knowledge_base_data_source). + When provided, see [Organize Data Sources](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/create-manage-agent-knowledge-bases/#add-data-sources) + for best practices. items: $ref: '#/apiKBDataSource' type: array @@ -1602,6 +2290,10 @@ apiCreateKnowledgeBaseInputPublic: description: The datacenter region to deploy the knowledge base in. example: '"tor1"' type: string + reranking_config: + $ref: '#/apiRerankingConfiguration' + size: + $ref: '#/apiOpenSearchPlanSize' tags: description: Tags to organize your knowledge base. example: @@ -1633,6 +2325,77 @@ apiCreateModelAPIKeyOutput: api_key_info: $ref: '#/apiModelAPIKeyInfo' type: object +apiCreateModelEvalDatasetUploadPresignedUrlsInputPublic: + description: Public request for presigned upload URLs for model evaluation dataset + files. + properties: + files: + description: A list of files to generate presigned URLs for. + items: + $ref: '#/apiPresignedUrlFile' + type: array + type: object +apiCreateModelEvaluationRunInputPublic: + properties: + candidate_inference_config: + $ref: '#/apiCandidateInferenceConfig' + candidate_model_name: + description: |- + Model slug used to call the candidate model API. + For dedicated inference, this is the model slug from the deployment. + For serverless, this should match the model's internal name. + example: example name + type: string + candidate_model_source: + $ref: '#/apiCandidateModelSource' + candidate_model_uuid: + description: UUID of the candidate model to evaluate. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + dataset_uuid: + description: UUID of the dataset to use for evaluation. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + eval_preset_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + judge_model_uuid: + description: UUID of the judge model used to score responses. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + metric_uuids: + description: UUIDs of metrics to evaluate (selected from ListModelEvaluationMetrics). + example: + - example string + items: + example: example string + type: string + type: array + name: + example: example name + type: string + preset_name: + example: example name + type: string + save_as_preset: + description: "If true, saves the inline config as a reusable preset \nIgnored + when eval_preset_uuid is provided." + example: true + type: boolean + source: + description: Source of the run creation (api, sdk, cli). + example: example string + type: string + star_metric: + $ref: '#/apiStarMetric' + type: object +apiCreateModelEvaluationRunOutput: + properties: + eval_run_uuid: + description: UUID of the created evaluation run. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object apiCreateModelOutput: description: Information about a newly created model properties: @@ -1652,6 +2415,45 @@ apiCreateModelProviderKeyOutput: api_key_info: $ref: '#/apiModelProviderKeyInfo' type: object +apiCreateModelRouterInputPublic: + description: Create a model router + properties: + description: + description: Model router description + example: '"My Model Router Description"' + type: string + fallback_models: + description: Fallback models + example: + - example string + items: + example: example string + type: string + type: array + name: + description: Model router name + example: '"My Model Router"' + type: string + policies: + description: Router policies + items: + $ref: '#/apiModelRouterTaskPolicy' + type: array + regions: + description: Target regions for the router + example: + - example string + items: + example: example string + type: string + type: array + type: object +apiCreateModelRouterOutput: + description: Information about a newly created model router + properties: + model_router: + $ref: '#/apiModelRouter' + type: object apiCreateOpenAIAPIKeyInputPublic: description: CreateOpenAIAPIKeyInputPublic is used to create a new OpenAI API key for a specific agent. @@ -1761,86 +2563,297 @@ apiCreateWorkspaceOutput: workspace: $ref: '#/apiWorkspace' type: object -apiDataPoint: - description: DataPoint message to represent a single data point +apiCustomModel: + description: Custom model - user-imported model from HuggingFace, Spaces, etc. properties: - timestamp: - description: The timestamp of the data point + active_deployments: + description: List of active deployments using this model + items: + $ref: '#/CustomModelActiveDeployment' + type: array + architecture: + description: Model architecture type (free-form string from config.json) + example: example string + type: string + config_json: + description: Raw config.json contents from the model repository + type: object + context_length: + description: Maximum context length supported by the model + example: 123 + format: int64 + type: integer + cost_estimate_per_month: + description: Estimated monthly cost in dollars for hosting + example: 123 + format: int64 + type: integer + created_at: + description: Timestamp when the model was created example: "2023-01-01T00:00:00Z" format: date-time type: string - value: - description: The value of the data point + description: + description: Description of the custom model + example: example string + type: string + file_count: + description: Number of files in the model example: 123 - format: double - type: number - type: object -apiDeleteAgentAPIKeyInputPublic: - properties: - agent_uuid: - example: '"12345678-1234-1234-1234-123456789012"' - api_key_uuid: - example: '"12345678-1234-1234-1234-123456789012"' -apiDeleteAgentAPIKeyOutput: - properties: - api_key_info: - $ref: '#/apiAgentAPIKeyInfo' - type: object -apiDeleteAgentConversationLogConfigOutput: - description: Output for deleting agent conversation log config - properties: - agent_uuid: - description: Agent UUID - example: 123e4567-e89b-12d3-a456-426614174000 + format: int64 + type: integer + input_modalities: + description: Input modalities supported (e.g., text, image) + example: + - example string + items: + example: example string + type: string + type: array + license: + description: License under which the model is distributed + example: example string + type: string + name: + description: Name of the custom model + example: example name + type: string + output_modalities: + description: Output modalities supported (e.g., text, image) + example: + - example string + items: + example: example string + type: string + type: array + parameters: + description: Number of parameters in the model + example: "12345" + format: uint64 + type: string + source_ref: + $ref: '#/CustomModelSourceRef' + source_type: + $ref: '#/CustomModelSourceType' + status: + $ref: '#/apiCustomModelStatus' + storage_region: + description: Region of the Spaces bucket where model files are stored + example: example string + type: string + tags: + $ref: '#/CustomModelTags' + team_id: + description: Team that owns the model + example: "12345" + format: uint64 + type: string + total_size_bytes: + description: Total size of model files in bytes + example: "12345" + format: uint64 + type: string + updated_at: + description: Timestamp when the model was last updated + example: "2023-01-01T00:00:00Z" + format: date-time type: string - type: object -apiDeleteAgentInputPublic: - properties: uuid: - example: '"12345678-1234-1234-1234-123456789012"' -apiDeleteAgentOutput: - description: Info about a deleted agent - properties: - agent: - $ref: '#/apiAgent' - type: object -apiDeleteAgentWorkspaceDeploymentOutput: - properties: - agent_workspace_deployment_uuid: - description: The agent workspace deployment id + description: Unique identifier for the custom model example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object -apiDeleteAgentWorkspaceOutput: - properties: - agent_workspace_name: - description: The agent workspace name - example: example name - type: string - type: object -apiDeleteAnthropicAPIKeyInputPublic: - properties: - api_key_uuid: - example: '"12345678-1234-1234-1234-123456789012"' -apiDeleteAnthropicAPIKeyOutput: - description: DeleteAnthropicAPIKeyOutput is used to return the deleted Anthropic - API key. - properties: - api_key_info: - $ref: '#/apiAnthropicAPIKeyInfo' - type: object -apiDeleteChatbotInputPublic: - properties: - agent_uuid: - example: '"12345678-1234-1234-1234-123456789012"' -apiDeleteChatbotOutput: - description: Information about a delete chatbot +apiCustomModelImportJob: + description: Import job tracking for a custom model properties: - agent_uuid: - description: Agent id - example: 123e4567-e89b-12d3-a456-426614174000 + bytes_done: + description: Bytes imported so far + example: "12345" + format: uint64 type: string + bytes_total: + description: Total bytes to import + example: "12345" + format: uint64 + type: string + completed_at: + description: Timestamp when the import completed + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + created_at: + description: Timestamp when the job was created + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + error_message: + description: Error message if import failed + example: example string + type: string + error_step: + description: Step at which the error occurred + example: example string + type: string + files_done: + description: Number of files imported so far + example: 123 + format: int64 + type: integer + files_total: + description: Total number of files to import + example: 123 + format: int64 + type: integer + started_at: + description: Timestamp when the import started + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + status: + description: Current status of the import job + example: example string + type: string + uuid: + description: Unique identifier for the import job + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +apiCustomModelStatus: + default: STATUS_UNSPECIFIED + description: Import and deployment status of the custom model + enum: + - STATUS_UNSPECIFIED + - STATUS_IMPORTING + - STATUS_READY + - STATUS_FAILED + - STATUS_DELETED + example: STATUS_UNSPECIFIED + type: string +apiCustomVPC: + description: Summary of a custom (non-default, non-reserved) VPC for GenAI APIs. + properties: + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + description: + example: example string + type: string + id: + example: example string + type: string + name: + example: example name + type: string + region: + example: example string + type: string + type: object +apiDataPoint: + description: DataPoint message to represent a single data point + properties: + timestamp: + description: The timestamp of the data point + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + value: + description: The value of the data point + example: 123 + format: double + type: number + type: object +apiDeleteAgentAPIKeyInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + api_key_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteAgentAPIKeyOutput: + properties: + api_key_info: + $ref: '#/apiAgentAPIKeyInfo' + type: object +apiDeleteAgentInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteAgentOutput: + description: Info about a deleted agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiDeleteAgentWorkspaceDeploymentOutput: + properties: + agent_workspace_deployment_uuid: + description: The agent workspace deployment id + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +apiDeleteAgentWorkspaceOutput: + properties: + agent_workspace_name: + description: The agent workspace name + example: example name + type: string + type: object +apiDeleteAnthropicAPIKeyInputPublic: + properties: + api_key_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteAnthropicAPIKeyOutput: + description: DeleteAnthropicAPIKeyOutput is used to return the deleted Anthropic + API key. + properties: + api_key_info: + $ref: '#/apiAnthropicAPIKeyInfo' + type: object +apiDeleteChatbotInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteChatbotOutput: + description: Information about a delete chatbot + properties: + agent_uuid: + description: Agent id + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +apiDeleteCustomModelInputPublic: + properties: + uuid: + example: 123e4567-e89b-12d3-a456-426614174000 +apiDeleteCustomModelOutput: + description: Response containing delete operation status (internal) + properties: + error: + description: Error message if deletion failed + example: example string + type: string + status: + $ref: '#/apiDeleteCustomModelStatus' + type: object +apiDeleteCustomModelOutputPublic: + description: Response containing delete operation status (public) + properties: + error: + description: Error message if deletion failed + example: example string + type: string + status: + $ref: '#/apiDeleteCustomModelStatus' type: object +apiDeleteCustomModelStatus: + default: DELETE_CUSTOM_MODEL_STATUS_UNSPECIFIED + description: Status of delete operation + enum: + - DELETE_CUSTOM_MODEL_STATUS_UNSPECIFIED + - DELETE_CUSTOM_MODEL_STATUS_SUCCESS + - DELETE_CUSTOM_MODEL_STATUS_FAIL + example: DELETE_CUSTOM_MODEL_STATUS_UNSPECIFIED + type: string apiDeleteGuardrailOutput: description: DeleteGuardrailOutput description properties: @@ -1896,6 +2909,18 @@ apiDeleteModelProviderKeyOutput: api_key_info: $ref: '#/apiModelProviderKeyInfo' type: object +apiDeleteModelRouterInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteModelRouterOutput: + description: Information about a deleted model router + properties: + uuid: + description: The id of the deleted model router + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object apiDeleteOpenAIAPIKeyInputPublic: properties: api_key_uuid: @@ -2033,6 +3058,8 @@ apiEvaluationDataset: description: Name of the dataset. example: example name type: string + dataset_type: + $ref: '#/apiEvaluationDatasetType' dataset_uuid: description: UUID of the dataset. example: 123e4567-e89b-12d3-a456-426614174000 @@ -2052,12 +3079,44 @@ apiEvaluationDataset: format: int64 type: integer type: object +apiEvaluationDatasetPreviewOutput: + description: Response containing a paginated preview of a dataset's contents. + properties: + columns: + description: Ordered list of column names present in the dataset. + example: + - example string + items: + example: example string + type: string + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + rows: + description: The rows for the current page. + items: + $ref: '#/apiEvaluationDatasetPreviewRow' + type: array + type: object +apiEvaluationDatasetPreviewRow: + description: A single row in a dataset preview, mapping column names to their values. + properties: + fields: + additionalProperties: + example: example string + type: string + description: Column name to cell value mapping for this row. + type: object + type: object apiEvaluationDatasetType: default: EVALUATION_DATASET_TYPE_UNKNOWN enum: - EVALUATION_DATASET_TYPE_UNKNOWN - EVALUATION_DATASET_TYPE_ADK - EVALUATION_DATASET_TYPE_NON_ADK + - EVALUATION_DATASET_TYPE_MODEL example: EVALUATION_DATASET_TYPE_UNKNOWN type: string apiEvaluationMetric: @@ -2067,6 +3126,8 @@ apiEvaluationMetric: description: example: example string type: string + evaluation_scope: + $ref: '#/apiEvaluationScope' inverted: description: If true, the metric is inverted, meaning that a lower value is better. @@ -2143,6 +3204,8 @@ apiEvaluationMetricType: - METRIC_TYPE_UNSPECIFIED - METRIC_TYPE_GENERAL_QUALITY - METRIC_TYPE_RAG_AND_TOOL + - METRIC_TYPE_MODEL_QUALITY + - METRIC_TYPE_MODEL_SAFETY example: METRIC_TYPE_UNSPECIFIED type: string apiEvaluationMetricValueType: @@ -2154,6 +3217,26 @@ apiEvaluationMetricValueType: - METRIC_VALUE_TYPE_PERCENTAGE example: METRIC_VALUE_TYPE_UNSPECIFIED type: string +apiEvaluationPricing: + description: Pricing breakdown for an evaluation run. + properties: + currency: + description: Currency code (e.g., "USD"). + example: example string + type: string + judge_model_pricing: + $ref: '#/apiTokenPricing' + per_candidate_model_pricing: + description: Pricing per candidate model. + items: + $ref: '#/apiModelPricingEntry' + type: array + total_cost: + description: Total cost of the evaluation run (all candidates + judge). + example: 123 + format: double + type: number + type: object apiEvaluationRun: properties: agent_deleted: @@ -2263,6 +3346,17 @@ apiEvaluationRunStatus: - EVALUATION_RUN_FAILED example: EVALUATION_RUN_STATUS_UNSPECIFIED type: string +apiEvaluationScope: + default: EVALUATION_SCOPE_UNSPECIFIED + description: |- + Scope that determines whether a metric belongs to agent evaluation or model evaluation. + For backwards compatibility, UNSPECIFIED defaults to agent metrics only in list operations. + enum: + - EVALUATION_SCOPE_UNSPECIFIED + - EVALUATION_SCOPE_AGENT + - EVALUATION_SCOPE_MODEL + example: EVALUATION_SCOPE_UNSPECIFIED + type: string apiEvaluationTestCase: properties: archived_at: @@ -2368,6 +3462,13 @@ apiEvaluationTraceSpan: items: $ref: '#/apiEvaluationMetricResult' type: array + spans: + description: |- + Child spans - must contain between 1 and 999 spans + Allowed types: agent, llm, tool, retriever (not workflow) + items: + $ref: '#/apiTraceSpan' + type: array type: $ref: '#/apiTraceSpanType' type: object @@ -2561,6 +3662,19 @@ apiGetAnthropicAPIKeyOutput: api_key_info: $ref: '#/apiAnthropicAPIKeyInfo' type: object +apiGetBatchInferenceJobResultsOutput: + description: |- + Response for GET .../batches/{id}/results: presigned download URL when output is ready (FilePresignedUrlResponse, same family as batch file upload presigned URL). + If output is not ready, the RPC fails with FAILED_PRECONDITION instead of returning this message. + properties: + download: + $ref: '#/apiFilePresignedUrlResponse' + output_file_id: + description: Provider output file id when known (e.g. OpenAI file id); mirrors + output_file_id on OpenAI batch objects. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object apiGetChildrenInputPublic: properties: uuid: @@ -2574,6 +3688,78 @@ apiGetChildrenOutput: $ref: '#/apiAgent' type: array type: object +apiGetCustomModelOutput: + description: Response containing a single custom model (internal) + properties: + model: + $ref: '#/apiCustomModel' + type: object +apiGetCustomModelStorageOutput: + description: Response containing custom model storage details + properties: + bucket_access_key: + description: Spaces bucket access key + example: example string + type: string + bucket_name: + description: Spaces bucket name where model is stored + example: example name + type: string + bucket_secret_key: + description: Spaces bucket secret key + example: example string + type: string + bucket_url: + description: Spaces virtual-hosted endpoint for this bucket and region (https://{bucket}.{region}.digitaloceanspaces.com) + example: example string + type: string + catalog_type: + $ref: '#/apiCatalogType' + file_count: + description: Number of files in the model + example: 123 + format: int64 + type: integer + region: + description: Region where the bucket is located + example: example string + type: string + source_ref: + $ref: '#/CustomModelSourceRef' + source_type: + $ref: '#/CustomModelSourceType' + spaces_region_url: + description: Spaces region endpoint URL (https://{region}.digitaloceanspaces.com) + example: example string + type: string + storage_path: + description: Path to the model in storage + example: example string + type: string + team_id: + description: Team that owns the model + example: "12345" + format: uint64 + type: string + total_size_bytes: + description: Total size of model files in bytes + example: "12345" + format: uint64 + type: string + type: object +apiGetEvaluationDatasetDownloadURLOutput: + description: Response containing a presigned download URL for an evaluation dataset. + properties: + download_url: + description: The presigned URL to download the dataset file. + example: example string + type: string + expires_at: + description: The time the URL expires at. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object apiGetEvaluationRunOutput: properties: evaluation_run: @@ -2672,6 +3858,49 @@ apiGetKnowledgeBaseOutput: knowledge_base: $ref: '#/apiKnowledgeBase' type: object +apiGetModelCatalogCardInput: + properties: + id: + example: '"506a3371-88d0-4047-9212-e2079497ac68"' +apiGetModelCatalogCardOutput: + properties: + data: + $ref: '#/apiModelCatalogCard' + type: object +apiGetModelEvaluationPresetOutput: + properties: + preset: + $ref: '#/apiModelEvaluationPreset' + type: object +apiGetModelEvaluationRunOutput: + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + results: + description: Paginated per-prompt evaluation results. + items: + $ref: '#/apiModelEvaluationResult' + type: array + run: + $ref: '#/apiModelEvaluationRunDetail' + type: object +apiGetModelEvaluationRunResultsDownloadURLOutput: + description: Response containing a presigned download URL for model evaluation run + results. + properties: + download_url: + description: The presigned URL to download the gzip-compressed JSON results + file (.json.gz). + example: example string + type: string + expires_at: + description: The time the URL expires at. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object apiGetModelInputPublic: properties: uuid: @@ -2709,7 +3938,67 @@ apiGetModelProviderKeyOutput: api_key_info: $ref: '#/apiModelProviderKeyInfo' type: object -apiGetModelUsageInputPublic: +apiGetModelRouterInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetModelRouterOutput: + description: The model router + properties: + model_router: + $ref: '#/apiModelRouter' + type: object +apiGetModelSourceMetadataOutput: + description: Response containing model source metadata + properties: + architecture: + description: Model architecture type + example: example string + type: string + commit_sha: + description: Git commit SHA of the model version + example: example string + type: string + error: + description: Error message if validation failed + example: example string + type: string + gated: + description: Whether the repository is gated + example: true + type: boolean + license: + description: License under which the model is distributed + example: example string + type: string + private: + description: Whether the repository is private + example: true + type: boolean + repo_id: + description: Huggingface repository identifier + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + source_ref: + $ref: '#/CustomModelSourceRef' + source_type: + $ref: '#/CustomModelSourceType' + storage_cost_per_month: + description: Estimated monthly storage cost in dollars + example: 123 + format: int64 + type: integer + total_size_bytes: + description: Total size of model files in bytes + example: "12345" + format: uint64 + type: string + valid: + description: Whether the model source is valid + example: true + type: boolean + type: object +apiGetModelUsageInputPublic: properties: start: example: '"2021-01-01T00:00:00Z"' @@ -3016,6 +4305,81 @@ apiGuardrailType: - GUARDRAIL_TYPE_CONTENT_MODERATION example: GUARDRAIL_TYPE_UNKNOWN type: string +apiImportCustomModelInputPublic: + description: Request to import a custom model (public) + properties: + accept_terms_and_conditions: + description: Whether the caller accepts the terms and conditions for importing + this model + example: true + type: boolean + description: + description: Description of the model + example: Production model for customer support + type: string + name: + description: Name for the imported model + example: my-mistral-7b + type: string + preferred_gpu_region: + description: Preferred GPU region for deployment + example: nyc3 + type: string + source_ref: + $ref: '#/CustomModelSourceRef' + source_type: + $ref: '#/CustomModelSourceType' + tags: + $ref: '#/CustomModelTags' + type: object +apiImportCustomModelOutput: + description: Response containing imported model details (internal) + properties: + error: + example: example string + type: string + import_job: + $ref: '#/apiCustomModelImportJob' + model: + $ref: '#/apiCustomModel' + validation_steps: + description: Validation steps performed during import + items: + $ref: '#/apiImportValidationStep' + type: array + type: object +apiImportCustomModelOutputPublic: + description: Response containing imported model details (public) + properties: + error: + example: example string + type: string + import_job: + $ref: '#/apiCustomModelImportJob' + model: + $ref: '#/apiCustomModel' + validation_steps: + description: Validation steps performed during import + items: + $ref: '#/apiImportValidationStep' + type: array + type: object +apiImportValidationStep: + description: Validation step result during model import + properties: + error: + description: Error message if validation failed + example: example string + type: string + name: + description: Name of the validation step + example: example name + type: string + passed: + description: Whether the validation step passed + example: true + type: boolean + type: object apiIndexJobStatus: default: INDEX_JOB_STATUS_UNKNOWN enum: @@ -3179,6 +4543,23 @@ apiIndexingJob: example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object +apiInferenceDeploymentKind: + default: INFERENCE_DEPLOYMENT_UNSPECIFIED + description: |- + Where this model endpoint is served (distinct from ModelProvider, which is the model vendor). + + - INFERENCE_DEPLOYMENT_SERVERLESS: Managed serverless inference (DO-hosted). + - INFERENCE_DEPLOYMENT_DEDICATED: Customer dedicated inference (DO-hosted). + - INFERENCE_DEPLOYMENT_THIRD_PARTY: Routed to an external API (e.g. OpenAI, Anthropic) + - INFERENCE_DEPLOYMENT_MODEL_ROUTER: Model router that routes requests to underlying models based on task policies. + enum: + - INFERENCE_DEPLOYMENT_UNSPECIFIED + - INFERENCE_DEPLOYMENT_SERVERLESS + - INFERENCE_DEPLOYMENT_DEDICATED + - INFERENCE_DEPLOYMENT_THIRD_PARTY + - INFERENCE_DEPLOYMENT_MODEL_ROUTER + example: INFERENCE_DEPLOYMENT_UNSPECIFIED + type: string apiIssueAgentTokenOutput: description: Information about a newly issued token properties: @@ -3267,6 +4648,8 @@ apiKnowledgeBase: description: Region code example: example string type: string + reranking_config: + $ref: '#/apiRerankingConfiguration' tags: description: Tags to organize related resources example: @@ -3355,6 +4738,74 @@ apiKnowledgeBasePrice: $ref: '#/apiBillingPrice' type: array type: object +apiLLMSpan: + description: LLM span + properties: + common: + $ref: '#/apiSpanCommon' + model: + example: example string + type: string + num_input_tokens: + example: 123 + format: int32 + type: integer + num_output_tokens: + example: 123 + format: int32 + type: integer + temperature: + example: 123 + format: float + type: number + time_to_first_token_ns: + example: "12345" + format: int64 + type: string + tools: + description: Tool definitions passed to the model + items: + type: object + type: array + total_tokens: + example: 123 + format: int32 + type: integer + type: object +apiLatencyMetrics: + description: Latency metrics for candidate model invocations (in milliseconds). + properties: + avg_e2e_latency_ms: + description: Average end-to-end latency across all invocations. + example: 123 + format: double + type: number + max_e2e_latency_ms: + description: Maximum end-to-end latency observed. + example: 123 + format: double + type: number + min_e2e_latency_ms: + description: Minimum end-to-end latency observed. + example: 123 + format: double + type: number + p50_latency_ms: + description: P50 (median) latency. + example: 123 + format: double + type: number + p90_latency_ms: + description: P90 latency. + example: 123 + format: double + type: number + p95_latency_ms: + description: P95 latency. + example: 123 + format: double + type: number + type: object apiLinkAgentFunctionInputPublic: description: Information for a agent function link properties: @@ -3685,6 +5136,99 @@ apiListAnthropicAPIKeysOutput: meta: $ref: '#/apiMeta' type: object +apiListAvailableModelsOutput: + description: ListAvailableModelsOutput is the gRPC response body for ListAvailableModels + (full AvailableModel list + pagination). + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + models: + items: + $ref: '#/apiAvailableModel' + type: array + type: object +apiListBatchInferenceJobsOutput: + description: Response for listing batch inference jobs + properties: + edges: + description: Relay-style edges with per-row cursors + items: + $ref: '#/apiBatchInferenceJobEdge' + type: array + page_info: + $ref: '#/apiBatchInferencePageInfo' + type: object +apiListCustomModelsInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" + status: + example: STATUS_READY +apiListCustomModelsOutput: + description: Response containing a list of custom models (internal) + properties: + links: + $ref: '#/apiLinks' + max_threshold: + description: Maximum number of custom models allowed for this team's tier + example: 123 + format: int64 + type: integer + meta: + $ref: '#/apiMeta' + models: + description: List of custom models + items: + $ref: '#/apiCustomModel' + type: array + type: object +apiListCustomModelsOutputPublic: + description: Response containing a list of custom models (public) + properties: + links: + $ref: '#/apiLinks' + max_threshold: + description: Maximum number of custom models allowed for this team's tier + example: 123 + format: int64 + type: integer + meta: + $ref: '#/apiMeta' + models: + description: List of custom models + items: + $ref: '#/apiCustomModel' + type: array + type: object +apiListCustomVPCsOutput: + description: Response containing custom VPCs for the team. + properties: + custom_vpcs: + items: + $ref: '#/apiCustomVPC' + type: array + type: object +apiListCustomVPCsOutputPublic: + description: Response containing custom VPCs for the team (public HTTP). + properties: + custom_vpcs: + items: + $ref: '#/apiCustomVPC' + type: array + type: object +apiListEvaluationDatasetsOutput: + description: Output for listing evaluation datasets. + properties: + evaluation_datasets: + description: The list of evaluation datasets. + items: + $ref: '#/apiEvaluationDataset' + type: array + type: object apiListEvaluationMetricsOutput: properties: metrics: @@ -3794,6 +5338,10 @@ apiListIndexingJobsByKnowledgeBaseUUIDInputPublic: properties: knowledge_base_uuid: example: '"12345678-1234-1234-1234-123456789012"' + page: + example: "1" + per_page: + example: "20" apiListKnowledgeBaseAgentsInputPublic: properties: knowledge_base_uuid: @@ -3900,6 +5448,49 @@ apiListModelAPIKeysOutput: meta: $ref: '#/apiMeta' type: object +apiListModelCatalogInput: + properties: + limit: + example: "100" + page: + example: "1" +apiListModelCatalogOutput: + properties: + data: + items: + $ref: '#/apiModelCatalogEntry' + type: array + meta: + $ref: '#/apiMeta' + type: object +apiListModelEvaluationMetricsOutput: + properties: + metrics: + description: List of model evaluation metrics + items: + $ref: '#/apiEvaluationMetric' + type: array + type: object +apiListModelEvaluationPresetsOutput: + properties: + presets: + description: List of explicitly saved evaluation presets (reusable configs). + items: + $ref: '#/apiModelEvaluationPreset' + type: array + type: object +apiListModelEvaluationRunsOutput: + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + runs: + description: Summary view of evaluation runs for the run history list. + items: + $ref: '#/apiModelEvaluationRunSummary' + type: array + type: object apiListModelPricesOutput: properties: model_prices: @@ -3925,6 +5516,63 @@ apiListModelProviderKeysOutput: meta: $ref: '#/apiMeta' type: object +apiListModelRouterPresetsInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListModelRouterPresetsOutput: + description: List of model router presets + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + presets: + description: The model router presets + items: + $ref: '#/apiModelRouterPreset' + type: array + type: object +apiListModelRouterTaskPresetsInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListModelRouterTaskPresetsOutput: + description: List of model router task presets + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + tasks: + description: The task presets + items: + $ref: '#/apiModelRouterTaskPreset' + type: array + type: object +apiListModelRoutersInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListModelRoutersOutput: + description: List of model routers + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + model_routers: + description: The model routers + items: + $ref: '#/apiModelRouter' + type: array + type: object apiListModelUsagesByAgentOutput: description: ListModelUsagesByAgentOutput description properties: @@ -4033,6 +5681,36 @@ apiListWorkspacesOutput: $ref: '#/apiWorkspace' type: array type: object +apiMcpServer: + description: McpServer defines a remote MCP server configuration for an agent. + properties: + allowed_tools: + description: Optional list of allowed tool names to expose from this server + example: + - example string + items: + example: example string + type: string + type: array + authorization: + description: Optional authorization header value for the MCP server + example: example string + type: string + headers: + additionalProperties: + example: example string + type: string + description: Optional additional headers to send to the MCP server + type: object + server_label: + description: A label identifying this MCP server + example: example string + type: string + server_url: + description: The URL of the MCP server + example: example string + type: string + type: object apiMeta: description: Meta information about the data set properties: @@ -4075,16 +5753,58 @@ apiMetricResult: $ref: '#/apiDataPoint' type: array type: object -apiModel: - description: Description of a Model +apiMetricResultSummary: + description: Per-metric aggregated pass/fail statistics across all prompts. + properties: + description: + example: example string + type: string + fail_percent: + example: 123 + format: double + type: number + metric_name: + example: example name + type: string + metric_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + pass_percent: + example: 123 + format: double + type: number + type: object +apiModel: + description: Description of a Model properties: agreement: $ref: '#/apiAgreement' + benchmark_score: + description: Benchmark scores for this model, stored as arbitrary JSON + type: object + capabilities: + description: High-level capabilities (e.g. tool_calling, vision, streaming) + example: + - example string + items: + example: example string + type: string + type: array + context_window: + description: Context window size in tokens + example: "12345" + format: int64 + type: string created_at: description: Creation date / time example: "2023-01-01T00:00:00Z" format: date-time type: string + endpoints: + description: Available endpoints and their capabilities + items: + $ref: '#/apiModelEndpoint' + type: array inference_name: description: Internally used name example: example name @@ -4113,19 +5833,52 @@ apiModel: example: 123 format: int64 type: integer + lifecycle_status: + description: Lifecycle status of the model (internal, public-preview, active, + deprecated, end_of_life) + example: example string + type: string metadata: description: Additional meta data type: object + modalities: + $ref: '#/apiModelModalities' name: description: Name of the model example: example name type: string + parameter_count: + description: Parameter count in billions + example: 123 + format: float + type: number parent_uuid: description: Unique id of the model, this model is based on example: 123e4567-e89b-12d3-a456-426614174000 type: string provider: $ref: '#/apiModelProvider' + reasoning_efforts: + description: Available reasoning efforts for this model + example: + - example string + items: + example: example string + type: string + type: array + settings: + description: Playground settings derived from model metadata + items: + $ref: '#/apiModelSetting' + type: array + thinking: + description: Whether this model supports extended thinking (Anthropic models) + example: true + type: boolean + type: + description: Model type (chat, embedding, image, reasoning, coding) + example: example string + type: string updated_at: description: Last modified example: "2023-01-01T00:00:00Z" @@ -4184,6 +5937,393 @@ apiModelAPIKeyInfo: example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object +apiModelCatalogCard: + description: Detail view for GetModelCatalogCard + properties: + availability: + example: + - example string + items: + example: example string + type: string + type: array + benchmarks: + additionalProperties: + example: 123 + format: double + type: number + type: object + capabilities: + example: + - example string + items: + example: example string + type: string + type: array + code_snippets: + $ref: '#/apiCodeSnippets' + context_window: + description: Specs (same as Entry) + example: "128000" + format: int64 + type: string + creator: + description: Model creator/developer (e.g., "Meta", "Anthropic", "OpenAI") + example: '"Meta"' + type: string + description: + description: Card-specific + example: '"Claude Sonnet 4 is Anthropic''s most capable model..."' + type: string + id: + description: Identity (same as Entry) + example: '"506a3371-88d0-4047-9212-e2079497ac68"' + type: string + modalities: + $ref: '#/apiModelModalities' + model_id: + description: Model identifier used for API calls (e.g., "llama3.1-70b-instruct") + example: '"llama3.1-70b-instruct"' + type: string + name: + example: '"Llama 3.1 70B"' + type: string + parameter_count: + example: 70 + format: float + type: number + pricing: + $ref: '#/apiModelPricing' + provider: + $ref: '#/apiModelProvider' + short_description: + example: '"Fast, efficient model for general tasks"' + type: string + type: + example: '"text-to-text"' + type: string + type: object +apiModelCatalogEntry: + description: List item for ListModelCatalog + properties: + availability: + example: + - example string + items: + example: example string + type: string + type: array + benchmark_score: + description: Benchmark scores for this model, stored as arbitrary JSON + type: object + capabilities: + example: + - example string + items: + example: example string + type: string + type: array + context_window: + description: Specs (flat) + example: "128000" + format: int64 + type: string + creator: + description: Model creator/developer (e.g., "Meta", "Anthropic", "OpenAI") + example: '"Meta"' + type: string + id: + description: Identity + example: '"506a3371-88d0-4047-9212-e2079497ac68"' + type: string + model_id: + description: Model identifier used for API calls (e.g., "llama3.1-70b-instruct") + example: '"llama3.1-70b-instruct"' + type: string + name: + example: '"Llama 3.1 70B"' + type: string + parameter_count: + example: 70 + format: float + type: number + pricing: + $ref: '#/apiModelPricing' + provider: + $ref: '#/apiModelProvider' + short_description: + example: '"Fast, efficient model for general tasks"' + type: string + type: + example: '"text-to-text"' + type: string + type: object +apiModelEndpoint: + description: An available endpoint for a model and its capabilities + properties: + capabilities: + description: Capabilities supported by this endpoint (e.g. input_text, output_text, + input_image) + example: + - example string + items: + example: example string + type: string + type: array + endpoint: + description: The endpoint path (e.g. /chat/responses) + example: /chat/responses + type: string + type: object +apiModelEvaluationPreset: + description: Model Evaluation Preset - a saved, reusable configuration for model + evaluation runs. + properties: + created_at: + description: Timestamp when the preset was created. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + dataset_name: + example: example name + type: string + dataset_uuid: + description: Dataset used for evaluation. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + eval_preset_uuid: + description: UUID of the evaluation preset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + judge_model_name: + example: example name + type: string + judge_model_uuid: + description: Judge model used to score responses. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + metrics: + description: Metrics selected for this preset. + items: + $ref: '#/apiEvaluationMetric' + type: array + name: + description: Name of the evaluation preset. + example: example name + type: string + star_metric: + $ref: '#/apiStarMetric' + type: object +apiModelEvaluationResult: + description: Result for a single prompt in a model evaluation run. + properties: + candidate_model_name: + example: example name + type: string + candidate_model_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + ground_truth: + example: example string + type: string + input: + description: The input query sent to the candidate model. + example: example string + type: string + metric_results: + description: Per-metric scores and judge reasoning for this prompt. + items: + $ref: '#/apiEvaluationMetricResult' + type: array + output: + description: The response from the candidate model. + example: example string + type: string + type: object +apiModelEvaluationRunDetail: + description: Model Evaluation Run Detail - full view returned when fetching a specific + run. + properties: + candidate_inference_config: + $ref: '#/apiCandidateInferenceConfig' + candidate_model_name: + example: example name + type: string + candidate_model_source: + $ref: '#/apiCandidateModelSource' + candidate_model_uuid: + description: Candidate model being evaluated. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + completed_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + dataset_name: + example: example name + type: string + dataset_uuid: + description: Dataset used for the evaluation. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + error_description: + description: Error description if the run failed or partially succeeded. + example: example string + type: string + eval_preset_name: + example: example name + type: string + eval_preset_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + eval_run_uuid: + description: UUID of the evaluation run. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + judge_model_name: + example: example name + type: string + judge_model_uuid: + description: Judge model used to score responses. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + metrics: + description: Metrics selected for this evaluation. + items: + $ref: '#/apiEvaluationMetric' + type: array + name: + description: Name of the evaluation run. + example: example name + type: string + result_summary: + $ref: '#/apiModelEvaluationRunResultSummary' + star_metric: + $ref: '#/apiStarMetric' + started_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + status: + $ref: '#/apiModelEvaluationRunStatus' + type: object +apiModelEvaluationRunResultSummary: + description: Aggregated result summary for a completed model evaluation run. + properties: + end_time: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + metric_summaries: + description: Per-metric aggregated pass/fail statistics. + items: + $ref: '#/apiMetricResultSummary' + type: array + overall_score_percent: + example: 123 + format: double + type: number + per_model_summaries: + $ref: '#/apiPerModelResultSummaries' + performance_metrics: + $ref: '#/apiPerformanceMetrics' + pricing: + $ref: '#/apiEvaluationPricing' + star_metric_summary: + $ref: '#/apiStarMetricSummary' + start_time: + description: Run timing. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + total_duration_seconds: + description: Total wall-clock duration in seconds. + example: 123 + format: int64 + type: integer + type: object +apiModelEvaluationRunStatus: + default: MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + description: Model Evaluation Run Statuses + enum: + - MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + - MODEL_EVALUATION_RUN_QUEUED + - MODEL_EVALUATION_RUN_RUNNING_DATASET + - MODEL_EVALUATION_RUN_EVALUATING_RESULTS + - MODEL_EVALUATION_RUN_CANCELLING + - MODEL_EVALUATION_RUN_CANCELLED + - MODEL_EVALUATION_RUN_SUCCESSFUL + - MODEL_EVALUATION_RUN_PARTIALLY_SUCCESSFUL + - MODEL_EVALUATION_RUN_FAILED + example: MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + type: string +apiModelEvaluationRunSummary: + description: Model Evaluation Run Summary - lightweight view used in run history + list. + properties: + candidate_model_name: + description: Name of the candidate model being evaluated. + example: example name + type: string + candidate_model_source: + $ref: '#/apiCandidateModelSource' + candidate_model_uuid: + description: UUID of the candidate model being evaluated. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + created_at: + description: Timestamp when the run was created. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + dataset_name: + description: Name of the dataset used for evaluation. + example: example name + type: string + dataset_uuid: + description: UUID of the dataset used for evaluation. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + eval_run_uuid: + description: UUID of the evaluation run. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + judge_model_name: + example: example name + type: string + judge_model_uuid: + description: Judge model used to score responses. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + name: + description: Name of the evaluation run. + example: example name + type: string + status: + $ref: '#/apiModelEvaluationRunStatus' + type: object +apiModelModalities: + description: Input/output modalities + properties: + input: + example: + - example string + items: + example: example string + type: string + type: array + output: + example: + - example string + items: + example: example string + type: string + type: array + type: object apiModelPrice: properties: attributes: @@ -4201,6 +6341,37 @@ apiModelPrice: $ref: '#/apiBillingPrice' type: array type: object +apiModelPricing: + description: Pricing per million tokens (aligns with existing ModelPrice pattern) + properties: + input_price_per_million: + example: 0.6 + format: double + type: number + output_price_per_million: + example: 0.9 + format: double + type: number + type: object +apiModelPricingEntry: + description: Pricing entry for a specific model. + properties: + model_name: + description: Model name (for display purposes). + example: example name + type: string + model_uuid: + description: Model UUID. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + pricing: + $ref: '#/apiTokenPricing' + prompt_count: + description: Number of prompts/rows routed to this model. + example: 123 + format: int64 + type: integer + type: object apiModelProvider: default: MODEL_PROVIDER_DIGITALOCEAN enum: @@ -4252,11 +6423,36 @@ apiModelPublic: properties: agreement: $ref: '#/apiAgreement' + benchmark_score: + description: Benchmark scores for this model, stored as arbitrary JSON + type: object + capabilities: + description: Model capabilities (inference, reasoning, vectorization, etc.) + example: + - example string + items: + example: example string + type: string + type: array + context_window: + description: Context window (maximum tokens) + example: "12345" + format: int64 + type: string created_at: description: Creation date / time example: "2021-01-01T00:00:00Z" format: date-time type: string + description: + description: Model description + example: example string + type: string + endpoints: + description: Available endpoints and their capabilities + items: + $ref: '#/apiModelEndpoint' + type: array id: description: Human-readable model identifier example: llama3.3-70b-instruct @@ -4281,33 +6477,266 @@ apiModelPublic: example: 123 format: int64 type: integer + lifecycle_status: + description: Lifecycle status of the model (internal, public-preview, active, + deprecated, end_of_life) + example: active + type: string + modalities: + $ref: '#/apiModelModalities' + name: + description: Display name of the model + example: Llama 3.3 Instruct (70B) + type: string + parameter_count: + description: Parameter count in billions + example: 123 + format: float + type: number + parent_uuid: + description: Unique id of the model, this model is based on + example: '"12345678-1234-1234-1234-123456789012"' + type: string + pricing: + $ref: '#/apiModelPricing' + provider: + $ref: '#/apiModelProvider' + reasoning_efforts: + description: Available reasoning efforts for this model + example: + - example string + items: + example: example string + type: string + type: array + settings: + description: Playground settings derived from model metadata + items: + $ref: '#/apiModelSetting' + type: array + thinking: + description: Whether this model supports extended thinking (Anthropic models) + example: true + type: boolean + type: + description: Model type (chat, embedding, image, reasoning, coding) + example: example string + type: string + updated_at: + description: Last modified + example: "2021-01-01T00:00:00Z" + format: date-time + type: string + upload_complete: + description: Model has been fully uploaded + example: true + type: boolean + url: + description: Download url + example: https://example.com/model.zip + type: string + uuid: + description: Unique id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + version: + $ref: '#/apiModelVersion' + type: object +apiModelRouter: + description: Model router + properties: + config: + $ref: '#/apiModelRouterConfig' + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + description: + description: Description + example: example string + type: string + name: + description: Name of the model router + example: example name + type: string + regions: + description: Target regions for the router + example: + - example string + items: + example: example string + type: string + type: array + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + description: Unique id + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object +apiModelRouterConfig: + properties: + fallback_models: + description: Router-level fallback models + example: + - example string + items: + example: example string + type: string + type: array + policies: + description: Task routing policies + items: + $ref: '#/apiModelRouterTaskPolicy' + type: array + type: object +apiModelRouterPreset: + description: Model router preset used to prefill new router configurations. + properties: + config: + $ref: '#/apiModelRouterConfig' + display_name: + description: Display name for UI surfaces + example: example name + type: string + long_description: + description: Long description for details views + example: example string + type: string + short_description: + description: Short description for list views + example: example string + type: string + slug: + description: Stable slug for routing usage + example: example string + type: string + type: object +apiModelRouterSelectionPolicy: + description: Selection policy preference for choosing among assigned models. + properties: + prefer: + description: 'One of: none, cheapest, fastest' + example: '"cheapest"' + type: string + type: object +apiModelRouterTaskDetails: + description: Task definition embedded in a model router config. + properties: + description: + description: Short task description + example: '"Summarize long-form text"' + type: string + name: + description: Task name + example: '"Custom Summarization"' + type: string + type: object +apiModelRouterTaskPolicy: + description: Model router policy + properties: + custom_task: + $ref: '#/apiModelRouterTaskDetails' + models: + description: Models assigned to the task + example: + - example string + items: + example: example string + type: string + type: array + selection_policy: + $ref: '#/apiModelRouterSelectionPolicy' + task_slug: + description: Task slug + example: '"summarization"' + type: string + type: object +apiModelRouterTaskPreset: + description: Task preset that can be referenced by slug in model router policies. + properties: + category: + description: Higher-level grouping used by the UI + example: example string + type: string + description: + description: Task description + example: example string + type: string + models: + description: Default models assigned to this task + example: + - example string + items: + example: example string + type: string + type: array name: - description: Display name of the model - example: Llama 3.3 Instruct (70B) + description: Display name + example: example name type: string - parent_uuid: - description: Unique id of the model, this model is based on - example: '"12345678-1234-1234-1234-123456789012"' + selection_policy: + $ref: '#/apiModelRouterSelectionPolicy' + tags: + description: Lightweight labels for filtering + example: + - example string + items: + example: example string + type: string + type: array + task_slug: + description: Task slug + example: example string type: string - updated_at: - description: Last modified - example: "2021-01-01T00:00:00Z" - format: date-time + type: object +apiModelSetting: + description: A configurable setting for a model in the playground + properties: + default_string: + description: String default value (for type="dropdown", e.g. "medium") + example: example string type: string - upload_complete: - description: Model has been fully uploaded - example: true - type: boolean - url: - description: Download url - example: https://example.com/model.zip + default_value: + description: Numeric default value (for type="number") + example: 0.7 + format: double + type: number + max: + description: Maximum allowed value (for type="number") + example: 1 + format: double + type: number + min: + description: Minimum allowed value (for type="number") + example: 0 + format: double + type: number + name: + description: Setting key name (e.g. "max_tokens", "temperature", "resolution") + example: temperature type: string - uuid: - description: Unique id - example: '"12345678-1234-1234-1234-123456789012"' + options: + description: Allowed values for dropdown selections (for type="dropdown") + example: + - example string + items: + example: example string + type: string + type: array + step: + description: Step increment for numeric settings (for type="number") + example: 123 + format: double + type: number + type: + description: 'Setting value type: "number" or "dropdown"' + example: number type: string - version: - $ref: '#/apiModelVersion' type: object apiModelUploadCompleteOutput: description: Information about an updated model @@ -4325,6 +6754,10 @@ apiModelUsecase: - MODEL_USECASE_GUARDRAIL: The model maybe used for guardrails - MODEL_USECASE_REASONING: The model usecase for reasoning - MODEL_USECASE_SERVERLESS: The model usecase for serverless inference + - MODEL_USECASE_EVALUATION_JUDGE: The model usecase for evaluation judge + - MODEL_USECASE_CODING: The model usecase for coding-optimized models + - MODEL_USECASE_AUDIO: The model usecase for audio models + - MODEL_USECASE_RERANKING: The model usecase for knowledge base reranking (cross-encoder) models enum: - MODEL_USECASE_UNKNOWN - MODEL_USECASE_AGENT @@ -4333,6 +6766,10 @@ apiModelUsecase: - MODEL_USECASE_GUARDRAIL - MODEL_USECASE_REASONING - MODEL_USECASE_SERVERLESS + - MODEL_USECASE_EVALUATION_JUDGE + - MODEL_USECASE_CODING + - MODEL_USECASE_AUDIO + - MODEL_USECASE_RERANKING example: MODEL_USECASE_UNKNOWN type: string apiModelVersion: @@ -4375,6 +6812,22 @@ apiMoveAgentsToWorkspaceOutput: workspace: $ref: '#/apiWorkspace' type: object +apiNumericRange: + description: Numeric range with min, max, and default values for model tuning parameters. + properties: + default_value: + example: 123 + format: double + type: number + max: + example: 123 + format: double + type: number + min: + example: 123 + format: double + type: number + type: object apiOpenAIAPIKeyInfo: description: OpenAI API Key Info properties: @@ -4412,6 +6865,16 @@ apiOpenAIAPIKeyInfo: example: 123e4567-e89b-12d3-a456-426614174000 type: string type: object +apiOpenSearchPlanSize: + default: OPEN_SEARCH_PLAN_SIZE_UNSPECIFIED + enum: + - OPEN_SEARCH_PLAN_SIZE_UNSPECIFIED + - OPEN_SEARCH_PLAN_SIZE_SMALL + - OPEN_SEARCH_PLAN_SIZE_MEDIUM + - OPEN_SEARCH_PLAN_SIZE_LARGE + - OPEN_SEARCH_PLAN_SIZE_EXTRA_LARGE + example: OPEN_SEARCH_PLAN_SIZE_UNSPECIFIED + type: string apiPages: description: Information about how to reach other pages properties: @@ -4432,6 +6895,42 @@ apiPages: example: example string type: string type: object +apiPerModelResultSummaries: + description: Wrapper for per-model summaries, used inside a oneof on ModelEvaluationRunResultSummary. + properties: + summaries: + items: + $ref: '#/apiPerModelResultSummary' + type: array + type: object +apiPerModelResultSummary: + description: Per-model breakdown of evaluation results for router evaluations. + properties: + metric_summaries: + description: Per-metric pass/fail for only this model's prompts. + items: + $ref: '#/apiMetricResultSummary' + type: array + model_name: + description: Name/slug of the model (matches routed_model from results). + example: example name + type: string + performance_metrics: + $ref: '#/apiPerformanceMetrics' + prompt_count: + description: Number of prompts routed to this model. + example: 123 + format: int64 + type: integer + type: object +apiPerformanceMetrics: + description: All performance metrics are for the candidate model unless noted otherwise. + properties: + candidate_latency: + $ref: '#/apiLatencyMetrics' + token_usage: + $ref: '#/apiTokenUsage' + type: object apiPresignedUrlFile: description: A single file’s metadata in the request. properties: @@ -4585,6 +7084,18 @@ apiReleaseStatus: - RELEASE_STATUS_BUILDING example: RELEASE_STATUS_UNKNOWN type: string +apiRerankingConfiguration: + description: Configuration for cross-encoder reranking during retrieval. + properties: + enabled: + description: Whether reranking is enabled for retrieval + example: true + type: boolean + model: + description: Reranker model internal name + example: '"bge-reranker-v2-m3"' + type: string + type: object apiResourceUsage: description: Resource Usage Description properties: @@ -4620,6 +7131,12 @@ apiRetrievalMethod: - RETRIEVAL_METHOD_NONE example: RETRIEVAL_METHOD_UNKNOWN type: string +apiRetrieverSpan: + description: Retriever span + properties: + common: + $ref: '#/apiSpanCommon' + type: object apiRollbackToAgentVersionInputPublic: properties: uuid: @@ -4679,6 +7196,46 @@ apiRunEvaluationTestCaseOutput: type: string type: array type: object +apiRunMetricsOnlyEvaluationInputPublic: + description: Run metrics-only evaluation on pre-collected agent data. + properties: + data_path: + description: Spaces path to the uploaded evaluation records JSON (from presigned + URL upload). + example: '"evaluation-data/my-run-results.json"' + type: string + galileo_logstream_project_id: + description: Galileo logstream project ID (required when trace_ids is provided). + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + metric_uuids: + description: Metric UUIDs to evaluate against. + example: + - example string + items: + example: example string + type: string + type: array + run_name: + description: The name of the run. + example: '"my-local-agent-eval"' + type: string + star_metric: + $ref: '#/apiStarMetric' + trace_ids: + description: 'For trace-based evaluation: Galileo trace IDs (alternative to + data_path).' + example: + - example string + items: + example: example string + type: string + type: array + workspace_uuid: + description: Workspace UUID. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object apiScheduledIndexingInfo: description: Metadata for scheduled indexing entries properties: @@ -4764,6 +7321,36 @@ apiSpacesDataSource: example: example string type: string type: object +apiSpanCommon: + description: Common optional fields shared by all span types + properties: + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + duration_ns: + example: "12345" + format: int64 + type: string + metadata: + additionalProperties: + example: example string + type: string + description: Arbitrary structured metadata + type: object + status_code: + example: 123 + format: int32 + type: integer + tags: + description: Free-form tags for filtering/grouping + example: + - example string + items: + example: example string + type: string + type: array + type: object apiStarMetric: properties: metric_uuid: @@ -4787,6 +7374,20 @@ apiStarMetric: format: int32 type: integer type: object +apiStarMetricSummary: + description: Star metric summary with identifying details and threshold. + properties: + metric_name: + example: example name + type: string + metric_uuid: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + threshold: + example: 123 + format: float + type: number + type: object apiStartKnowledgeBaseIndexingJobInputPublic: description: StartKnowledgeBaseIndexingJobInputPublic description properties: @@ -4829,6 +7430,61 @@ apiTeamModelURLOutput: example: example string type: string type: object +apiTokenPricing: + description: Token pricing breakdown for a single model. + properties: + input_cost: + description: Cost of input tokens. + example: 123 + format: double + type: number + output_cost: + description: Cost of output tokens. + example: 123 + format: double + type: number + total_cost: + description: Total cost (input + output). + example: 123 + format: double + type: number + type: object +apiTokenUsage: + properties: + total_candidate_input_tokens: + example: "12345" + format: uint64 + type: string + total_candidate_output_tokens: + example: "12345" + format: uint64 + type: string + total_candidate_tokens: + example: "12345" + format: uint64 + type: string + total_judge_input_tokens: + example: "12345" + format: uint64 + type: string + total_judge_output_tokens: + example: "12345" + format: uint64 + type: string + total_judge_tokens: + example: "12345" + format: uint64 + type: string + type: object +apiToolSpan: + description: Tool span + properties: + common: + $ref: '#/apiSpanCommon' + tool_call_id: + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: object apiTrace: description: Represents a complete trace properties: @@ -4854,8 +7510,10 @@ apiTrace: type: array type: object apiTraceSpan: - description: Represents a span within a trace (e.g., LLM call, function call, etc.) + description: Represents a span within a trace (e.g., LLM call, tool call, etc.) properties: + agent: + $ref: '#/apiAgentSpan' created_at: description: When the span was created example: "2023-01-01T00:00:00Z" @@ -4865,6 +7523,8 @@ apiTraceSpan: description: Input data for the span (flexible structure - can be messages array, string, etc.) type: object + llm: + $ref: '#/apiLLMSpan' name: description: Name/identifier for the span example: example name @@ -4873,8 +7533,14 @@ apiTraceSpan: description: Output data from the span (flexible structure - can be message, string, etc.) type: object + retriever: + $ref: '#/apiRetrieverSpan' + tool: + $ref: '#/apiToolSpan' type: $ref: '#/apiTraceSpanType' + workflow: + $ref: '#/apiWorkflowSpan' type: object apiTraceSpanType: default: TRACE_SPAN_TYPE_UNKNOWN @@ -4884,6 +7550,8 @@ apiTraceSpanType: - TRACE_SPAN_TYPE_LLM - TRACE_SPAN_TYPE_RETRIEVER - TRACE_SPAN_TYPE_TOOL + - TRACE_SPAN_TYPE_AGENT + - TRACE_SPAN_TYPE_WORKFLOW example: TRACE_SPAN_TYPE_UNKNOWN type: string apiTracingServiceJWTOutput: @@ -5038,7 +7706,7 @@ apiUpdateAgentInput: agent_log_insights_enabled: example: "false" conversation_logs_enabled: - example: "false" + example: "true" vpc_uuid: example: '"12345678-1234-1234-1234-123456789012"' apiUpdateAgentInputPublic: @@ -5060,6 +7728,11 @@ apiUpdateAgentInputPublic: description: Optional anthropic key uuid for use with anthropic models example: '"12345678-1234-1234-1234-123456789012"' type: string + clear_mcp_servers: + description: When true, removes all MCP servers from the agent. Use this instead + of sending an empty mcp_servers array. + example: true + type: boolean conversation_logs_enabled: description: Optional update of conversation logs enabled example: true @@ -5087,10 +7760,18 @@ apiUpdateAgentInputPublic: example: 100 format: int64 type: integer + mcp_servers: + description: MCP (Model Context Protocol) servers to attach to the agent + items: + $ref: '#/apiMcpServer' + type: array model_provider_key_uuid: description: Optional Model Provider uuid for use with provider models example: '"12345678-1234-1234-1234-123456789012"' type: string + model_router_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + type: string model_uuid: description: Identifier for the foundation model. example: '"12345678-1234-1234-1234-123456789012"' @@ -5110,8 +7791,14 @@ apiUpdateAgentInputPublic: provide_citations: example: true type: boolean + reasoning_effort: + example: '"low"' + type: string retrieval_method: $ref: '#/apiRetrievalMethod' + router_preset_slug: + example: '"general"' + type: string tags: description: A set of abitrary tags to organize your agent example: @@ -5127,6 +7814,10 @@ apiUpdateAgentInputPublic: example: 0.7 format: float type: number + thinking_token_budget: + example: 123 + format: int64 + type: integer top_p: description: Defines the cumulative probability threshold for word selection, specified as a number between 0 and 1. Higher values allow for more diverse @@ -5213,6 +7904,34 @@ apiUpdateChatbotOutput: chatbot: $ref: '#/apiChatbot' type: object +apiUpdateCustomModelMetadataInputPublic: + description: Request to update custom model metadata (public) + properties: + description: + example: example string + type: string + name: + example: example name + type: string + tags: + $ref: '#/CustomModelTags' + uuid: + description: UUID of the custom model to update + example: a1b2c3d4-... + type: string + type: object +apiUpdateCustomModelMetadataOutput: + description: Response containing the updated custom model (internal) + properties: + model: + $ref: '#/apiCustomModel' + type: object +apiUpdateCustomModelMetadataOutputPublic: + description: Response containing the updated custom model (public) + properties: + model: + $ref: '#/apiCustomModel' + type: object apiUpdateEvaluationTestCaseInputPublic: properties: dataset_uuid: @@ -5262,11 +7981,11 @@ apiUpdateKnowledgeBaseDataSourceInputPublic: $ref: '#/apiChunkingOptions' data_source_uuid: description: Data Source ID (Path Parameter) - example: 98765432-1234-1234-1234-123456789012 + example: '"98765432-1234-1234-1234-123456789012"' type: string knowledge_base_uuid: description: Knowledge Base ID (Path Parameter) - example: 12345678-1234-1234-1234-123456789012 + example: '"12345678-1234-1234-1234-123456789012"' type: string type: object apiUpdateKnowledgeBaseDataSourceOutput: @@ -5280,11 +7999,7 @@ apiUpdateKnowledgeBaseInputPublic: properties: database_id: description: The id of the DigitalOcean database this knowledge base will use, - optiona. - example: '"12345678-1234-1234-1234-123456789012"' - type: string - embedding_model_uuid: - description: Identifier for the foundation model. + optional. example: '"12345678-1234-1234-1234-123456789012"' type: string name: @@ -5296,6 +8011,8 @@ apiUpdateKnowledgeBaseInputPublic: to example: '"12345678-1234-1234-1234-123456789012"' type: string + reranking_config: + $ref: '#/apiRerankingConfiguration' tags: description: Tags to organize your knowledge base. example: @@ -5393,6 +8110,45 @@ apiUpdateModelProviderKeyOutput: api_key_info: $ref: '#/apiModelProviderKeyInfo' type: object +apiUpdateModelRouterInputPublic: + description: Information about updating a model router + properties: + description: + description: Model router description + example: '"My Model Router Description"' + type: string + fallback_models: + items: + type: object + type: array + name: + description: Model router name + example: '"My Model Router"' + type: string + policies: + description: Router policies + items: + $ref: '#/apiModelRouterTaskPolicy' + type: array + regions: + description: Target regions for the router + example: + - example string + items: + example: example string + type: string + type: array + uuid: + description: Model router id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiUpdateModelRouterOutput: + description: Information about an updated model router + properties: + model_router: + $ref: '#/apiModelRouter' + type: object apiUpdateOpenAIAPIKeyInputPublic: description: UpdateOpenAIAPIKeyInputPublic is used to update an existing OpenAI API key for a specific agent. @@ -5483,6 +8239,19 @@ apiWebCrawlerDataSource: type: string type: array type: object +apiWorkflowSpan: + description: Workflow span - can contain child spans (agent, llm, tool, retriever) + properties: + common: + $ref: '#/apiSpanCommon' + spans: + description: |- + Child spans - must contain between 1 and 999 spans + Allowed types: agent, llm, tool, retriever (not workflow) + items: + $ref: '#/apiTraceSpan' + type: array + type: object apiWorkspace: properties: agents: @@ -5547,6 +8316,7 @@ dbaasClusterStatus: - RESTORING - POWERING_ON - UNHEALTHY + - UPGRADING example: CREATING type: string genaiapiRegion: @@ -5579,7 +8349,7 @@ protobufNullValue: `NullValue` is a singleton enumeration to represent the null value for the `Value` type union. - The JSON representation for `NullValue` is JSON `null`. + The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. enum: diff --git a/specification/resources/gen-ai/examples/curl/genai_create_model_eval_dataset_upload_presigned_urls.yml b/specification/resources/gen-ai/examples/curl/genai_create_model_eval_dataset_upload_presigned_urls.yml new file mode 100644 index 000000000..42822dd97 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_model_eval_dataset_upload_presigned_urls.yml @@ -0,0 +1,12 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation/datasets/file_upload_presigned_urls" \ + -d '{ + "files": [{ + "file_name": "dataset.jsonl", + "file_size": 2048 + }] + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_create_model_evaluation_run.yml b/specification/resources/gen-ai/examples/curl/genai_create_model_evaluation_run.yml new file mode 100644 index 000000000..c26668d28 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_model_evaluation_run.yml @@ -0,0 +1,15 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation_runs" \ + -d '{ + "name": "my-evaluation-run", + "candidate_model_uuid": "123e4567-e89b-12d3-a456-426614174000", + "judge_model_uuid": "223e4567-e89b-12d3-a456-426614174001", + "dataset_uuid": "323e4567-e89b-12d3-a456-426614174002", + "metric_uuids": [ + "423e4567-e89b-12d3-a456-426614174003" + ] + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_delete_custom_model.yml b/specification/resources/gen-ai/examples/curl/genai_delete_custom_model.yml new file mode 100644 index 000000000..99cf1007b --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_delete_custom_model.yml @@ -0,0 +1,5 @@ +lang: cURL +source: |- + curl -X DELETE \ + --header "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/custom_models/11f13e07-1e4f-1325-b542-ca68c578b04b" diff --git a/specification/resources/gen-ai/examples/curl/genai_get_evaluation_dataset_download_url.yml b/specification/resources/gen-ai/examples/curl/genai_get_evaluation_dataset_download_url.yml new file mode 100644 index 000000000..2e153812b --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_evaluation_dataset_download_url.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/evaluation_datasets/123e4567-e89b-12d3-a456-426614174000/download_url" diff --git a/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run.yml b/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run.yml new file mode 100644 index 000000000..e0035f6d5 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation_runs/123e4567-e89b-12d3-a456-426614174000" diff --git a/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run_results_download_url.yml b/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run_results_download_url.yml new file mode 100644 index 000000000..6f36477b8 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_model_evaluation_run_results_download_url.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation_runs/123e4567-e89b-12d3-a456-426614174000/results/download_url" diff --git a/specification/resources/gen-ai/examples/curl/genai_import_custom_model.yml b/specification/resources/gen-ai/examples/curl/genai_import_custom_model.yml new file mode 100644 index 000000000..f7e0d6bae --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_import_custom_model.yml @@ -0,0 +1,20 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/custom_models/import" \ + -d '{ + "name": "mymodelssss", + "source_type": "SOURCE_TYPE_HUGGINGFACE", + "source_ref": { + "repo_id": "Qwen/Qwen3-1.7B", + "access_type": "ACCESS_TYPE_PUBLIC" + }, + "description": "qwen base model", + "preferred_gpu_region": null, + "accept_terms_and_conditions": true, + "tags": { + "tags": ["base-model"] + } + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_list_custom_models.yml b/specification/resources/gen-ai/examples/curl/genai_list_custom_models.yml new file mode 100644 index 000000000..8490c4dd0 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_custom_models.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/custom_models" \ diff --git a/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_metrics.yml b/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_metrics.yml new file mode 100644 index 000000000..7d41944f2 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_metrics.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation_metrics" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_runs.yml b/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_runs.yml new file mode 100644 index 000000000..5c0d8663a --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_model_evaluation_runs.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/model_evaluation_runs" diff --git a/specification/resources/gen-ai/examples/curl/genai_update_custom_model_metadata.yml b/specification/resources/gen-ai/examples/curl/genai_update_custom_model_metadata.yml new file mode 100644 index 000000000..1f9da12fa --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_custom_model_metadata.yml @@ -0,0 +1,13 @@ +lang: cURL +source: |- + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/custom_models/11f13d93-a879-c342-b542-ca68c578b04b/metadata" \ + -d '{ + "name": "mytest-model-updated", + "description": "finetuned model with olympiad math data", + "tags": { + "tags": ["finetuned", "new"] + } + }' diff --git a/specification/resources/gen-ai/genai_create_model_eval_dataset_upload_presigned_urls.yml b/specification/resources/gen-ai/genai_create_model_eval_dataset_upload_presigned_urls.yml new file mode 100644 index 000000000..7d7e956c0 --- /dev/null +++ b/specification/resources/gen-ai/genai_create_model_eval_dataset_upload_presigned_urls.yml @@ -0,0 +1,40 @@ +description: To create presigned URLs for model evaluation dataset file upload, send + a POST request to `/v2/genai/model_evaluation/datasets/file_upload_presigned_urls`. +operationId: genai_create_model_eval_dataset_upload_presigned_urls +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateModelEvalDatasetUploadPresignedUrlsInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateDataSourceFileUploadPresignedUrlsOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:create +summary: Create Presigned URLs for Model Evaluation Dataset File Upload +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_create_model_eval_dataset_upload_presigned_urls.yml diff --git a/specification/resources/gen-ai/genai_create_model_evaluation_run.yml b/specification/resources/gen-ai/genai_create_model_evaluation_run.yml new file mode 100644 index 000000000..12ea76d15 --- /dev/null +++ b/specification/resources/gen-ai/genai_create_model_evaluation_run.yml @@ -0,0 +1,39 @@ +description: To create a model evaluation run, send a POST request to `/v2/genai/model_evaluation_runs`. +operationId: genai_create_model_evaluation_run +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateModelEvaluationRunInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateModelEvaluationRunOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:create +summary: Create Model Evaluation Run +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_create_model_evaluation_run.yml diff --git a/specification/resources/gen-ai/genai_delete_custom_model.yml b/specification/resources/gen-ai/genai_delete_custom_model.yml new file mode 100644 index 000000000..d896021c4 --- /dev/null +++ b/specification/resources/gen-ai/genai_delete_custom_model.yml @@ -0,0 +1,42 @@ +description: To delete a custom model, send a DELETE request to `/v2/genai/custom_models/{uuid}`. +operationId: genai_delete_custom_model +parameters: +- description: UUID of the custom model to delete + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiDeleteCustomModelOutputPublic + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:delete +summary: Delete Custom Model +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_delete_custom_model.yml diff --git a/specification/resources/gen-ai/genai_get_evaluation_dataset_download_url.yml b/specification/resources/gen-ai/genai_get_evaluation_dataset_download_url.yml new file mode 100644 index 000000000..c3febbb71 --- /dev/null +++ b/specification/resources/gen-ai/genai_get_evaluation_dataset_download_url.yml @@ -0,0 +1,43 @@ +description: To get a presigned download URL for an evaluation dataset, send a GET + request to `/v2/genai/evaluation_datasets/{dataset_uuid}/download_url`. +operationId: genai_get_evaluation_dataset_download_url +parameters: +- description: UUID of the evaluation dataset. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: dataset_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetEvaluationDatasetDownloadURLOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: Get Download URL for Evaluation Dataset +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_get_evaluation_dataset_download_url.yml diff --git a/specification/resources/gen-ai/genai_get_model_evaluation_run.yml b/specification/resources/gen-ai/genai_get_model_evaluation_run.yml new file mode 100644 index 000000000..21cf2414c --- /dev/null +++ b/specification/resources/gen-ai/genai_get_model_evaluation_run.yml @@ -0,0 +1,54 @@ +description: To retrieve a model evaluation run, send a GET request to `/v2/genai/model_evaluation_runs/{eval_run_uuid}`. +operationId: genai_get_model_evaluation_run +parameters: +- description: UUID of the evaluation run. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: eval_run_uuid + required: true + schema: + type: string +- description: Page number for per-prompt results (defaults to 1). + example: 1 + in: query + name: page + schema: + type: integer +- description: Number of per-prompt results per page (defaults to 50). + example: 1 + in: query + name: per_page + schema: + type: integer +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetModelEvaluationRunOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: Retrieve Model Evaluation Run +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_get_model_evaluation_run.yml diff --git a/specification/resources/gen-ai/genai_get_model_evaluation_run_results_download_url.yml b/specification/resources/gen-ai/genai_get_model_evaluation_run_results_download_url.yml new file mode 100644 index 000000000..b7921586b --- /dev/null +++ b/specification/resources/gen-ai/genai_get_model_evaluation_run_results_download_url.yml @@ -0,0 +1,43 @@ +description: To get a presigned download URL for model evaluation run results (gzip-compressed + JSON), send a GET request to `/v2/genai/model_evaluation_runs/{eval_run_uuid}/results/download_url`. +operationId: genai_get_model_evaluation_run_results_download_url +parameters: +- description: UUID of the evaluation run. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: eval_run_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetModelEvaluationRunResultsDownloadURLOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: Get Download URL for Model Evaluation Run Results +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_get_model_evaluation_run_results_download_url.yml diff --git a/specification/resources/gen-ai/genai_import_custom_model.yml b/specification/resources/gen-ai/genai_import_custom_model.yml new file mode 100644 index 000000000..c54c4f646 --- /dev/null +++ b/specification/resources/gen-ai/genai_import_custom_model.yml @@ -0,0 +1,39 @@ +description: To import a custom model, send a POST request to `/v2/gen-ai/custom_models/import`. +operationId: genai_import_custom_model +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiImportCustomModelInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiImportCustomModelOutputPublic + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:create +summary: Import Custom Model +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_import_custom_model.yml diff --git a/specification/resources/gen-ai/genai_list_custom_models.yml b/specification/resources/gen-ai/genai_list_custom_models.yml new file mode 100644 index 000000000..8efef0863 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_custom_models.yml @@ -0,0 +1,60 @@ +description: To list custom models, send a GET request to `/v2/gen-ai/custom_models`. +operationId: genai_list_custom_models +parameters: +- description: Page number for pagination. + example: 1 + in: query + name: page + schema: + type: integer +- description: Number of items per page. + example: 1 + in: query + name: per_page + schema: + type: integer +- description: Filter by model status. + example: STATUS_UNSPECIFIED + in: query + name: status + schema: + default: STATUS_UNSPECIFIED + enum: + - STATUS_UNSPECIFIED + - STATUS_IMPORTING + - STATUS_READY + - STATUS_FAILED + - STATUS_DELETED + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiListCustomModelsOutputPublic + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: List Custom Models +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_list_custom_models.yml diff --git a/specification/resources/gen-ai/genai_list_model_evaluation_metrics.yml b/specification/resources/gen-ai/genai_list_model_evaluation_metrics.yml new file mode 100644 index 000000000..5f3060b1a --- /dev/null +++ b/specification/resources/gen-ai/genai_list_model_evaluation_metrics.yml @@ -0,0 +1,35 @@ +description: To list all available metrics for model evaluation, send a GET request + to `/v2/genai/model_evaluation_metrics`. +operationId: genai_list_model_evaluation_metrics +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiListModelEvaluationMetricsOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: List Model Evaluation Metrics +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_list_model_evaluation_metrics.yml diff --git a/specification/resources/gen-ai/genai_list_model_evaluation_runs.yml b/specification/resources/gen-ai/genai_list_model_evaluation_runs.yml new file mode 100644 index 000000000..1f3761b4c --- /dev/null +++ b/specification/resources/gen-ai/genai_list_model_evaluation_runs.yml @@ -0,0 +1,70 @@ +description: To list model evaluation runs, send a GET request to `/v2/genai/model_evaluation_runs`. +operationId: genai_list_model_evaluation_runs +parameters: +- description: UUID of the evaluation preset to filter by. + example: 123e4567-e89b-12d3-a456-426614174000 + in: query + name: eval_preset_uuid + schema: + type: string +- description: Filter by evaluation run status. + example: MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + in: query + name: status + schema: + default: MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + enum: + - MODEL_EVALUATION_RUN_STATUS_UNSPECIFIED + - MODEL_EVALUATION_RUN_QUEUED + - MODEL_EVALUATION_RUN_RUNNING_DATASET + - MODEL_EVALUATION_RUN_EVALUATING_RESULTS + - MODEL_EVALUATION_RUN_CANCELLING + - MODEL_EVALUATION_RUN_CANCELLED + - MODEL_EVALUATION_RUN_SUCCESSFUL + - MODEL_EVALUATION_RUN_PARTIALLY_SUCCESSFUL + - MODEL_EVALUATION_RUN_FAILED + type: string +- description: Page number. + example: 1 + in: query + name: page + schema: + type: integer +- description: Items per page. + example: 1 + in: query + name: per_page + schema: + type: integer +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiListModelEvaluationRunsOutput + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:read +summary: List Model Evaluation Runs +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_list_model_evaluation_runs.yml diff --git a/specification/resources/gen-ai/genai_update_custom_model_metadata.yml b/specification/resources/gen-ai/genai_update_custom_model_metadata.yml new file mode 100644 index 000000000..283c9ab01 --- /dev/null +++ b/specification/resources/gen-ai/genai_update_custom_model_metadata.yml @@ -0,0 +1,47 @@ +description: To update custom model metadata, send a PATCH request to `/v2/gen-ai/custom_models/{uuid}/metadata`. +operationId: genai_update_custom_model_metadata +parameters: +- description: UUID of the custom model to update + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateCustomModelMetadataInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateCustomModelMetadataOutputPublic + description: A successful response. + headers: + ratelimit-limit: + $ref: ../../shared/headers.yml#/ratelimit-limit + ratelimit-remaining: + $ref: ../../shared/headers.yml#/ratelimit-remaining + ratelimit-reset: + $ref: ../../shared/headers.yml#/ratelimit-reset + "401": + $ref: ../../shared/responses/unauthorized.yml + "404": + $ref: ../../shared/responses/not_found.yml + "429": + $ref: ../../shared/responses/too_many_requests.yml + "500": + $ref: ../../shared/responses/server_error.yml + default: + $ref: ../../shared/responses/unexpected_error.yml +security: +- bearer_auth: + - genai:default +summary: Update Custom Model Metadata +tags: +- GradientAI Platform +x-codeSamples: +- $ref: examples/curl/genai_update_custom_model_metadata.yml diff --git a/spectral/functions/ensurePropertiesExample.js b/spectral/functions/ensurePropertiesExample.js index 385d75490..ef99294ed 100644 --- a/spectral/functions/ensurePropertiesExample.js +++ b/spectral/functions/ensurePropertiesExample.js @@ -21,6 +21,7 @@ export default (input, _, context) => { if ( + typeof input !== 'object' || input === null || context.path.join('.').includes('properties.properties') || // skip if this is an example context.path.includes('example') || diff --git a/spectral/functions/validateOpIDNaming.js b/spectral/functions/validateOpIDNaming.js index d2f95e9b4..b2f08a839 100644 --- a/spectral/functions/validateOpIDNaming.js +++ b/spectral/functions/validateOpIDNaming.js @@ -7,10 +7,10 @@ const DELETE = ["delete", "destroy", "remove", "purge", "untag", "unassign", "detach"]; const GET = ["get", "list"]; -const PATCH = ["patch"]; +const PATCH = ["patch", "update"]; const POST = ["create", "post", "add", "tag", "install", "reset", "upgrade", "recycle", "run", "retry", "validate", "assign", "unassign", "cancel", "list", - "destroy", "delete", "update", "attach", "revert", "commit", "restart"]; + "destroy", "delete", "update", "attach", "revert", "commit", "restart", "import"]; const PUT = ["update", "promote", "install", "regenerate", "cancel", "rollback"]; const articles = ["_a_", "_an_", "_the_"]