---
title: "Update Function Route for an Agent"
method: PUT
path: "/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}"
tags: ["DigitalOcean-public.v2-new_GradientAI Platform"]
---

# Update Function Route for an Agent

`PUT /v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}`

To update the function route, send a PUT request to `/v2/gen-ai/agents/{agent_uuid}/functions/{function_uuid}`.

## Path parameters

- `agent_uuid` string, required
- `function_uuid` string, required

## Request body

- ApiUpdateAgentFunctionInputPublic — Information about updating an agent function
  - `agent_uuid` string — Agent id
  - `description` string — Funciton description
  - `faas_name` string — The name of the function in the DigitalOcean functions platform
  - `faas_namespace` string — The namespace of the function in the DigitalOcean functions platform
  - `function_name` string — Function name
  - `function_uuid` string — Function id
  - `input_schema` object — Describe the input schema for the function so the agent may call it
  - `output_schema` object — Describe the output schema for the function so the agent handle its response

## Response `200`

A successful response.

- ApiUpdateAgentFunctionOutput — The updated agent
  - `agent` ApiAgent — An Agent
    - `anthropic_api_key` ApiAnthropicAPIKeyInfo — Anthropic API Key Info
      - `created_at` string, date-time — Key creation date
      - `created_by` string, uint64 — Created by user id from DO
      - `deleted_at` string, date-time — Key deleted date
      - `name` string — Name
      - `updated_at` string, date-time — Key last updated date
      - `uuid` string — Uuid
    - `api_key_infos` ApiAgentAPIKeyInfo[] — Api key infos
      - `created_at` string, date-time — Creation date
      - `created_by` string, uint64 — Created by
      - `deleted_at` string, date-time — Deleted date
      - `name` string — Name
      - `secret_key` string
      - `uuid` string — Uuid
    - `api_keys` ApiAgentAPIKey[] — Api keys
      - `api_key` string — Api key
    - `chatbot` ApiChatbot — A Chatbot
      - `button_background_color` string
      - `logo` string
      - `name` string — Name of chatbot
      - `primary_color` string
      - `secondary_color` string
      - `starting_message` string
    - `chatbot_identifiers` ApiAgentChatbotIdentifier[] — Chatbot identifiers
      - `agent_chatbot_identifier` string — Agent chatbot identifier
    - `child_agents` ApiAgent[] — Child agents
    - `conversation_logs_enabled` boolean — Whether conversation logs are enabled for the agent
    - `created_at` string, date-time — Creation date / time
    - `deployment` ApiDeployment — Description of deployment
      - `created_at` string, date-time — Creation date / time
      - `name` string — Name
      - `status` 'STATUS_UNKNOWN' | 'STATUS_WAITING_FOR_DEPLOYMENT' | 'STATUS_DEPLOYING' | 'STATUS_RUNNING' | 'STATUS_FAILED' | 'STATUS_WAITING_FOR_UNDEPLOYMENT' | 'STATUS_UNDEPLOYING' | 'STATUS_UNDEPLOYMENT_FAILED' | 'STATUS_DELETED'
      - `updated_at` string, date-time — Last modified
      - `url` string — Access your deployed agent here
      - `uuid` string — Unique id
      - `visibility` 'VISIBILITY_UNKNOWN' | 'VISIBILITY_DISABLED' | 'VISIBILITY_PLAYGROUND' | 'VISIBILITY_PUBLIC' | 'VISIBILITY_PRIVATE' — - 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
    - `description` string — Description of agent
    - `functions` ApiAgentFunction[]
      - `api_key` string — Api key
      - `created_at` string, date-time — Creation date / time
      - `created_by` string, uint64 — Created by user id from DO
      - `description` string — Agent description
      - `faas_name` string
      - `faas_namespace` string
      - `input_schema` object
      - `name` string — Name
      - `output_schema` object
      - `updated_at` string, date-time — Last modified
      - `url` string — Download your agent here
      - `uuid` string — Unique id
    - `guardrails` ApiAgentGuardrail[] — The guardrails the agent is attached to
      - `agent_uuid` string
      - `created_at` string, date-time
      - `default_response` string
      - `description` string
      - `guardrail_uuid` string
      - `is_attached` boolean
      - `is_default` boolean
      - `metadata` object
      - `name` string
      - `priority` integer
      - `type` 'GUARDRAIL_TYPE_UNKNOWN' | 'GUARDRAIL_TYPE_JAILBREAK' | 'GUARDRAIL_TYPE_SENSITIVE_DATA' | 'GUARDRAIL_TYPE_CONTENT_MODERATION'
      - `updated_at` string, date-time
      - `uuid` string
    - `if_case` string
    - `instruction` string — 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.
    - `k` integer
    - `knowledge_bases` ApiKnowledgeBase[] — Knowledge bases
      - `added_to_agent_at` string, date-time — Time when the knowledge base was added to the agent
      - `created_at` string, date-time — Creation date / time
      - `database_id` string
      - `embedding_model_uuid` string
      - `is_public` boolean — Whether the knowledge base is public or not
      - `last_indexing_job` ApiIndexingJob — IndexingJob description
        - `completed_datasources` integer — Number of datasources indexed completed
        - `created_at` string, date-time — Creation date / time
        - `data_source_uuids` string[]
        - `finished_at` string, date-time
        - `knowledge_base_uuid` string — Knowledge base id
        - `phase` 'BATCH_JOB_PHASE_UNKNOWN' | 'BATCH_JOB_PHASE_PENDING' | 'BATCH_JOB_PHASE_RUNNING' | 'BATCH_JOB_PHASE_SUCCEEDED' | 'BATCH_JOB_PHASE_FAILED' | 'BATCH_JOB_PHASE_ERROR' | 'BATCH_JOB_PHASE_CANCELLED'
        - `started_at` string, date-time
        - `status` 'INDEX_JOB_STATUS_UNKNOWN' | 'INDEX_JOB_STATUS_PARTIAL' | 'INDEX_JOB_STATUS_IN_PROGRESS' | 'INDEX_JOB_STATUS_COMPLETED' | 'INDEX_JOB_STATUS_FAILED' | 'INDEX_JOB_STATUS_NO_CHANGES' | 'INDEX_JOB_STATUS_PENDING'
        - `tokens` integer — Number of tokens
        - `total_datasources` integer — Number of datasources being indexed
        - `total_items_failed` string, uint64 — Total Items Failed
        - `total_items_indexed` string, uint64 — Total Items Indexed
        - `total_items_skipped` string, uint64 — Total Items Skipped
        - `updated_at` string, date-time — Last modified
        - `uuid` string — Unique id
      - `name` string — Name of knowledge base
      - `project_id` string
      - `region` string — Region code
      - `tags` string[] — Tags to organize related resources
      - `updated_at` string, date-time — Last modified
      - `user_id` string, int64 — Id of user that created the knowledge base
      - `uuid` string — Unique id for knowledge base
    - `logging_config` ApiAgentLoggingConfig
      - `galileo_project_id` string — Galileo project identifier
      - `galileo_project_name` string — Name of the Galileo project
      - `insights_enabled` boolean — Whether insights are enabled
      - `insights_enabled_at` string, date-time — Timestamp when insights were enabled
      - `log_stream_id` string — Identifier for the log stream
      - `log_stream_name` string — Name of the log stream
    - `max_tokens` integer
    - `model` ApiModel — Description of a Model
      - `agreement` ApiAgreement — Agreement Description
        - `description` string
        - `name` string
        - `url` string
        - `uuid` string
      - `created_at` string, date-time — Creation date / time
      - `inference_name` string — Internally used name
      - `inference_version` string — Internally used version
      - `is_foundational` boolean — True if it is a foundational model provided by do
      - `metadata` object — Additional meta data
      - `name` string — Name of the model
      - `parent_uuid` string — Unique id of the model, this model is based on
      - `provider` 'MODEL_PROVIDER_DIGITALOCEAN' | 'MODEL_PROVIDER_ANTHROPIC' | 'MODEL_PROVIDER_OPENAI'
      - `updated_at` string, date-time — Last modified
      - `upload_complete` boolean — Model has been fully uploaded
      - `url` string — Download url
      - `usecases` ApiModelUsecase[] — Usecases of the model
      - `uuid` string — Unique id
      - `version` ApiModelVersion — Version Information about a Model
        - `major` integer — Major version number
        - `minor` integer — Minor version number
        - `patch` integer — Patch version number
    - `name` string — Agent name
    - `openai_api_key` ApiOpenAIAPIKeyInfo — OpenAI API Key Info
      - `created_at` string, date-time — Key creation date
      - `created_by` string, uint64 — Created by user id from DO
      - `deleted_at` string, date-time — Key deleted date
      - `models` ApiModel[] — Models supported by the openAI api key
        - `agreement` ApiAgreement — Agreement Description
          - `description` string
          - `name` string
          - `url` string
          - `uuid` string
        - `created_at` string, date-time — Creation date / time
        - `inference_name` string — Internally used name
        - `inference_version` string — Internally used version
        - `is_foundational` boolean — True if it is a foundational model provided by do
        - `metadata` object — Additional meta data
        - `name` string — Name of the model
        - `parent_uuid` string — Unique id of the model, this model is based on
        - `provider` 'MODEL_PROVIDER_DIGITALOCEAN' | 'MODEL_PROVIDER_ANTHROPIC' | 'MODEL_PROVIDER_OPENAI'
        - `updated_at` string, date-time — Last modified
        - `upload_complete` boolean — Model has been fully uploaded
        - `url` string — Download url
        - `usecases` ApiModelUsecase[] — Usecases of the model
        - `uuid` string — Unique id
        - `version` ApiModelVersion — Version Information about a Model
          - `major` integer — Major version number
          - `minor` integer — Minor version number
          - `patch` integer — Patch version number
      - `name` string — Name
      - `updated_at` string, date-time — Key last updated date
      - `uuid` string — Uuid
    - `parent_agents` ApiAgent[] — Parent agents
    - `project_id` string
    - `provide_citations` boolean — Whether the agent should provide in-response citations
    - `region` string — Region code
    - `retrieval_method` 'RETRIEVAL_METHOD_UNKNOWN' | 'RETRIEVAL_METHOD_REWRITE' | 'RETRIEVAL_METHOD_STEP_BACK' | 'RETRIEVAL_METHOD_SUB_QUERIES' | 'RETRIEVAL_METHOD_NONE' — - RETRIEVAL_METHOD_UNKNOWN: The retrieval method is unknown - RETRIEVAL_METHOD_REWRITE: The retrieval method is rewrite - RETRIEVAL_METHOD_STEP_BACK: The retrieval method is step back - RETRIEVAL_METHOD_SUB_QUERIES: The retrieval method is sub queries - RETRIEVAL_METHOD_NONE: The retrieval method is none
    - `route_created_at` string, date-time — Creation of route date / time
    - `route_created_by` string, uint64
    - `route_name` string — Route name
    - `route_uuid` string
    - `tags` string[] — Agent tag to organize related resources
    - `temperature` number, float
    - `template` ApiAgentTemplate — Represents an AgentTemplate entity
      - `created_at` string, date-time — The agent template's creation date
      - `description` string — Deprecated - Use summary instead
      - `guardrails` ApiAgentTemplateGuardrail[] — List of guardrails associated with the agent template
        - `priority` integer — Priority of the guardrail
        - `uuid` string — Uuid of the guardrail
      - `instruction` string — Instructions for the agent template
      - `k` integer — The 'k' value for the agent template
      - `knowledge_bases` ApiKnowledgeBase[] — List of knowledge bases associated with the agent template
        - `added_to_agent_at` string, date-time — Time when the knowledge base was added to the agent
        - `created_at` string, date-time — Creation date / time
        - `database_id` string
        - `embedding_model_uuid` string
        - `is_public` boolean — Whether the knowledge base is public or not
        - `last_indexing_job` ApiIndexingJob — IndexingJob description
          - `completed_datasources` integer — Number of datasources indexed completed
          - `created_at` string, date-time — Creation date / time
          - `data_source_uuids` string[]
          - `finished_at` string, date-time
          - `knowledge_base_uuid` string — Knowledge base id
          - `phase` 'BATCH_JOB_PHASE_UNKNOWN' | 'BATCH_JOB_PHASE_PENDING' | 'BATCH_JOB_PHASE_RUNNING' | 'BATCH_JOB_PHASE_SUCCEEDED' | 'BATCH_JOB_PHASE_FAILED' | 'BATCH_JOB_PHASE_ERROR' | 'BATCH_JOB_PHASE_CANCELLED'
          - `started_at` string, date-time
          - `status` 'INDEX_JOB_STATUS_UNKNOWN' | 'INDEX_JOB_STATUS_PARTIAL' | 'INDEX_JOB_STATUS_IN_PROGRESS' | 'INDEX_JOB_STATUS_COMPLETED' | 'INDEX_JOB_STATUS_FAILED' | 'INDEX_JOB_STATUS_NO_CHANGES' | 'INDEX_JOB_STATUS_PENDING'
          - `tokens` integer — Number of tokens
          - `total_datasources` integer — Number of datasources being indexed
          - `total_items_failed` string, uint64 — Total Items Failed
          - `total_items_indexed` string, uint64 — Total Items Indexed
          - `total_items_skipped` string, uint64 — Total Items Skipped
          - `updated_at` string, date-time — Last modified
          - `uuid` string — Unique id
        - `name` string — Name of knowledge base
        - `project_id` string
        - `region` string — Region code
        - `tags` string[] — Tags to organize related resources
        - `updated_at` string, date-time — Last modified
        - `user_id` string, int64 — Id of user that created the knowledge base
        - `uuid` string — Unique id for knowledge base
      - `long_description` string — The long description of the agent template
      - `max_tokens` integer — The max_tokens setting for the agent template
      - `model` ApiModel — Description of a Model
        - `agreement` ApiAgreement — Agreement Description
          - `description` string
          - `name` string
          - `url` string
          - `uuid` string
        - `created_at` string, date-time — Creation date / time
        - `inference_name` string — Internally used name
        - `inference_version` string — Internally used version
        - `is_foundational` boolean — True if it is a foundational model provided by do
        - `metadata` object — Additional meta data
        - `name` string — Name of the model
        - `parent_uuid` string — Unique id of the model, this model is based on
        - `provider` 'MODEL_PROVIDER_DIGITALOCEAN' | 'MODEL_PROVIDER_ANTHROPIC' | 'MODEL_PROVIDER_OPENAI'
        - `updated_at` string, date-time — Last modified
        - `upload_complete` boolean — Model has been fully uploaded
        - `url` string — Download url
        - `usecases` ApiModelUsecase[] — Usecases of the model
        - `uuid` string — Unique id
        - `version` ApiModelVersion — Version Information about a Model
          - `major` integer — Major version number
          - `minor` integer — Minor version number
          - `patch` integer — Patch version number
      - `name` string — Name of the agent template
      - `short_description` string — The short description of the agent template
      - `summary` string — The summary of the agent template
      - `tags` string[] — List of tags associated with the agent template
      - `temperature` number, float — The temperature setting for the agent template
      - `template_type` 'AGENT_TEMPLATE_TYPE_STANDARD' | 'AGENT_TEMPLATE_TYPE_ONE_CLICK' — - AGENT_TEMPLATE_TYPE_STANDARD: The standard agent template - AGENT_TEMPLATE_TYPE_ONE_CLICK: The one click agent template
      - `top_p` number, float — The top_p setting for the agent template
      - `updated_at` string, date-time — The agent template's last updated date
      - `uuid` string — Unique id
    - `top_p` number, float
    - `updated_at` string, date-time — Last modified
    - `url` string — Access your agent under this url
    - `user_id` string, uint64 — Id of user that created the agent
    - `uuid` string — Unique agent id
    - `version_hash` string — The latest version of the agent
    - `workspace` ApiWorkspace
      - `agents` ApiAgent[] — Agents
      - `created_at` string, date-time — Creation date
      - `created_by` string, uint64 — The id of user who created this workspace
      - `created_by_email` string — The email of the user who created this workspace
      - `deleted_at` string, date-time — Deleted date
      - `description` string — Description of the workspace
      - `evaluation_test_cases` ApiEvaluationTestCase[] — Evaluations
        - `archived_at` string, date-time
        - `created_at` string, date-time
        - `created_by_user_email` string
        - `created_by_user_id` string, uint64
        - `dataset` ApiEvaluationDataset
          - `created_at` string, date-time — Time created at.
          - `dataset_name` string — Name of the dataset.
          - `dataset_uuid` string — UUID of the dataset.
          - `file_size` string, uint64 — The size of the dataset uploaded file in bytes.
          - `has_ground_truth` boolean — Does the dataset have a ground truth column?
          - `row_count` integer — Number of rows in the dataset.
        - `dataset_name` string
        - `dataset_uuid` string
        - `description` string
        - `latest_version_number_of_runs` integer
        - `metrics` ApiEvaluationMetric[]
          - `description` string
          - `inverted` boolean — If true, the metric is inverted, meaning that a lower value is better.
          - `metric_name` string
          - `metric_type` 'METRIC_TYPE_UNSPECIFIED' | 'METRIC_TYPE_GENERAL_QUALITY' | 'METRIC_TYPE_RAG_AND_TOOL'
          - `metric_uuid` string
          - `metric_value_type` 'METRIC_VALUE_TYPE_UNSPECIFIED' | 'METRIC_VALUE_TYPE_NUMBER' | 'METRIC_VALUE_TYPE_STRING' | 'METRIC_VALUE_TYPE_PERCENTAGE'
          - `range_max` number, float — The maximum value for the metric.
          - `range_min` number, float — The minimum value for the metric.
        - `name` string
        - `star_metric` ApiStarMetric
          - `metric_uuid` string
          - `name` string
          - `success_threshold` number, float — The success threshold for the star metric. This is a value that the metric must reach to be considered successful.
          - `success_threshold_pct` integer — The success threshold for the star metric. This is a percentage value between 0 and 100.
        - `test_case_uuid` string
        - `total_runs` integer
        - `updated_at` string, date-time
        - `updated_by_user_email` string
        - `updated_by_user_id` string, uint64
        - `version` integer
      - `name` string — Name of the workspace
      - `updated_at` string, date-time — Update date
      - `uuid` string — Unique id

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `404` — The resource was not found.
- `429` — The API rate limit has been exceeded.
- `500` — There was a server error.
- `default` — There was an unexpected error.

---

[API](https://skmtc.net/digitalocean/apis/digitalocean-api.md) · [All operations](https://skmtc.net/digitalocean/apis/digitalocean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalocean/digitalocean-api/versions/cb3bf9b21459/schema)
