diff --git a/specification/DigitalOcean-public.v2.yaml b/specification/DigitalOcean-public.v2.yaml index d915825b..3ae0f011 100644 --- a/specification/DigitalOcean-public.v2.yaml +++ b/specification/DigitalOcean-public.v2.yaml @@ -291,6 +291,14 @@ tags: The Serverless Functions API currently only supports creating and managing namespaces. + + - name: GenAI Platform (Private Preview) + description: |- + **The GenAI Platform API is in [private preview](https://docs.digitalocean.com/platform/product-lifecycle/#private-preview) for select customers.** + + The API lets you build GPU-powered AI agents with pre-built or custom foundation models, function and agent routes, and RAG pipelines with knowledge bases. + + - name: Image Actions description: |- Image actions are commands that can be given to a DigitalOcean image. In @@ -1807,6 +1815,155 @@ paths: $ref: 'resources/uptime/delete_alert.yml' + + /v2/gen-ai/agents: + get: + $ref: 'resources/gen-ai/genai_list_agents.yml' + + post: + $ref: 'resources/gen-ai/genai_create_agent.yml' + + + /v2/gen-ai/agents/{agent_uuid}/api_keys: + get: + $ref: 'resources/gen-ai/genai_list_agent_api_keys.yml' + + post: + $ref: 'resources/gen-ai/genai_create_agent_api_key.yml' + + + /v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}: + put: + $ref: 'resources/gen-ai/genai_update_agent_api_key.yml' + + delete: + $ref: 'resources/gen-ai/genai_delete_agent_api_key.yml' + + + /v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate: + put: + $ref: 'resources/gen-ai/genai_regenerate_agent_api_key.yml' + + + /v2/gen-ai/agents/{agent_uuid}/functions: + post: + $ref: 'resources/gen-ai/genai_attach_agent_function.yml' + + + /v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}: + delete: + $ref: 'resources/gen-ai/genai_detach_agent_function.yml' + + put: + $ref: 'resources/gen-ai/genai_update_agent_function.yml' + + + /v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}: + delete: + $ref: 'resources/gen-ai/genai_detach_knowledge_base.yml' + + post: + $ref: 'resources/gen-ai/genai_attach_knowledge_base.yml' + + + /v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}: + delete: + $ref: 'resources/gen-ai/genai_detach_agent.yml' + + post: + $ref: 'resources/gen-ai/genai_attach_agent.yml' + + put: + $ref: 'resources/gen-ai/genai_update_attached_agent.yml' + + + /v2/gen-ai/agents/{uuid}: + delete: + $ref: 'resources/gen-ai/genai_delete_agent.yml' + + get: + $ref: 'resources/gen-ai/genai_get_agent.yml' + + put: + $ref: 'resources/gen-ai/genai_update_agent.yml' + + + /v2/gen-ai/agents/{uuid}/child_agents: + get: + $ref: 'resources/gen-ai/genai_get_agent_children.yml' + + + /v2/gen-ai/agents/{uuid}/deployment_visibility: + put: + $ref: 'resources/gen-ai/genai_update_agent_deployment_visibility.yml' + + + /v2/gen-ai/indexing_jobs: + get: + $ref: 'resources/gen-ai/genai_list_indexing_jobs.yml' + + post: + $ref: 'resources/gen-ai/genai_create_indexing_job.yml' + + + /v2/gen-ai/indexing_jobs/{indexing_job_uuid}/data_sources: + get: + $ref: 'resources/gen-ai/genai_list_indexing_job_data_sources.yml' + + + /v2/gen-ai/indexing_jobs/{uuid}: + get: + $ref: 'resources/gen-ai/genai_get_indexing_job.yml' + + + /v2/gen-ai/indexing_jobs/{uuid}/cancel: + put: + $ref: 'resources/gen-ai/genai_cancel_indexing_job.yml' + + + /v2/gen-ai/knowledge_bases: + get: + $ref: 'resources/gen-ai/genai_list_knowledge_bases.yml' + + post: + $ref: 'resources/gen-ai/genai_create_knowledge_base.yml' + + + /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources: + post: + $ref: 'resources/gen-ai/genai_create_knowledge_base_data_source.yml' + + get: + $ref: 'resources/gen-ai/genai_list_knowledge_base_data_sources.yml' + + + /v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid}: + delete: + $ref: 'resources/gen-ai/genai_delete_knowledge_base_data_source.yml' + + + /v2/gen-ai/knowledge_bases/{uuid}: + get: + $ref: 'resources/gen-ai/genai_get_knowledge_base.yml' + + put: + $ref: 'resources/gen-ai/genai_update_knowledge_base.yml' + + delete: + $ref: 'resources/gen-ai/genai_delete_knowledge_base.yml' + + + /v2/gen-ai/models: + get: + $ref: 'resources/gen-ai/genai_list_models.yml' + + + /v2/gen-ai/regions: + get: + $ref: 'resources/gen-ai/genai_list_datacenter_regions.yml' + + + components: securitySchemes: bearer_auth: diff --git a/specification/resources/gen-ai/definitions.yml b/specification/resources/gen-ai/definitions.yml new file mode 100644 index 00000000..a0f707a0 --- /dev/null +++ b/specification/resources/gen-ai/definitions.yml @@ -0,0 +1,2665 @@ +apiAcceptAgreementOutput: + description: AcceptAgreementOutput Description + properties: + team_agreement: + $ref: '#/apiTeamAgreement' + type: object +apiAgent: + description: An Agent + properties: + anthropic_api_key: + $ref: '#/apiAnthropicAPIKeyInfo' + api_key_infos: + description: Api key infos + items: + $ref: '#/apiAgentAPIKeyInfo' + type: array + api_keys: + description: Api keys + items: + $ref: '#/apiAgentAPIKey' + type: array + chatbot: + $ref: '#/apiChatbot' + chatbot_identifiers: + description: Chatbot identifiers + items: + $ref: '#/apiAgentChatbotIdentifier' + type: array + child_agents: + description: Child agents + items: + $ref: '#/apiAgent' + type: array + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + deployment: + $ref: '#/apiDeployment' + description: + description: Description of agent + example: '"example string"' + type: string + functions: + items: + $ref: '#/apiAgentFunction' + type: array + guardrails: + description: The guardrails the agent is attached to + items: + $ref: '#/apiAgentGuardrail' + type: array + if_case: + example: '"example string"' + type: string + instruction: + description: Agent instruction. Instructions help your agent to perform its + job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) + for best practices. + example: '"example string"' + type: string + k: + example: 123 + format: int64 + type: integer + knowledge_bases: + description: Knowledge bases + items: + $ref: '#/apiKnowledgeBase' + type: array + max_tokens: + example: 123 + format: int64 + type: integer + model: + $ref: '#/apiModel' + name: + description: Agent name + example: '"example name"' + type: string + parent_agents: + description: Parent agents + items: + $ref: '#/apiAgent' + type: array + project_id: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + region: + description: Region code + example: '"example string"' + type: string + route_created_at: + description: Creation of route date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + route_created_by: + example: '"12345"' + format: uint64 + type: string + route_name: + description: Route name + example: '"example name"' + type: string + route_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + tags: + description: Agent tag to organize related resources + example: + - example string + items: + example: '"example string"' + type: string + type: array + temperature: + example: 123 + format: float + type: number + template: + $ref: '#/apiAgentTemplate' + top_p: + example: 123 + format: float + type: number + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + url: + description: Access your agent under this url + example: '"example string"' + type: string + user_id: + description: Id of user that created the agent + example: '"12345"' + format: uint64 + type: string + uuid: + description: Unique agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAgentAPIKey: + description: Agent API Key + properties: + api_key: + description: Api key + example: '"example string"' + type: string + type: object +apiAgentAPIKeyInfo: + description: Agent API Key Info + properties: + created_at: + description: Creation date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + created_by: + description: Created by + example: '"12345"' + format: uint64 + type: string + deleted_at: + description: Deleted date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + name: + description: Name + example: '"example name"' + type: string + secret_key: + example: '"example string"' + type: string + uuid: + description: Uuid + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAgentChatbotIdentifier: + description: Agent Chatbot Identifier + properties: + agent_chatbot_identifier: + description: Agent chatbot identifier + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAgentFunction: + description: Description missing + properties: + api_key: + description: Api key + example: '"example string"' + type: string + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + description: + description: Agent description + example: '"example string"' + type: string + faas_name: + example: '"example name"' + type: string + faas_namespace: + example: '"example name"' + type: string + input_schema: + type: object + name: + description: Name + example: '"example name"' + type: string + output_schema: + type: object + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + url: + description: Download your agent here + example: '"example string"' + type: string + uuid: + description: Unique id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAgentGuardrail: + description: A Agent Guardrail + properties: + agent_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + created_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + default_response: + example: '"example string"' + type: string + description: + example: '"example string"' + type: string + guardrail_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + is_attached: + example: true + type: boolean + is_default: + example: true + type: boolean + metadata: + type: object + name: + example: '"example name"' + type: string + priority: + example: 123 + format: int32 + type: integer + type: + $ref: '#/apiGuardrailType' + updated_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAgentModelUsage: + properties: + agent_name: + description: Agent name + example: '"example name"' + type: string + agent_uuid: + description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + requests_used: + description: Requests used + example: '"12345"' + format: uint64 + type: string + tokens_used: + description: Tokens used + example: '"12345"' + format: uint64 + type: string + type: object +apiAgentPrice: + properties: + attributes: + items: + $ref: '#/apiBillingAttribute' + type: array + display_name: + example: '"example name"' + type: string + model_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + prices: + items: + $ref: '#/apiBillingPrice' + type: array + type: object +apiAgentPublic: + description: A GenAI Agent's configuration + properties: + chatbot: + $ref: '#/apiChatbot' + chatbot_identifiers: + description: Chatbot identifiers + items: + $ref: '#/apiAgentChatbotIdentifier' + type: array + created_at: + description: Creation date / time + example: "2021-01-01T00:00:00Z" + format: date-time + type: string + deployment: + $ref: '#/apiDeployment' + description: + description: Description of agent + example: This is a chatbot that can help you with your questions. + type: string + if_case: + description: Instructions to the agent on how to use the route + example: if talking about the weather use this route + type: string + instruction: + description: Agent instruction. Instructions help your agent to perform its + job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) + for best practices. + example: Hello, how can I help you? + type: string + k: + description: How many results should be considered from an attached knowledge + base + example: 5 + format: int64 + type: integer + max_tokens: + description: Specifies the maximum number of tokens the model can process in + a single input or output, set as a number between 1 and 512. This determines + the length of each response. + example: 100 + format: int64 + type: integer + model: + $ref: '#/apiModel' + name: + description: Agent name + example: My Agent + type: string + project_id: + description: The DigitalOcean project ID associated with the agent + example: 12345678-1234-1234-1234-123456789012 + type: string + region: + description: Region code + example: '"tor1"' + type: string + route_created_at: + description: Creation of route date / time + example: "2021-01-01T00:00:00Z" + format: date-time + type: string + route_created_by: + description: Id of user that created the route + example: "12345678" + format: uint64 + type: string + route_name: + description: Route name + example: Route Name + type: string + route_uuid: + description: Route uuid + example: '"12345678-1234-1234-1234-123456789012"' + type: string + tags: + description: A set of abitrary tags to organize your agent + example: + - example string + items: + example: '"example string"' + type: string + type: array + temperature: + description: Controls the model’s creativity, specified as a number between + 0 and 1. Lower values produce more predictable and conservative responses, + while higher values encourage creativity and variation. + example: 0.5 + format: float + type: number + template: + $ref: '#/apiAgentTemplate' + 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 + outputs, while lower values ensure focused and coherent responses. + example: 0.9 + format: float + type: number + updated_at: + description: Last modified + example: "2021-01-01T00:00:00Z" + format: date-time + type: string + url: + description: Access your agent under this url + example: https://example.com/agent + type: string + user_id: + description: Id of user that created the agent + example: "12345678" + format: uint64 + type: string + uuid: + description: Unique agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiAgentTemplate: + description: Represents an AgentTemplate entity + properties: + created_at: + description: The agent template's creation date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + description: + description: Description of the agent template + example: '"example string"' + type: string + instruction: + description: Instructions for the agent template + example: '"example string"' + type: string + k: + description: The 'k' value for the agent template + example: 123 + format: int64 + type: integer + knowledge_bases: + description: List of knowledge bases associated with the agent template + items: + $ref: '#/apiKnowledgeBase' + type: array + max_tokens: + description: The max_tokens setting for the agent template + example: 123 + format: int64 + type: integer + model: + $ref: '#/apiModel' + name: + description: Name of the agent template + example: '"example name"' + type: string + temperature: + description: The temperature setting for the agent template + example: 123 + format: float + type: number + top_p: + description: The top_p setting for the agent template + example: 123 + format: float + type: number + updated_at: + description: The agent template's last updated date + 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 +apiAgreement: + description: Agreement Description + properties: + description: + example: '"example string"' + type: string + name: + example: '"example name"' + type: string + url: + example: '"example string"' + type: string + uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAnthropicAPIKeyInfo: + description: Anthropic API Key Info + properties: + created_at: + description: Key creation date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + created_by: + description: Created by user id from DO + example: '"12345"' + format: uint64 + type: string + deleted_at: + description: Key deleted date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + name: + description: Name + example: '"example name"' + type: string + updated_at: + description: Key last updated date + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + description: Uuid + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiAuditHeader: + description: An alternative way to provide auth information. for internal use only. + properties: + actor_id: + example: '"12345"' + format: uint64 + type: string + actor_ip: + example: '"example string"' + type: string + actor_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + context_urn: + example: '"example string"' + type: string + origin_application: + example: '"example string"' + type: string + user_id: + example: '"12345"' + format: uint64 + type: string + user_uuid: + 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 + 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 +apiChatbot: + description: A Chatbot + properties: + 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 +apiCreateAgentAPIKeyInputPublic: + properties: + agent_uuid: + description: Agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: A human friendly name to identify the key + example: Production Key + type: string + type: object +apiCreateAgentAPIKeyOutput: + properties: + api_key_info: + $ref: '#/apiAgentAPIKeyInfo' + type: object +apiCreateAgentFromTemplateInputPublic: + properties: + project_id: + example: '"12345678-1234-1234-1234-123456789012"' + region: + example: '"tor1"' + template_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiCreateAgentFromTemplateOutput: + properties: + agent: + $ref: '#/apiAgent' + type: object +apiCreateAgentInputPublic: + description: Parameters for Agent Creation + properties: + description: + description: A text description of the agent, not used in inference + example: '"My Agent Description"' + type: string + instruction: + description: Agent instruction. Instructions help your agent to perform its + job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) + for best practices. + example: '"You are an agent who thinks deeply about the world"' + type: string + knowledge_base_uuid: + description: Ids of the knowledge base(s) to attach to the agent + example: + - example string + items: + example: '"example string"' + type: string + type: array + model_uuid: + description: Identifier for the foundation model. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: Agent name + example: '"My Agent"' + type: string + project_id: + description: The id of the DigitalOcean project this agent will belong to + example: '"12345678-1234-1234-1234-123456789012"' + type: string + region: + description: The DigitalOcean region to deploy your agent in + example: '"tor1"' + type: string + tags: + description: Agent tag to organize related resources + example: + - example string + items: + example: '"example string"' + type: string + type: array + type: object +apiCreateAgentOutput: + description: Information about a newly created Agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiCreateAnthropicAPIKeyOutput: + description: CreateAnthropicAPIKeyOutput is used to return the newly created Anthropic + API key. + properties: + api_key_info: + $ref: '#/apiAnthropicAPIKeyInfo' + type: object +apiCreateChatbotInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiCreateChatbotOutput: + description: Info about a newly created chatbot + properties: + chatbot: + $ref: '#/apiChatbot' + type: object +apiCreateDataSourceFileUploadPresignedUrlsOutput: + description: Response with pre-signed urls to upload files. + properties: + request_id: + description: The ID generated for the request for Presigned URLs. + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + uploads: + description: A list of generated presigned URLs and object keys, one per file. + items: + $ref: '#/apiFilePresignedUrlResponse' + type: array + type: object +apiCreateGuardrailOutput: + description: CreateGuardrailOutput description + properties: + guardrail: + $ref: '#/apiGuardrail' + type: object +apiCreateKnowledgeBaseDataSourceInputPublic: + description: Data to create a knowledge base data source + properties: + file_upload_data_source: + $ref: '#/apiFileUploadDataSource' + knowledge_base_uuid: + description: Knowledge base id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + spaces_data_source: + $ref: '#/apiSpacesDataSource' + type: object +apiCreateKnowledgeBaseDataSourceOutput: + description: Information about a newly created knowldege base data source + properties: + knowledge_base_data_source: + $ref: '#/apiKnowledgeBaseDataSource' + type: object +apiCreateKnowledgeBaseInputPublic: + description: Data to create a new knowledge base. + properties: + database_id: + description: |- + Identifier of the DigitalOcean OpenSearch database this knowledge base will use, optional. + If not provided, we create a new database for the knowledge base in + the same region as the knowledge base. + 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. + items: + $ref: '#/apiKBDataSource' + type: array + embedding_model_uuid: + description: Identifier for the [embedding model](https://docs.digitalocean.com/products/genai-platform/details/models/#embedding-models). + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: Name of the knowledge base. + example: '"My Knowledge Base"' + type: string + project_id: + description: Identifier of the DigitalOcean project this knowledge base will + belong to. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + region: + description: The datacenter region to deploy the knowledge base in. + example: '"tor1"' + type: string + tags: + description: Tags to organize your knowledge base. + example: + - example string + items: + example: '"example string"' + type: string + type: array + vpc_uuid: + description: The VPC to deploy the knowledge base database in + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiCreateKnowledgeBaseOutput: + description: Information about a newly created knowledge base + properties: + knowledge_base: + $ref: '#/apiKnowledgeBase' + type: object +apiCreateModelOutput: + description: Information about a newly created model + properties: + model: + $ref: '#/apiModel' + 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 +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 +apiDeleteGuardrailOutput: + description: DeleteGuardrailOutput description + properties: + uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiDeleteKnowledgeBaseDataSourceInputPublic: + properties: + data_source_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + knowledge_base_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteKnowledgeBaseDataSourceOutput: + description: Information about a newly deleted knowledge base data source + properties: + data_source_uuid: + description: Data source id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + knowledge_base_uuid: + description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiDeleteKnowledgeBaseInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiDeleteKnowledgeBaseOutput: + description: Information about a deleted knowledge base + properties: + uuid: + description: The id of the deleted knowledge base + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiDeployment: + description: Description of deployment + properties: + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + name: + description: Name + example: '"example name"' + type: string + status: + $ref: '#/apiDeploymentStatus' + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + url: + description: Access your deployed agent here + example: '"example string"' + type: string + uuid: + description: Unique id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + visibility: + $ref: '#/apiDeploymentVisibility' + type: object +apiDeploymentStatus: + default: STATUS_UNKNOWN + enum: + - STATUS_UNKNOWN + - STATUS_WAITING_FOR_DEPLOYMENT + - STATUS_DEPLOYING + - STATUS_RUNNING + - STATUS_FAILED + - STATUS_WAITING_FOR_UNDEPLOYMENT + - STATUS_UNDEPLOYING + - STATUS_UNDEPLOYMENT_FAILED + - STATUS_DELETED + example: STATUS_UNKNOWN + type: string +apiDeploymentVisibility: + default: VISIBILITY_UNKNOWN + description: |- + - VISIBILITY_UNKNOWN: The status of the deployment is unknown + - VISIBILITY_DISABLED: The deployment is disabled and will no longer service requests + - VISIBILITY_PLAYGROUND: Deprecated: No longer a valid state + - VISIBILITY_PUBLIC: The deployment is public and will service requests from the public internet + - VISIBILITY_PRIVATE: The deployment is private and will only service requests from other agents, or through API keys + enum: + - VISIBILITY_UNKNOWN + - VISIBILITY_DISABLED + - VISIBILITY_PLAYGROUND + - VISIBILITY_PUBLIC + - VISIBILITY_PRIVATE + example: VISIBILITY_UNKNOWN + type: string +apiFilePresignedUrlResponse: + description: Detailed info about each presigned URL returned to the client. + properties: + expires_at: + description: The time the url expires at. + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + object_key: + description: The unique object key to store the file as. + example: '"example string"' + type: string + original_file_name: + description: The original file name. + example: '"example name"' + type: string + presigned_url: + description: The actual presigned URL the client can use to upload the file + directly. + example: '"example string"' + type: string + type: object +apiFileUploadDataSource: + description: File to upload as data source for knowledge base. + properties: + original_file_name: + description: The original file name + example: '"example name"' + type: string + size_in_bytes: + description: The size of the file in bytes + example: '"12345"' + format: uint64 + type: string + stored_object_key: + description: The object key the file was stored as + example: '"example string"' + type: string + type: object +apiGetAgentInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetAgentOutput: + description: One Agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiGetAgentOutputPublic: + description: One Agent + properties: + agent: + $ref: '#/apiAgentPublic' + type: object +apiGetAgentTemplateInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetAgentTemplateOutput: + properties: + template: + $ref: '#/apiAgentTemplate' + type: object +apiGetAgentUsageInputPublic: + properties: + start: + example: '"2021-01-01T00:00:00Z"' + stop: + example: '"2021-01-02T00:00:00Z"' + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetAgentUsageOutput: + description: Agent usage + properties: + usage: + $ref: '#/apiResourceUsage' + type: object +apiGetAnthropicAPIKeyOutput: + properties: + api_key_info: + $ref: '#/apiAnthropicAPIKeyInfo' + type: object +apiGetChildrenInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetChildrenOutput: + description: Child list for an agent + properties: + children: + description: Child agents + items: + $ref: '#/apiAgent' + type: array + type: object +apiGetGuardrailOutput: + properties: + guardrail: + $ref: '#/apiGuardrail' + type: object +apiGetGuardrailUsageOutput: + description: Guardrail usage output + properties: + usage: + $ref: '#/apiResourceUsage' + type: object +apiGetKnowledgeBaseIndexingJobInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetKnowledgeBaseIndexingJobOutput: + description: GetKnowledgeBaseIndexingJobOutput description + properties: + job: + $ref: '#/apiIndexingJob' + type: object +apiGetKnowledgeBaseIndexingJobUsageInputPublic: + properties: + start: + example: '"2021-01-01T00:00:00Z"' + stop: + example: '"2021-01-02T00:00:00Z"' + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetKnowledgeBaseIndexingJobUsageOutput: + description: Knowledge base indexing job usage + properties: + usage: + $ref: '#/apiResourceUsage' + type: object +apiGetKnowledgeBaseInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetKnowledgeBaseOutput: + description: The knowledge base + properties: + database_status: + $ref: '#/dbaasClusterStatus' + knowledge_base: + $ref: '#/apiKnowledgeBase' + type: object +apiGetModelInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetModelOutput: + description: A specific model + properties: + model: + $ref: '#/apiModel' + type: object +apiGetModelPlaygroundTokensInputPublic: + properties: + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetModelPlaygroundTokensOutput: + description: GetModelPlaygroundTokensOutput description + properties: + token_limit_per_day: + description: Daily token limit + example: '"12345"' + format: uint64 + type: string + tokens_remaining: + description: Tokens remaining + example: 123 + format: int64 + type: integer + type: object +apiGetModelUsageInputPublic: + properties: + start: + example: '"2021-01-01T00:00:00Z"' + stop: + example: '"2021-01-02T00:00:00Z"' + uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiGetModelUsageOutput: + description: Information about model usage + properties: + usage: + $ref: '#/apiResourceUsage' + type: object +apiGetModelVersionsInputPublic: + properties: + name: + example: '"My Model"' +apiGetPreferredRegionOutput: + description: Region code of preferred Regions + properties: + region: + $ref: '#/genaiapiRegion' + type: object +apiGetResourceLimitsOutput: + properties: + agent_count: + description: Total agents used + example: 123 + format: int64 + type: integer + agent_limit: + description: Total permitted agents + example: 123 + format: int64 + type: integer + guardrail_count: + description: Total guardrails used + example: 123 + format: int64 + type: integer + guardrail_limit: + description: Total permitted guardrails + example: 123 + format: int64 + type: integer + knowledge_base_count: + description: Total knowledge bases used + example: 123 + format: int64 + type: integer + knowledge_base_limit: + description: Total permitted knowledge bases + example: 123 + format: int64 + type: integer + type: object +apiGetTeamAgreementOutput: + description: GetTeamAgreementOutput Output + properties: + team_agreement: + $ref: '#/apiTeamAgreement' + type: object +apiGuardrail: + description: Guardrail description + properties: + agent_uuids: + description: List of attached agents uuids + example: + - example string + items: + example: '"example string"' + type: string + type: array + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + default_response: + example: '"example string"' + type: string + description: + example: '"example string"' + type: string + is_default: + example: true + type: boolean + metadata: + type: object + name: + example: '"example name"' + type: string + template_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: + $ref: '#/apiGuardrailType' + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiGuardrailPrice: + properties: + attributes: + items: + $ref: '#/apiBillingAttribute' + type: array + display_name: + example: '"example name"' + type: string + guardrail_template_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + prices: + items: + $ref: '#/apiBillingPrice' + type: array + type: object +apiGuardrailTemplate: + description: GuardrailTemplate description + properties: + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + default_response: + example: '"example string"' + type: string + description: + example: '"example string"' + type: string + metadata: + type: object + name: + example: '"example name"' + type: string + type: + $ref: '#/apiGuardrailType' + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiGuardrailType: + default: GUARDRAIL_TYPE_UNKNOWN + enum: + - GUARDRAIL_TYPE_UNKNOWN + - GUARDRAIL_TYPE_JAILBREAK + - GUARDRAIL_TYPE_SENSITIVE_DATA + - GUARDRAIL_TYPE_CONTENT_MODERATION + example: GUARDRAIL_TYPE_UNKNOWN + type: string +apiIndexedDataSource: + properties: + completed_at: + description: Timestamp when data source completed indexing + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + data_source_uuid: + description: Uuid of the indexed data source + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + indexed_file_count: + description: Total count of files that have been indexed + example: '"12345"' + format: uint64 + type: string + started_at: + description: Timestamp when data source started indexing + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + total_bytes: + description: Total size of files in data source in bytes + example: '"12345"' + format: uint64 + type: string + total_bytes_indexed: + description: Total size of files in data source in bytes that have been indexed + example: '"12345"' + format: uint64 + type: string + total_file_count: + description: Total file count in the data source + example: '"12345"' + format: uint64 + type: string + type: object +apiIndexingJob: + description: IndexingJob description + properties: + completed_datasources: + description: Number of datasources indexed completed + example: 123 + format: int64 + type: integer + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + data_source_uuids: + example: + - example string + items: + example: '"example string"' + type: string + type: array + finished_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + knowledge_base_uuid: + description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + phase: + $ref: '#/apiBatchJobPhase' + started_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + tokens: + description: Number of tokens + example: 123 + format: int64 + type: integer + total_datasources: + description: Number of datasources being indexed + example: 123 + format: int64 + type: integer + 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 +apiIssueAgentTokenInputPublic: + description: Input for issuing a token for an agent + properties: + agent_uuid: + description: Agent ID + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiIssueAgentTokenOutput: + description: Information about a newly issued token + properties: + access_token: + description: The token + example: '"example string"' + type: string + refresh_token: + description: The token used to refresh + example: '"example string"' + type: string + type: object +apiIssueModelPlaygroundTokenOutput: + description: IssueModelPlaygroundTokenOutput description + properties: + access_token: + example: '"example string"' + type: string + refresh_token: + example: '"example string"' + type: string + type: object +apiKBDataSource: + properties: + bucket_name: + description: Deprecated, moved to data_source_details + example: '"example name"' + type: string + bucket_region: + description: Deprecated, moved to data_source_details + example: '"example string"' + type: string + file_upload_data_source: + $ref: '#/apiFileUploadDataSource' + item_path: + example: '"example string"' + type: string + spaces_data_source: + $ref: '#/apiSpacesDataSource' + type: object +apiKnowledgeBase: + description: Knowledgebase Description + properties: + added_to_agent_at: + description: Time when the knowledge base was added to the agent + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + database_id: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + embedding_model_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + is_public: + description: Whether the knowledge base is public or not + example: true + type: boolean + last_indexing_job: + $ref: '#/apiIndexingJob' + name: + description: Name of knowledge base + example: '"example name"' + type: string + project_id: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + region: + description: Region code + example: '"example string"' + type: string + tags: + description: Tags to organize related resources + 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 + user_id: + description: Id of user that created the knowledge base + example: '"12345"' + format: int64 + type: string + uuid: + description: Unique id for knowledge base + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiKnowledgeBaseDataSource: + description: Data Source configuration for Knowledge Bases + properties: + bucket_name: + description: Name of storage bucket - Deprecated, moved to data_source_details + example: '"example name"' + type: string + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + file_upload_data_source: + $ref: '#/apiFileUploadDataSource' + item_path: + description: Path of folder or object in bucket - Deprecated, moved to data_source_details + example: '"example string"' + type: string + last_indexing_job: + $ref: '#/apiIndexingJob' + region: + description: Region code - Deprecated, moved to data_source_details + example: '"example string"' + type: string + spaces_data_source: + $ref: '#/apiSpacesDataSource' + updated_at: + description: Last modified + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + uuid: + description: Unique id of knowledge base + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiKnowledgeBasePrice: + properties: + attributes: + items: + $ref: '#/apiBillingAttribute' + type: array + display_name: + example: '"example name"' + type: string + model_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + prices: + items: + $ref: '#/apiBillingPrice' + type: array + type: object +apiLinkAgentFunctionInputPublic: + description: Information for a agent function link + properties: + agent_uuid: + description: Agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + description: + description: Function description + example: '"My Function Description"' + type: string + faas_name: + description: The name of the function in the DigitalOcean functions platform + example: '"my-function"' + type: string + faas_namespace: + description: The namespace of the function in the DigitalOcean functions platform + example: '"default"' + type: string + function_name: + description: Function name + example: '"My Function"' + type: string + input_schema: + description: Describe the input schema for the function so the agent may call + it + type: object + output_schema: + description: Describe the output schema for the function so the agent handle + its response + type: object + type: object +apiLinkAgentFunctionOutput: + description: Information about a newly function linked agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiLinkAgentGuardrailOutput: + description: Information about an updated agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiLinkAgentInputPublic: + description: Information for linking an agent + properties: + child_agent_uuid: + description: Routed agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + if_case: + example: '"use this to get weather information"' + type: string + parent_agent_uuid: + description: A unique identifier for the parent agent. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + route_name: + description: Name of route + example: '"weather_route"' + type: string + type: object +apiLinkAgentOutput: + description: Information about a newly linked agent + properties: + child_agent_uuid: + description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + parent_agent_uuid: + description: A unique identifier for the parent agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiLinkKnowledgeBaseInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + knowledge_base_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiLinkKnowledgeBaseOutput: + description: Information about a linked knowledge base + properties: + agent: + $ref: '#/apiAgent' + type: object +apiLinks: + description: Links to other pages + properties: + pages: + $ref: '#/apiPages' + type: object +apiListAgentAPIKeysInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + page: + example: "1" + per_page: + example: "20" +apiListAgentAPIKeysOutput: + properties: + api_key_infos: + description: Api key infos + items: + $ref: '#/apiAgentAPIKeyInfo' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListAgentPricesOutput: + properties: + agent_prices: + items: + $ref: '#/apiAgentPrice' + type: array + type: object +apiListAgentTemplatesInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListAgentTemplatesOutput: + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + templates: + items: + $ref: '#/apiAgentTemplate' + type: array + type: object +apiListAgentsByAnthropicKeyOutput: + description: List of Agents that linked to a specific Anthropic Key + properties: + agents: + items: + $ref: '#/apiAgent' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListAgentsInputPublic: + properties: + only_deployed: + example: "true" + page: + example: "1" + per_page: + example: "20" +apiListAgentsOutput: + description: List of Agents + properties: + agents: + description: Agents + items: + $ref: '#/apiAgent' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListAgentsOutputPublic: + description: List of Agents + properties: + agents: + description: Agents + items: + $ref: '#/apiAgentPublic' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListAnthropicAPIKeysOutput: + description: ListAnthropicAPIKeysOutput is used to return the list of Anthropic + API keys for a specific agent. + properties: + api_key_infos: + description: Api key infos + items: + $ref: '#/apiAnthropicAPIKeyInfo' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListGuardrailAgentsOutput: + properties: + agents: + items: + $ref: '#/apiAgent' + type: array + type: object +apiListGuardrailPricesOutput: + properties: + guardrail_prices: + items: + $ref: '#/apiGuardrailPrice' + type: array + type: object +apiListGuardrailTemplatesOutput: + description: ListGuardrailTemplatesOutput description + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + templates: + items: + $ref: '#/apiGuardrailTemplate' + type: array + type: object +apiListGuardrailsOutput: + description: ListGuardrailsOutput description + properties: + guardrails: + items: + $ref: '#/apiGuardrail' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListIndexingJobDataSourcesInputPublic: + properties: + indexing_job_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiListIndexingJobDataSourcesOutput: + properties: + indexed_data_sources: + items: + $ref: '#/apiIndexedDataSource' + type: array + type: object +apiListKnowledgeBaseAgentsInputPublic: + properties: + knowledge_base_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiListKnowledgeBaseAgentsOutput: + description: List of agents + properties: + agents: + description: The agents + items: + $ref: '#/apiAgent' + type: array + type: object +apiListKnowledgeBaseDataSourcesInputPublic: + properties: + knowledge_base_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + page: + example: "1" + per_page: + example: "20" +apiListKnowledgeBaseDataSourcesOutput: + description: A list of knowledge base data sources + properties: + knowledge_base_data_sources: + description: The data sources + items: + $ref: '#/apiKnowledgeBaseDataSource' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListKnowledgeBaseIndexingJobsInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListKnowledgeBaseIndexingJobsOutput: + description: Indexing jobs + properties: + jobs: + description: The indexing jobs + items: + $ref: '#/apiIndexingJob' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListKnowledgeBasePricesOutput: + properties: + knowledge_base_prices: + items: + $ref: '#/apiKnowledgeBasePrice' + type: array + type: object +apiListKnowledgeBasesInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" +apiListKnowledgeBasesOutput: + description: List of knowledge bases + properties: + knowledge_bases: + description: The knowledge bases + items: + $ref: '#/apiKnowledgeBase' + type: array + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + type: object +apiListModelPricesOutput: + properties: + model_prices: + items: + $ref: '#/apiModelPrice' + type: array + type: object +apiListModelUsagesByAgentOutput: + description: ListModelUsagesByAgentOutput description + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + request_limit_per_minute: + description: Total request limit per minute + example: '"12345"' + format: uint64 + type: string + token_limit_per_day: + description: Total token limit per day + example: '"12345"' + format: uint64 + type: string + token_limit_per_minute: + description: Total token limit per minute + example: '"12345"' + format: uint64 + type: string + usages: + description: The model's usage by agent + items: + $ref: '#/apiAgentModelUsage' + type: array + type: object +apiListModelsInputPublic: + properties: + page: + example: "1" + per_page: + example: "20" + public_only: + example: "true" + usecases: + example: AGENT +apiListModelsOutput: + description: A list of models + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + models: + description: The models + items: + $ref: '#/apiModel' + type: array + type: object +apiListModelsOutputPublic: + description: A list of models + properties: + links: + $ref: '#/apiLinks' + meta: + $ref: '#/apiMeta' + models: + description: The models + items: + $ref: '#/apiModelPublic' + type: array + type: object +apiListRegionsOutput: + description: Region Codes + properties: + regions: + description: Region code + items: + $ref: '#/genaiapiRegion' + type: array + type: object +apiMeta: + description: Meta information about the data set + properties: + page: + description: The current page + example: 123 + format: int64 + type: integer + pages: + description: Total number of pages + example: 123 + format: int64 + type: integer + total: + description: Total amount of items over all pages + example: 123 + format: int64 + type: integer + type: object +apiModel: + description: Description of a Model + properties: + agreement: + $ref: '#/apiAgreement' + created_at: + description: Creation date / time + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + inference_name: + description: Internally used name + example: '"example name"' + type: string + inference_version: + description: Internally used version + example: '"example string"' + type: string + is_foundational: + description: True if it is a foundational model provided by do + example: true + type: boolean + metadata: + description: Additional meta data + type: object + name: + description: Name of the model + example: '"example name"' + type: string + parent_uuid: + description: Unique id of the model, this model is based on + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + provider: + $ref: '#/apiModelProvider' + updated_at: + description: Last modified + example: "2023-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: '"example string"' + type: string + uuid: + description: Unique id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + version: + $ref: '#/apiModelVersion' + type: object +apiModelPrice: + properties: + attributes: + items: + $ref: '#/apiBillingAttribute' + type: array + display_name: + example: '"example name"' + type: string + model_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + prices: + items: + $ref: '#/apiBillingPrice' + type: array + type: object +apiModelProvider: + default: MODEL_PROVIDER_DIGITALOCEAN + enum: + - MODEL_PROVIDER_DIGITALOCEAN + - MODEL_PROVIDER_ANTHROPIC + example: MODEL_PROVIDER_DIGITALOCEAN + type: string +apiModelPublic: + description: A machine learning model stored on the GenAI platform + properties: + agreement: + $ref: '#/apiAgreement' + created_at: + description: Creation date / time + example: "2021-01-01T00:00:00Z" + format: date-time + type: string + is_foundational: + description: True if it is a foundational model provided by do + example: true + type: boolean + name: + description: Name of the model + example: Llama 3.3 (70b) + type: string + parent_uuid: + description: Unique id of the model, this model is based on + example: '"12345678-1234-1234-1234-123456789012"' + 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 +apiModelUploadCompleteOutput: + description: Information about an updated model + properties: + model: + $ref: '#/apiModel' + type: object +apiModelUsecase: + default: MODEL_USECASE_UNKNOWN + description: |- + - MODEL_USECASE_UNKNOWN: The use case of the model is unknown + - MODEL_USECASE_AGENT: The model maybe used in an agent + - MODEL_USECASE_FINETUNED: The model maybe used for fine tuning + - MODEL_USECASE_KNOWLEDGEBASE: The model maybe used for knowledge bases (embedding models) + - MODEL_USECASE_GUARDRAIL: The model maybe used for guardrails + enum: + - MODEL_USECASE_UNKNOWN + - MODEL_USECASE_AGENT + - MODEL_USECASE_FINETUNED + - MODEL_USECASE_KNOWLEDGEBASE + - MODEL_USECASE_GUARDRAIL + example: MODEL_USECASE_UNKNOWN + type: string +apiModelVersion: + description: Version Information about a Model + properties: + major: + description: Major version number + example: 123 + format: int64 + type: integer + minor: + description: Minor version number + example: 123 + format: int64 + type: integer + patch: + description: Patch version number + example: 123 + format: int64 + type: integer + type: object +apiPages: + description: Information about how to reach other pages + properties: + first: + description: First page + example: '"example string"' + type: string + last: + description: Last page + example: '"example string"' + type: string + next: + description: Next page + example: '"example string"' + type: string + previous: + description: Previous page + example: '"example string"' + type: string + type: object +apiPresignedUrlFile: + description: A single file’s metadata in the request. + properties: + file_name: + description: Local filename + example: '"example name"' + type: string + file_size: + description: The size of the file in bytes. + example: '"12345"' + format: int64 + type: string + type: object +apiRefreshAgentTokenInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + refresh_token: + example: '"12345678-1234-1234-1234-123456789012"' +apiRefreshAgentTokenOutput: + description: Information about a refreshed token + properties: + access_token: + description: The token + example: '"example string"' + type: string + refresh_token: + description: Rhe refreshed token + example: '"example string"' + type: string + type: object +apiRefreshModelPlaygroundTokenOutput: + description: RefreshModelPlaygroundTokenOutput description + properties: + access_token: + example: '"example string"' + type: string + refresh_token: + example: '"example string"' + type: string + type: object +apiRegenerateAgentAPIKeyInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + api_key_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiRegenerateAgentAPIKeyOutput: + properties: + api_key_info: + $ref: '#/apiAgentAPIKeyInfo' + type: object +apiResourceUsage: + description: Resource Usage Description + properties: + measurements: + items: + $ref: '#/apiUsageMeasurement' + type: array + start: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + stop: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + type: object +apiSpacesDataSource: + description: Spaces Bucket Data Source + properties: + bucket_name: + description: Spaces bucket name + example: '"example name"' + type: string + item_path: + example: '"example string"' + type: string + region: + description: Region of bucket + example: '"example string"' + type: string + type: object +apiStartKnowledgeBaseIndexingJobInputPublic: + description: StartKnowledgeBaseIndexingJobInputPublic description + properties: + data_source_uuids: + description: List of data source ids to index, if none are provided, all data + sources will be indexed + example: + - example string + items: + example: '"example string"' + type: string + type: array + knowledge_base_uuid: + description: Knowledge base id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiStartKnowledgeBaseIndexingJobOutput: + description: StartKnowledgeBaseIndexingJobOutput description + properties: + job: + $ref: '#/apiIndexingJob' + type: object +apiTeamAgreement: + description: Team Agreement Description + properties: + accepted_at: + example: "2023-01-01T00:00:00Z" + format: date-time + type: string + agreement_uuid: + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiTeamModelURLOutput: + description: Model url output + properties: + url: + description: The signed url that can be used to upload one file + example: '"example string"' + type: string + type: object +apiUnlinkAgentFunctionInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + function_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiUnlinkAgentFunctionOutput: + description: Information about a newly unlinked agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUnlinkAgentGuardrailOutput: + description: UnlinkAgentGuardrailOutput description + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUnlinkAgentInputPublic: + properties: + child_agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + parent_agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiUnlinkAgentOutput: + description: Information about a removed linkage + properties: + child_agent_uuid: + description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + parent_agent_uuid: + description: Pagent agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiUnlinkKnowledgeBaseInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + knowledge_base_uuid: + example: '"12345678-1234-1234-1234-123456789012"' +apiUnlinkKnowledgeBaseOutput: + description: Informatinon about a unlinked knowledge base + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUpdateAgentAPIKeyInputPublic: + properties: + agent_uuid: + description: Agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + api_key_uuid: + description: Api key id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: Name + example: '"Production Key"' + type: string + type: object +apiUpdateAgentAPIKeyOutput: + properties: + api_key_info: + $ref: '#/apiAgentAPIKeyInfo' + type: object +apiUpdateAgentDeploymentVisbilityOutput: + description: UpdateAgentDeploymentVisbilityOutput description + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUpdateAgentDeploymentVisibilityInputPublic: + description: UpdateAgentDeploymentVisibilityInputPublic description + properties: + uuid: + description: Unique id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + visibility: + $ref: '#/apiDeploymentVisibility' + type: object +apiUpdateAgentFunctionInputPublic: + description: Information about updating an agent function + properties: + agent_uuid: + description: Agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + description: + description: Funciton description + example: '"My Function Description"' + type: string + faas_name: + description: The name of the function in the DigitalOcean functions platform + example: '"my-function"' + type: string + faas_namespace: + description: The namespace of the function in the DigitalOcean functions platform + example: '"default"' + type: string + function_name: + description: Function name + example: '"My Function"' + type: string + function_uuid: + description: Function id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + input_schema: + description: Describe the input schema for the function so the agent may call + it + type: object + output_schema: + description: Describe the output schema for the function so the agent handle + its response + type: object + type: object +apiUpdateAgentFunctionOutput: + description: The updated agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUpdateAgentInputPublic: + description: Data to modify an existing Agent + properties: + description: + description: Agent description + example: '"My Agent Description"' + type: string + instruction: + description: Agent instruction. Instructions help your agent to perform its + job effectively. See [Write Effective Agent Instructions](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#agent-instructions) + for best practices. + example: '"You are an agent who thinks deeply about the world"' + type: string + k: + description: How many results should be considered from an attached knowledge + base + example: 5 + format: int64 + type: integer + max_tokens: + description: Specifies the maximum number of tokens the model can process in + a single input or output, set as a number between 1 and 512. This determines + the length of each response. + example: 100 + format: int64 + type: integer + model_uuid: + description: Identifier for the foundation model. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: Agent name + example: '"My New Agent Name"' + type: string + project_id: + description: The id of the DigitalOcean project this agent will belong to + example: '"12345678-1234-1234-1234-123456789012"' + type: string + tags: + description: A set of abitrary tags to organize your agent + example: + - example string + items: + example: '"example string"' + type: string + type: array + temperature: + description: Controls the model’s creativity, specified as a number between + 0 and 1. Lower values produce more predictable and conservative responses, + while higher values encourage creativity and variation. + example: 0.7 + format: float + type: number + 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 + outputs, while lower values ensure focused and coherent responses. + example: 0.9 + format: float + type: number + uuid: + description: Unique agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiUpdateAgentOutput: + description: Information about an updated agent + properties: + agent: + $ref: '#/apiAgent' + type: object +apiUpdateAnthropicAPIKeyOutput: + description: UpdateAnthropicAPIKeyOutput is used to return the updated Anthropic + API key. + properties: + api_key_info: + $ref: '#/apiAnthropicAPIKeyInfo' + type: object +apiUpdateChatbotInputPublic: + properties: + agent_uuid: + example: '"12345678-1234-1234-1234-123456789012"' + button_background_color: + example: '"#0000FF"' + logo: + example: '"https://example.com/logo.png"' + name: + example: '"My Chatbot"' + primary_color: + example: '"#FF0000"' + secondary_color: + example: '"#00FF00"' + starting_message: + example: '"Hello, how can I help you today?"' +apiUpdateChatbotOutput: + description: Info about an updated chatbot + properties: + chatbot: + $ref: '#/apiChatbot' + type: object +apiUpdateGuardrailOutput: + description: UpdateGuardrailOutput description + properties: + guardrail: + $ref: '#/apiGuardrail' + type: object +apiUpdateKnowledgeBaseInputPublic: + description: Information about updating a knowledge base + 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. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + name: + description: Knowledge base name + example: '"My Knowledge Base"' + type: string + project_id: + description: The id of the DigitalOcean project this knowledge base will belong + to + example: '"12345678-1234-1234-1234-123456789012"' + type: string + tags: + description: Tags to organize your knowledge base. + example: + - example string + items: + example: '"example string"' + type: string + type: array + uuid: + description: Knowledge base id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiUpdateKnowledgeBaseOutput: + description: Information about an updated knowledge base + properties: + knowledge_base: + $ref: '#/apiKnowledgeBase' + type: object +apiUpdateLinkedAgentInputPublic: + description: Information about updating the linkage of an agent + properties: + child_agent_uuid: + description: Routed agent id + example: '"12345678-1234-1234-1234-123456789012"' + type: string + if_case: + description: Describes the case in which the child agent should be used + example: '"use this to get weather information"' + type: string + parent_agent_uuid: + description: A unique identifier for the parent agent. + example: '"12345678-1234-1234-1234-123456789012"' + type: string + route_name: + description: Route name + example: '"weather_route"' + type: string + uuid: + description: Unique id of linkage + example: '"12345678-1234-1234-1234-123456789012"' + type: string + type: object +apiUpdateLinkedAgentOutput: + description: Information about an updated linkage + properties: + child_agent_uuid: + description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + parent_agent_uuid: + description: A unique identifier for the parent agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + uuid: + description: Unique id of linkage + example: '"123e4567-e89b-12d3-a456-426614174000"' + type: string + type: object +apiUpdateModelMetadataOutput: + description: Information about updated meta data for a model + properties: + model: + $ref: '#/apiModel' + type: object +apiUsageMeasurement: + description: Usage Measurement Description + properties: + tokens: + example: 123 + format: int64 + type: integer + usage_type: + example: '"example string"' + type: string + type: object +dbaasClusterStatus: + default: CREATING + enum: + - CREATING + - ONLINE + - POWEROFF + - REBUILDING + - REBALANCING + - DECOMMISSIONED + - FORKING + - MIGRATING + - RESIZING + - RESTORING + - POWERING_ON + - UNHEALTHY + example: CREATING + type: string +genaiapiRegion: + description: Description for a specific Region + properties: + inference_url: + description: Url for inference server + example: '"example string"' + type: string + region: + description: Region code + example: '"example string"' + type: string + serves_batch: + description: This datacenter is capable of running batch jobs + example: true + type: boolean + serves_inference: + description: This datacenter is capable of serving inference + example: true + type: boolean + stream_inference_url: + description: The url for the inference streaming server + example: '"example string"' + type: string + type: object +protobufNullValue: + default: NULL_VALUE + description: |- + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + - NULL_VALUE: Null value. + enum: + - NULL_VALUE + example: NULL_VALUE + type: string diff --git a/specification/resources/gen-ai/examples/curl/genai_attach_agent.yml b/specification/resources/gen-ai/examples/curl/genai_attach_agent.yml new file mode 100644 index 00000000..24b5af55 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_attach_agent.yml @@ -0,0 +1,13 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/child_agents/6a09d603-b68d-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "parent_agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "child_agent_uuid": "6a09d603-b68d-11ef-bf8f-4e013e2ddde4", + "route_name": "route-token-stat", + "if_case": "for any token related statistics, use this route" + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_attach_agent_function.yml b/specification/resources/gen-ai/examples/curl/genai_attach_agent_function.yml new file mode 100644 index 00000000..07cf075a --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_attach_agent_function.yml @@ -0,0 +1,27 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/functions" \ + -d '{ + "agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "function_name": "funzip", + "description": "Use when you need the zipcode for a city", + "input_schema": { + "city": { + "description": "the city you want a zipcode for", + "required": true, + "type": "string" + } + }, + "output_schema": { + "zip_code": { + "description": "The zipcode of the desired city", + "type": "number" + } + }, + "faas_namespace": "fn-2014dc98-faa1-45f4-ba1f-59910cb3d399", + "faas_name": "default/get-zipcode" + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_attach_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_attach_knowledge_base.yml new file mode 100644 index 00000000..6bfdbe3e --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_attach_knowledge_base.yml @@ -0,0 +1,12 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/knowledge_bases/9a6e3975-b0c6-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "agent_uuid": "9a6e3975-b0c6-11ef-bf8f-4e013e2ddde4" + }' + + diff --git a/specification/resources/gen-ai/examples/curl/genai_cancel_indexing_job.yml b/specification/resources/gen-ai/examples/curl/genai_cancel_indexing_job.yml new file mode 100644 index 00000000..638e73ec --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_cancel_indexing_job.yml @@ -0,0 +1,9 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/indexing_jobs/79ca9798-cf7d-11ef-bf8f-4e013e2ddde4/cancel" \ + -d '{ + "uuid": "79ca9798-cf7d-11ef-bf8f-4e013e2ddde4" + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_create_agent.yml b/specification/resources/gen-ai/examples/curl/genai_create_agent.yml new file mode 100644 index 00000000..5b67f4a8 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_agent.yml @@ -0,0 +1,20 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents" \ + -d '{ + "name": "api-create", + "model_uuid": "95ea6652-75ed-11ef-bf8f-4e013e2ddde4", + "instruction": "be a weather reporter", + "description": "weather-agent", + "project_id": "37455431-84bd-4fa2-94cf-e8486f8f8c5e", + "tags": [ + "tag1" + ], + "region": "tor1", + "knowledge_base_uuid": [ + "9758a232-b351-11ef-bf8f-4e013e2ddde4" + ] + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_create_agent_api_key.yml b/specification/resources/gen-ai/examples/curl/genai_create_agent_api_key.yml new file mode 100644 index 00000000..1b124dce --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_agent_api_key.yml @@ -0,0 +1,10 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/api_keys" \ + -d '{ + "agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "name": "test-key" + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_create_indexing_job.yml b/specification/resources/gen-ai/examples/curl/genai_create_indexing_job.yml new file mode 100644 index 00000000..c9ef00b4 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_indexing_job.yml @@ -0,0 +1,13 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/indexing_jobs" \ + -d '{ + "knowledge_base_uuid": "9758a232-b351-11ef-bf8f-4e013e2ddde4", + "data_source_uuids": [ + "9a825ee0-bbb1-11ef-bf8f-4e013e2ddde4" + ] + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base.yml new file mode 100644 index 00000000..09712bab --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base.yml @@ -0,0 +1,24 @@ +lang: cURL +source: |- + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases" \ + -d '{ + "name": "kb-api-create", + "embedding_model_uuid": "05700391-7aa8-11ef-bf8f-4e013e2ddde4", + "project_id": "37455431-84bd-4fa2-94cf-e8486f8f8c5e", + "tags": [ + "tag1" + ], + "database_id": "abf1055a-745d-4c24-a1db-1959ea819264", + "datasources": [ + { + "bucket_name": "test-public-gen-ai", + "bucket_region": "tor1" + } + ], + "region": "tor1", + "vpc_uuid": "f7176e0b-8c5e-4e32-948e-79327e56225a" + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base_data_source.yml b/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base_data_source.yml new file mode 100644 index 00000000..b8d72887 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_create_knowledge_base_data_source.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/9a6e3975-b0c6-11ef-bf8f-4e013e2ddde4/data_sources/bd2a2db5-b8b0-11ef-bf8f-4e013e2ddde4" diff --git a/specification/resources/gen-ai/examples/curl/genai_delete_agent.yml b/specification/resources/gen-ai/examples/curl/genai_delete_agent.yml new file mode 100644 index 00000000..4daac805 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_delete_agent.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agent/5581a586-a745-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_delete_agent_api_key.yml b/specification/resources/gen-ai/examples/curl/genai_delete_agent_api_key.yml new file mode 100644 index 00000000..047989c4 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_delete_agent_api_key.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/api_keys/11efb7d6-cdb5-6388-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base.yml new file mode 100644 index 00000000..d2c413ff --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/8241f44e-b0da-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base_data_source.yml b/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base_data_source.yml new file mode 100644 index 00000000..c8b10753 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_delete_knowledge_base_data_source.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/9a6e3975-b0c6-11ef-bf8f-4e013e2ddde4/data_sources/bd2a2db5-b8b0-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_detach_agent.yml b/specification/resources/gen-ai/examples/curl/genai_detach_agent.yml new file mode 100644 index 00000000..0a513e24 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_detach_agent.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/ff47f5b7-96e5-11ef-bf8f-4e013e2ddde4/child_agents/c441bf77-81d6-11ef-bf8f-4e013e2ddde4" diff --git a/specification/resources/gen-ai/examples/curl/genai_detach_agent_function.yml b/specification/resources/gen-ai/examples/curl/genai_detach_agent_function.yml new file mode 100644 index 00000000..93c12902 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_detach_agent_function.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/ff47f5b7-96e5-11ef-bf8f-4e013e2ddde4/functions/6cc5cda5-9ac3-11ef-bf8f-4e013e2ddde4" diff --git a/specification/resources/gen-ai/examples/curl/genai_detach_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_detach_knowledge_base.yml new file mode 100644 index 00000000..b8d72887 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_detach_knowledge_base.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X DELETE \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/9a6e3975-b0c6-11ef-bf8f-4e013e2ddde4/data_sources/bd2a2db5-b8b0-11ef-bf8f-4e013e2ddde4" diff --git a/specification/resources/gen-ai/examples/curl/genai_get_agent.yml b/specification/resources/gen-ai/examples/curl/genai_get_agent.yml new file mode 100644 index 00000000..7eead19a --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_agent.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/c441bf77-81d6-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_get_agent_children.yml b/specification/resources/gen-ai/examples/curl/genai_get_agent_children.yml new file mode 100644 index 00000000..a353b26f --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_agent_children.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/c441bf77-81d6-11ef-bf8f-4e013e2ddde4/child_agents" diff --git a/specification/resources/gen-ai/examples/curl/genai_get_indexing_job.yml b/specification/resources/gen-ai/examples/curl/genai_get_indexing_job.yml new file mode 100644 index 00000000..edc9105a --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_indexing_job.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/indexing_jobs/9758a232-b351-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_get_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_get_knowledge_base.yml new file mode 100644 index 00000000..7fc36438 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_get_knowledge_base.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/9758a232-b351-11ef-bf8f-4e013e2ddde4" + diff --git a/specification/resources/gen-ai/examples/curl/genai_list_agent_api_keys.yml b/specification/resources/gen-ai/examples/curl/genai_list_agent_api_keys.yml new file mode 100644 index 00000000..82242c27 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_agent_api_keys.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/c441bf77-81d6-11ef-bf8f-4e013e2ddde4/api_keys" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_agents.yml b/specification/resources/gen-ai/examples/curl/genai_list_agents.yml new file mode 100644 index 00000000..4ad02f0a --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_agents.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_datacenter_regions.yml b/specification/resources/gen-ai/examples/curl/genai_list_datacenter_regions.yml new file mode 100644 index 00000000..4ac83b21 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_datacenter_regions.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/regions" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_indexing_job_data_sources.yml b/specification/resources/gen-ai/examples/curl/genai_list_indexing_job_data_sources.yml new file mode 100644 index 00000000..38399e65 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_indexing_job_data_sources.yml @@ -0,0 +1,8 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/indexing_jobs/9758a232-b351-11ef-bf8f-4e013e2ddde4" + + diff --git a/specification/resources/gen-ai/examples/curl/genai_list_indexing_jobs.yml b/specification/resources/gen-ai/examples/curl/genai_list_indexing_jobs.yml new file mode 100644 index 00000000..28b63ab1 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_indexing_jobs.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/indexing_jobs" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_knowledge_base_data_sources.yml b/specification/resources/gen-ai/examples/curl/genai_list_knowledge_base_data_sources.yml new file mode 100644 index 00000000..d665882c --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_knowledge_base_data_sources.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/9758a232-b351-11ef-bf8f-4e013e2ddde4/data_sources" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_knowledge_bases.yml b/specification/resources/gen-ai/examples/curl/genai_list_knowledge_bases.yml new file mode 100644 index 00000000..529d1960 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_knowledge_bases.yml @@ -0,0 +1,6 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases" diff --git a/specification/resources/gen-ai/examples/curl/genai_list_models.yml b/specification/resources/gen-ai/examples/curl/genai_list_models.yml new file mode 100644 index 00000000..702c08ba --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_list_models.yml @@ -0,0 +1,7 @@ +lang: cURL +source: |- + curl -X GET \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/models" + diff --git a/specification/resources/gen-ai/examples/curl/genai_regenerate_agent_api_key.yml b/specification/resources/gen-ai/examples/curl/genai_regenerate_agent_api_key.yml new file mode 100644 index 00000000..fb40c085 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_regenerate_agent_api_key.yml @@ -0,0 +1,8 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/api_keys/11efcf7e-824d-2808-bf8f-4e013e2ddde4/regenerate" + + diff --git a/specification/resources/gen-ai/examples/curl/genai_update_agent.yml b/specification/resources/gen-ai/examples/curl/genai_update_agent.yml new file mode 100644 index 00000000..94f266dd --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_agent.yml @@ -0,0 +1,22 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "name": "rename-agent-api", + "instruction": "be a weather reporter and act like you are a pro", + "description": "weather-agent2", + "model_uuid": "95ea6652-75ed-11ef-bf8f-4e013e2ddde4", + "project_id": "37455431-84bd-4fa2-94cf-e8486f8f8c5e", + "tags": [ + "tag2" + ], + "k": 5, + "temperature": 1, + "top_p": 1, + "max_tokens": 250 + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_update_agent_api_key.yml b/specification/resources/gen-ai/examples/curl/genai_update_agent_api_key.yml new file mode 100644 index 00000000..ed89abf6 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_agent_api_key.yml @@ -0,0 +1,11 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/api_keys/11efb7d6-cdb5-6388-bf8f-4e013e2ddde4" \ + -d '{ + "agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "api_key_uuid": "11efb7d6-cdb5-6388-bf8f-4e013e2ddde4", + "name": "test-key2" + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_update_agent_deployment_visibility.yml b/specification/resources/gen-ai/examples/curl/genai_update_agent_deployment_visibility.yml new file mode 100644 index 00000000..4a9debef --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_agent_deployment_visibility.yml @@ -0,0 +1,11 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/deployment_visibility" \ + -d '{ + "uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "visibility": "VISIBILITY_PUBLIC" + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_update_agent_function.yml b/specification/resources/gen-ai/examples/curl/genai_update_agent_function.yml new file mode 100644 index 00000000..df7800e2 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_agent_function.yml @@ -0,0 +1,11 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/functions/b00e74f6-985c-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "function_uuid": "6cc5cda5-9ac3-11ef-bf8f-4e013e2ddde4", + "function_name": "func-rename" + }' diff --git a/specification/resources/gen-ai/examples/curl/genai_update_attached_agent.yml b/specification/resources/gen-ai/examples/curl/genai_update_attached_agent.yml new file mode 100644 index 00000000..415ded9c --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_attached_agent.yml @@ -0,0 +1,14 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/agents/1b418231-b7d6-11ef-bf8f-4e013e2ddde4/child_agents/18c4c90c-cc40-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "parent_agent_uuid": "1b418231-b7d6-11ef-bf8f-4e013e2ddde4", + "child_agent_uuid": "18c4c90c-cc40-11ef-bf8f-4e013e2ddde4", + "route_name": "route-rename-api", + "if_case": "if any token related statistics, use this route only", + "uuid":"a22d2004-bbaa-11ef-bf8f-4e013e2ddde4" + }' + diff --git a/specification/resources/gen-ai/examples/curl/genai_update_knowledge_base.yml b/specification/resources/gen-ai/examples/curl/genai_update_knowledge_base.yml new file mode 100644 index 00000000..4b9296b4 --- /dev/null +++ b/specification/resources/gen-ai/examples/curl/genai_update_knowledge_base.yml @@ -0,0 +1,10 @@ +lang: cURL +source: |- + curl -X PUT \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $PREVIEW_API_TOKEN" \ + "https://api.digitalocean.com/v2/gen-ai/knowledge_bases/e51dba65-cf7a-11ef-bf8f-4e013e2ddde4" \ + -d '{ + "uuid": "e51dba65-cf7a-11ef-bf8f-4e013e2ddde4", + "name": "kb-api-rename" + }' diff --git a/specification/resources/gen-ai/genai_attach_agent.yml b/specification/resources/gen-ai/genai_attach_agent.yml new file mode 100644 index 00000000..559e426d --- /dev/null +++ b/specification/resources/gen-ai/genai_attach_agent.yml @@ -0,0 +1,57 @@ +description: To add an agent route to an agent, send a POST request to `/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}`. +operationId: genai_attach_agent +parameters: +- description: A unique identifier for the parent agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: parent_agent_uuid + required: true + schema: + type: string +- description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: child_agent_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiLinkAgentInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiLinkAgentOutput + 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: Add Agent Route to an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_attach_agent.yml diff --git a/specification/resources/gen-ai/genai_attach_agent_function.yml b/specification/resources/gen-ai/genai_attach_agent_function.yml new file mode 100644 index 00000000..db48b1fd --- /dev/null +++ b/specification/resources/gen-ai/genai_attach_agent_function.yml @@ -0,0 +1,50 @@ +description: To create a function route for an agent, send a POST request to `/v2/gen-ai/agents/{agent_uuid}/functions`. +operationId: genai_attach_agent_function +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiLinkAgentFunctionInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiLinkAgentFunctionOutput + 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: Add Function Route to an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_attach_agent_function.yml diff --git a/specification/resources/gen-ai/genai_attach_knowledge_base.yml b/specification/resources/gen-ai/genai_attach_knowledge_base.yml new file mode 100644 index 00000000..cef15b5b --- /dev/null +++ b/specification/resources/gen-ai/genai_attach_knowledge_base.yml @@ -0,0 +1,52 @@ +description: To attach a knowledge base to an agent, send a POST request to `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}` +operationId: genai_attach_knowledge_base +parameters: +- description: A unique identifier for an agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: A unique identifier for a knowledge base. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: knowledge_base_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiLinkKnowledgeBaseOutput + 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: Attach Knowledge Base to an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_attach_knowledge_base.yml diff --git a/specification/resources/gen-ai/genai_cancel_indexing_job.yml b/specification/resources/gen-ai/genai_cancel_indexing_job.yml new file mode 100644 index 00000000..397db03d --- /dev/null +++ b/specification/resources/gen-ai/genai_cancel_indexing_job.yml @@ -0,0 +1,51 @@ +description: To cancel an indexing job for a knowledge base, send a PUT request to + `/v2/gen-ai/indexing_jobs/{uuid}/cancel`. +operationId: genai_cancel_indexing_job +parameters: +- description: A unique identifier for an indexing job. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCancelKnowledgeBaseIndexingJobInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCancelKnowledgeBaseIndexingJobOutput + 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:update +summary: Cancel Indexing Job for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_cancel_indexing_job.yml diff --git a/specification/resources/gen-ai/genai_create_agent.yml b/specification/resources/gen-ai/genai_create_agent.yml new file mode 100644 index 00000000..926994d7 --- /dev/null +++ b/specification/resources/gen-ai/genai_create_agent.yml @@ -0,0 +1,43 @@ +description: To create a new agent, send a POST request to `/v2/gen-ai/agents`. The + response body contains a JSON object with the newly created agent object. +operationId: genai_create_agent +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateAgentInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateAgentOutput + 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 an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_create_agent.yml diff --git a/specification/resources/gen-ai/genai_create_agent_api_key.yml b/specification/resources/gen-ai/genai_create_agent_api_key.yml new file mode 100644 index 00000000..ed0fb0ab --- /dev/null +++ b/specification/resources/gen-ai/genai_create_agent_api_key.yml @@ -0,0 +1,50 @@ +description: To create an agent API key, send a POST request to `/v2/gen-ai/agents/{agent_uuid}/api_keys`. +operationId: genai_create_agent_api_key +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateAgentAPIKeyInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateAgentAPIKeyOutput + 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 an Agent API Key +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_create_agent_api_key.yml diff --git a/specification/resources/gen-ai/genai_create_indexing_job.yml b/specification/resources/gen-ai/genai_create_indexing_job.yml new file mode 100644 index 00000000..b52f7011 --- /dev/null +++ b/specification/resources/gen-ai/genai_create_indexing_job.yml @@ -0,0 +1,43 @@ +description: To start an indexing job for a knowledge base, send a POST request to + `/v2/gen-ai/indexing_jobs`. +operationId: genai_create_indexing_job +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiStartKnowledgeBaseIndexingJobInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiStartKnowledgeBaseIndexingJobOutput + 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: Start Indexing Job for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_create_indexing_job.yml diff --git a/specification/resources/gen-ai/genai_create_knowledge_base.yml b/specification/resources/gen-ai/genai_create_knowledge_base.yml new file mode 100644 index 00000000..3ae54992 --- /dev/null +++ b/specification/resources/gen-ai/genai_create_knowledge_base.yml @@ -0,0 +1,42 @@ +description: To create a knowledge base, send a POST request to `/v2/gen-ai/knowledge_bases`. +operationId: genai_create_knowledge_base +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateKnowledgeBaseInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateKnowledgeBaseOutput + 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 a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_create_knowledge_base.yml diff --git a/specification/resources/gen-ai/genai_create_knowledge_base_data_source.yml b/specification/resources/gen-ai/genai_create_knowledge_base_data_source.yml new file mode 100644 index 00000000..57106aed --- /dev/null +++ b/specification/resources/gen-ai/genai_create_knowledge_base_data_source.yml @@ -0,0 +1,50 @@ +description: To add a data source to a knowledge base, send a POST request to `/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources`. +operationId: genai_create_knowledge_base_data_source +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: knowledge_base_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateKnowledgeBaseDataSourceInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiCreateKnowledgeBaseDataSourceOutput + 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: Add Data Source to a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_create_knowledge_base_data_source.yml diff --git a/specification/resources/gen-ai/genai_delete_agent.yml b/specification/resources/gen-ai/genai_delete_agent.yml new file mode 100644 index 00000000..7024366a --- /dev/null +++ b/specification/resources/gen-ai/genai_delete_agent.yml @@ -0,0 +1,45 @@ +description: To delete an agent, send a DELETE request to `/v2/gen-ai/agents/{uuid}`. +operationId: genai_delete_agent +parameters: +- description: Unique agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiDeleteAgentOutput + 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 an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_delete_agent.yml diff --git a/specification/resources/gen-ai/genai_delete_agent_api_key.yml b/specification/resources/gen-ai/genai_delete_agent_api_key.yml new file mode 100644 index 00000000..80f16a85 --- /dev/null +++ b/specification/resources/gen-ai/genai_delete_agent_api_key.yml @@ -0,0 +1,52 @@ +description: To delete an API key for an agent, send a DELETE request to `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`. +operationId: genai_delete_agent_api_key +parameters: +- description: A unique identifier for your agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: API key for an agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: api_key_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiDeleteAgentAPIKeyOutput + 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 API Key for an Agent ' +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_delete_agent_api_key.yml diff --git a/specification/resources/gen-ai/genai_delete_knowledge_base.yml b/specification/resources/gen-ai/genai_delete_knowledge_base.yml new file mode 100644 index 00000000..ee8caf35 --- /dev/null +++ b/specification/resources/gen-ai/genai_delete_knowledge_base.yml @@ -0,0 +1,45 @@ +description: To delete a knowledge base, send a DELETE request to `/v2/gen-ai/knowledge_bases/{uuid}`. +operationId: genai_delete_knowledge_base +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiDeleteKnowledgeBaseOutput + 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 a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_delete_knowledge_base.yml diff --git a/specification/resources/gen-ai/genai_delete_knowledge_base_data_source.yml b/specification/resources/gen-ai/genai_delete_knowledge_base_data_source.yml new file mode 100644 index 00000000..68c57625 --- /dev/null +++ b/specification/resources/gen-ai/genai_delete_knowledge_base_data_source.yml @@ -0,0 +1,53 @@ +description: To delete a data source from a knowledge base, send a DELETE request + to `/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources/{data_source_uuid}`. +operationId: genai_delete_knowledge_base_data_source +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: knowledge_base_uuid + required: true + schema: + type: string +- description: Data source id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: data_source_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiDeleteKnowledgeBaseDataSourceOutput + 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 a Data Source from a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_delete_knowledge_base_data_source.yml diff --git a/specification/resources/gen-ai/genai_detach_agent.yml b/specification/resources/gen-ai/genai_detach_agent.yml new file mode 100644 index 00000000..c01d3d56 --- /dev/null +++ b/specification/resources/gen-ai/genai_detach_agent.yml @@ -0,0 +1,53 @@ +description: To delete an agent route from a parent agent, send a DELETE request to + `/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}`. +operationId: genai_detach_agent +parameters: +- description: Pagent agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: parent_agent_uuid + required: true + schema: + type: string +- description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: child_agent_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUnlinkAgentOutput + 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 Agent Route for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_detach_agent.yml diff --git a/specification/resources/gen-ai/genai_detach_agent_function.yml b/specification/resources/gen-ai/genai_detach_agent_function.yml new file mode 100644 index 00000000..c38abbd3 --- /dev/null +++ b/specification/resources/gen-ai/genai_detach_agent_function.yml @@ -0,0 +1,53 @@ +description: To delete a function route from an agent, send a DELETE request to `/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}`. +operationId: genai_detach_agent_function +parameters: +- description: The id of the agent the function route belongs to. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: The function route to be destroyed. This does not destroy the function + itself. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: function_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUnlinkAgentFunctionOutput + 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 Function Route for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_detach_agent_function.yml diff --git a/specification/resources/gen-ai/genai_detach_knowledge_base.yml b/specification/resources/gen-ai/genai_detach_knowledge_base.yml new file mode 100644 index 00000000..80f8de7d --- /dev/null +++ b/specification/resources/gen-ai/genai_detach_knowledge_base.yml @@ -0,0 +1,52 @@ +description: To detach a knowledge base from an agent, send a DELETE request to `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}`. +operationId: genai_detach_knowledge_base +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: knowledge_base_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUnlinkKnowledgeBaseOutput + 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: Detach Knowledge Base from an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_detach_knowledge_base.yml diff --git a/specification/resources/gen-ai/genai_get_agent.yml b/specification/resources/gen-ai/genai_get_agent.yml new file mode 100644 index 00000000..fa44531d --- /dev/null +++ b/specification/resources/gen-ai/genai_get_agent.yml @@ -0,0 +1,46 @@ +description: To retrieve details of an agent, GET request to `/v2/gen-ai/agents/{uuid}`. + The response body is a JSON object containing the agent. +operationId: genai_get_agent +parameters: +- description: Unique agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetAgentOutputPublic + 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 an Existing Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_get_agent.yml diff --git a/specification/resources/gen-ai/genai_get_agent_children.yml b/specification/resources/gen-ai/genai_get_agent_children.yml new file mode 100644 index 00000000..a6d9b33d --- /dev/null +++ b/specification/resources/gen-ai/genai_get_agent_children.yml @@ -0,0 +1,45 @@ +description: To view agent routes for an agent, send a GET requtest to `/v2/gen-ai/agents/{uuid}/child_agents`. +operationId: genai_get_agent_children +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetChildrenOutput + 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: View Agent Routes +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_get_agent_children.yml diff --git a/specification/resources/gen-ai/genai_get_indexing_job.yml b/specification/resources/gen-ai/genai_get_indexing_job.yml new file mode 100644 index 00000000..60828978 --- /dev/null +++ b/specification/resources/gen-ai/genai_get_indexing_job.yml @@ -0,0 +1,46 @@ +description: To get status of an indexing Job for a knowledge base, send a GET request + to `/v2/gen-ai/indexing_jobs/{uuid}`. +operationId: genai_get_indexing_job +parameters: +- description: Indexing job id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetKnowledgeBaseIndexingJobOutput + 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 Status of Indexing Job for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_get_indexing_job.yml diff --git a/specification/resources/gen-ai/genai_get_knowledge_base.yml b/specification/resources/gen-ai/genai_get_knowledge_base.yml new file mode 100644 index 00000000..a000b368 --- /dev/null +++ b/specification/resources/gen-ai/genai_get_knowledge_base.yml @@ -0,0 +1,46 @@ +description: To retrive information about an existing knowledge base, send a GET request + to `/v2/gen-ai/knowledge_bases/{uuid}`. +operationId: genai_get_knowledge_base +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiGetKnowledgeBaseOutput + 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 Information About an Existing Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_get_knowledge_base.yml diff --git a/specification/resources/gen-ai/genai_list_agent_api_keys.yml b/specification/resources/gen-ai/genai_list_agent_api_keys.yml new file mode 100644 index 00000000..d9f3bcb5 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_agent_api_keys.yml @@ -0,0 +1,57 @@ +description: To list all agent API keys, send a GET request to `/v2/gen-ai/agents/{agent_uuid}/api_keys`. +operationId: genai_list_agent_api_keys +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + 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#/apiListAgentAPIKeysOutput + 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 Agent API Keys +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_agent_api_keys.yml diff --git a/specification/resources/gen-ai/genai_list_agents.yml b/specification/resources/gen-ai/genai_list_agents.yml new file mode 100644 index 00000000..81c6c956 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_agents.yml @@ -0,0 +1,56 @@ +description: To list all agents, send a GET request to `/v2/gen-ai/agents`. +operationId: genai_list_agents +parameters: +- description: Only list agents that are deployed. + example: true + in: query + name: only_deployed + schema: + type: boolean +- 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#/apiListAgentsOutputPublic + 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 Agents +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_agents.yml diff --git a/specification/resources/gen-ai/genai_list_datacenter_regions.yml b/specification/resources/gen-ai/genai_list_datacenter_regions.yml new file mode 100644 index 00000000..2722eb9e --- /dev/null +++ b/specification/resources/gen-ai/genai_list_datacenter_regions.yml @@ -0,0 +1,50 @@ +description: To list all datacenter regions, send a GET request to `/v2/gen-ai/regions`. +operationId: genai_list_datacenter_regions +parameters: +- description: Include datacenters that serve inference. + example: true + in: query + name: serves_inference + schema: + type: boolean +- description: Include datacenters that are capable of running batch jobs. + example: true + in: query + name: serves_batch + schema: + type: boolean +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiListRegionsOutput + 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 Datacenter Regions +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_datacenter_regions.yml diff --git a/specification/resources/gen-ai/genai_list_indexing_job_data_sources.yml b/specification/resources/gen-ai/genai_list_indexing_job_data_sources.yml new file mode 100644 index 00000000..9e004101 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_indexing_job_data_sources.yml @@ -0,0 +1,45 @@ +description: To list all datasources for an indexing job, send a GET request to `/v2/gen-ai/indexing_jobs/{indexing_job_uuid}/data_sources`. +operationId: genai_list_indexing_job_data_sources +parameters: +- description: Uuid of the indexing job + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: indexing_job_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiListIndexingJobDataSourcesOutput + 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 Data Sources for Indexing Job for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_indexing_job_data_sources.yml diff --git a/specification/resources/gen-ai/genai_list_indexing_jobs.yml b/specification/resources/gen-ai/genai_list_indexing_jobs.yml new file mode 100644 index 00000000..ce9e29b5 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_indexing_jobs.yml @@ -0,0 +1,51 @@ +description: To list all indexing jobs for a knowledge base, send a GET request to + `/v2/gen-ai/indexing_jobs`. +operationId: genai_list_indexing_jobs +parameters: +- 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#/apiListKnowledgeBaseIndexingJobsOutput + 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 Indexing Jobs for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_indexing_jobs.yml diff --git a/specification/resources/gen-ai/genai_list_knowledge_base_data_sources.yml b/specification/resources/gen-ai/genai_list_knowledge_base_data_sources.yml new file mode 100644 index 00000000..602dfbac --- /dev/null +++ b/specification/resources/gen-ai/genai_list_knowledge_base_data_sources.yml @@ -0,0 +1,58 @@ +description: To list all data sources for a knowledge base, send a GET request to + `/v2/gen-ai/knowledge_bases/{knowledge_base_uuid}/data_sources`. +operationId: genai_list_knowledge_base_data_sources +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: knowledge_base_uuid + required: true + schema: + 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#/apiListKnowledgeBaseDataSourcesOutput + 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 Data Sources for a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_knowledge_base_data_sources.yml diff --git a/specification/resources/gen-ai/genai_list_knowledge_bases.yml b/specification/resources/gen-ai/genai_list_knowledge_bases.yml new file mode 100644 index 00000000..b7835564 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_knowledge_bases.yml @@ -0,0 +1,50 @@ +description: To attach a knowledge base to an agent, send a POST request to `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}`. +operationId: genai_list_knowledge_bases +parameters: +- 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#/apiListKnowledgeBasesOutput + 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 Knowledge Bases +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_knowledge_bases.yml diff --git a/specification/resources/gen-ai/genai_list_models.yml b/specification/resources/gen-ai/genai_list_models.yml new file mode 100644 index 00000000..31300cd9 --- /dev/null +++ b/specification/resources/gen-ai/genai_list_models.yml @@ -0,0 +1,78 @@ +description: To list all models, send a GET request to `/v2/gen-ai/models`. +operationId: genai_list_models +parameters: +- description: |- + Include only models defined for the listed usecases. + + - MODEL_USECASE_UNKNOWN: The use case of the model is unknown + - MODEL_USECASE_AGENT: The model maybe used in an agent + - MODEL_USECASE_FINETUNED: The model maybe used for fine tuning + - MODEL_USECASE_KNOWLEDGEBASE: The model maybe used for knowledge bases (embedding models) + - MODEL_USECASE_GUARDRAIL: The model maybe used for guardrails + example: + - MODEL_USECASE_UNKNOWN + in: query + name: usecases + schema: + items: + enum: + - MODEL_USECASE_UNKNOWN + - MODEL_USECASE_AGENT + - MODEL_USECASE_FINETUNED + - MODEL_USECASE_KNOWLEDGEBASE + - MODEL_USECASE_GUARDRAIL + type: string + type: array +- description: Only include models that are publicly available. + example: true + in: query + name: public_only + schema: + type: boolean +- 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#/apiListModelsOutputPublic + 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 Available Models +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_list_models.yml diff --git a/specification/resources/gen-ai/genai_regenerate_agent_api_key.yml b/specification/resources/gen-ai/genai_regenerate_agent_api_key.yml new file mode 100644 index 00000000..2af5ea48 --- /dev/null +++ b/specification/resources/gen-ai/genai_regenerate_agent_api_key.yml @@ -0,0 +1,52 @@ +description: To regenerate an agent API key, send a PUT request to `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate`. +operationId: genai_regenerate_agent_api_key +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: Api key id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: api_key_uuid + required: true + schema: + type: string +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiRegenerateAgentAPIKeyOutput + 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:update +summary: Regenerate API Key for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_regenerate_agent_api_key.yml diff --git a/specification/resources/gen-ai/genai_update_agent.yml b/specification/resources/gen-ai/genai_update_agent.yml new file mode 100644 index 00000000..76cc8a90 --- /dev/null +++ b/specification/resources/gen-ai/genai_update_agent.yml @@ -0,0 +1,51 @@ +description: To update an agent, send a PUT request to `/v2/gen-ai/agents/{uuid}`. + The response body is a JSON object containing the agent. +operationId: genai_update_agent +parameters: +- description: Unique agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentOutput + 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:update +summary: Update an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_agent.yml diff --git a/specification/resources/gen-ai/genai_update_agent_api_key.yml b/specification/resources/gen-ai/genai_update_agent_api_key.yml new file mode 100644 index 00000000..0063faa4 --- /dev/null +++ b/specification/resources/gen-ai/genai_update_agent_api_key.yml @@ -0,0 +1,57 @@ +description: To update an agent API key, send a PUT request to `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`. +operationId: genai_update_agent_api_key +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: Api key id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: api_key_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentAPIKeyInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentAPIKeyOutput + 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:update +summary: Update API Key for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_agent_api_key.yml diff --git a/specification/resources/gen-ai/genai_update_agent_deployment_visibility.yml b/specification/resources/gen-ai/genai_update_agent_deployment_visibility.yml new file mode 100644 index 00000000..2c106922 --- /dev/null +++ b/specification/resources/gen-ai/genai_update_agent_deployment_visibility.yml @@ -0,0 +1,51 @@ +description: Check whether an agent is public or private. To get the agent status, + send a PUT request to `/v2/gen-ai/agents/{uuid}/deployment_visibility`. +operationId: genai_update_agent_deployment_visibility +parameters: +- description: Unique id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentDeploymentVisibilityInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentDeploymentVisbilityOutput + 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:update +summary: Check Agent Status +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_agent_deployment_visibility.yml diff --git a/specification/resources/gen-ai/genai_update_agent_function.yml b/specification/resources/gen-ai/genai_update_agent_function.yml new file mode 100644 index 00000000..0431ec1c --- /dev/null +++ b/specification/resources/gen-ai/genai_update_agent_function.yml @@ -0,0 +1,57 @@ +description: To update the function route, send a PUT request to `/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}`. +operationId: genai_update_agent_function +parameters: +- description: Agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: agent_uuid + required: true + schema: + type: string +- description: Function id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: function_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentFunctionInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateAgentFunctionOutput + 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:update +summary: Update Function Route for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_agent_function.yml diff --git a/specification/resources/gen-ai/genai_update_attached_agent.yml b/specification/resources/gen-ai/genai_update_attached_agent.yml new file mode 100644 index 00000000..a48e4cee --- /dev/null +++ b/specification/resources/gen-ai/genai_update_attached_agent.yml @@ -0,0 +1,57 @@ +description: To update an agent route for an agent, send a PUT request to `/v2/gen-ai/agents/{parent_agent_uuid}/child_agents/{child_agent_uuid}`. +operationId: genai_update_attached_agent +parameters: +- description: A unique identifier for the parent agent. + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: parent_agent_uuid + required: true + schema: + type: string +- description: Routed agent id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: child_agent_uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateLinkedAgentInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateLinkedAgentOutput + 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:update +summary: Update Agent Route for an Agent +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_attached_agent.yml diff --git a/specification/resources/gen-ai/genai_update_knowledge_base.yml b/specification/resources/gen-ai/genai_update_knowledge_base.yml new file mode 100644 index 00000000..a66f3d41 --- /dev/null +++ b/specification/resources/gen-ai/genai_update_knowledge_base.yml @@ -0,0 +1,50 @@ +description: To update a knowledge base, send a PUT request to `/v2/gen-ai/knowledge_bases/{uuid}`. +operationId: genai_update_knowledge_base +parameters: +- description: Knowledge base id + example: '"123e4567-e89b-12d3-a456-426614174000"' + in: path + name: uuid + required: true + schema: + type: string +requestBody: + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateKnowledgeBaseInputPublic +responses: + "200": + content: + application/json: + schema: + $ref: ./definitions.yml#/apiUpdateKnowledgeBaseOutput + 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:update +summary: Update a Knowledge Base +tags: +- GenAI Platform +- GenAI Platform (Early Availability) +- GenAI Platform (Private Preview) +- GenAI Platform (Public Preview) +x-codeSamples: +- $ref: examples/curl/genai_update_knowledge_base.yml