Add Function Route to an Agent
To create a function route for an agent, send a POST request to /v2/gen-ai/agents/{agent_uuid}/functions.
Path parameters
Agent id
Request body
Example request
{
"agent_uuid": "\"12345678-1234-1234-1234-123456789012\"",
"description": "\"My Function Description\"",
"faas_name": "\"my-function\"",
"faas_namespace": "\"default\"",
"function_name": "\"My Function\""
}Response
A successful response.
Example response
{
"agent": {
"anthropic_api_key": {
"created_at": "2023-01-01T00:00:00Z",
"created_by": "12345",
"deleted_at": "2023-01-01T00:00:00Z",
"name": "example name",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"api_key_infos": [
{
"created_at": "2023-01-01T00:00:00Z",
"created_by": "12345",
"deleted_at": "2023-01-01T00:00:00Z",
"name": "example name",
"secret_key": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"api_keys": [
{
"api_key": "example string"
}
],
"chatbot": {
"button_background_color": "example string",
"logo": "example string",
"name": "example name",
"primary_color": "example string",
"secondary_color": "example string",
"starting_message": "example string"
},
"chatbot_identifiers": [
{
"agent_chatbot_identifier": "123e4567-e89b-12d3-a456-426614174000"
}
],
"conversation_logs_enabled": true,
"created_at": "2023-01-01T00:00:00Z",
"deployment": {
"created_at": "2023-01-01T00:00:00Z",
"name": "example name",
"status": "STATUS_UNKNOWN",
"updated_at": "2023-01-01T00:00:00Z",
"url": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"visibility": "VISIBILITY_UNKNOWN"
},
"description": "example string",
"functions": [
{
"api_key": "example string",
"created_at": "2023-01-01T00:00:00Z",
"created_by": "12345",
"description": "example string",
"faas_name": "example name",
"faas_namespace": "example name",
"name": "example name",
"updated_at": "2023-01-01T00:00:00Z",
"url": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"guardrails": [
{
"agent_uuid": "123e4567-e89b-12d3-a456-426614174000",
"created_at": "2023-01-01T00:00:00Z",
"default_response": "example string",
"description": "example string",
"guardrail_uuid": "123e4567-e89b-12d3-a456-426614174000",
"is_attached": true,
"is_default": true,
"name": "example name",
"priority": 123,
"type": "GUARDRAIL_TYPE_UNKNOWN",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"if_case": "example string",
"instruction": "example string",
"k": 123,
"knowledge_bases": [
{
"added_to_agent_at": "2023-01-01T00:00:00Z",
"created_at": "2023-01-01T00:00:00Z",
"database_id": "123e4567-e89b-12d3-a456-426614174000",
"embedding_model_uuid": "123e4567-e89b-12d3-a456-426614174000",
"is_public": true,
"last_indexing_job": {
"completed_datasources": 123,
"created_at": "2023-01-01T00:00:00Z",
"data_source_uuids": [
"example string"
],
"finished_at": "2023-01-01T00:00:00Z",
"knowledge_base_uuid": "123e4567-e89b-12d3-a456-426614174000",
"phase": "BATCH_JOB_PHASE_UNKNOWN",
"started_at": "2023-01-01T00:00:00Z",
"status": "INDEX_JOB_STATUS_UNKNOWN",
"tokens": 123,
"total_datasources": 123,
"total_items_failed": "12345",
"total_items_indexed": "12345",
"total_items_skipped": "12345",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"name": "example name",
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"region": "example string",
"tags": [
"example string"
],
"updated_at": "2023-01-01T00:00:00Z",
"user_id": "12345",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"logging_config": {
"galileo_project_id": "123e4567-e89b-12d3-a456-426614174000",
"galileo_project_name": "example name",
"insights_enabled": true,
"insights_enabled_at": "2023-01-01T00:00:00Z",
"log_stream_id": "123e4567-e89b-12d3-a456-426614174000",
"log_stream_name": "example name"
},
"max_tokens": 123,
"model": {
"agreement": {
"description": "example string",
"name": "example name",
"url": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"created_at": "2023-01-01T00:00:00Z",
"inference_name": "example name",
"inference_version": "example string",
"is_foundational": true,
"name": "example name",
"parent_uuid": "123e4567-e89b-12d3-a456-426614174000",
"provider": "MODEL_PROVIDER_DIGITALOCEAN",
"updated_at": "2023-01-01T00:00:00Z",
"upload_complete": true,
"url": "example string",
"usecases": [
"MODEL_USECASE_AGENT",
"MODEL_USECASE_GUARDRAIL"
],
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"version": {
"major": 123,
"minor": 123,
"patch": 123
}
},
"name": "example name",
"openai_api_key": {
"created_at": "2023-01-01T00:00:00Z",
"created_by": "12345",
"deleted_at": "2023-01-01T00:00:00Z",
"models": [
{
"agreement": {
"description": "example string",
"name": "example name",
"url": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"created_at": "2023-01-01T00:00:00Z",
"inference_name": "example name",
"inference_version": "example string",
"is_foundational": true,
"name": "example name",
"parent_uuid": "123e4567-e89b-12d3-a456-426614174000",
"provider": "MODEL_PROVIDER_DIGITALOCEAN",
"updated_at": "2023-01-01T00:00:00Z",
"upload_complete": true,
"url": "example string",
"usecases": [
"MODEL_USECASE_AGENT",
"MODEL_USECASE_GUARDRAIL"
],
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"version": {
"major": 123,
"minor": 123,
"patch": 123
}
}
],
"name": "example name",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"provide_citations": true,
"region": "example string",
"retrieval_method": "RETRIEVAL_METHOD_UNKNOWN",
"route_created_at": "2023-01-01T00:00:00Z",
"route_created_by": "12345",
"route_name": "example name",
"route_uuid": "123e4567-e89b-12d3-a456-426614174000",
"tags": [
"example string"
],
"temperature": 123,
"template": {
"created_at": "2023-01-01T00:00:00Z",
"description": "example string",
"guardrails": [
{
"priority": 123,
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"instruction": "example string",
"k": 123,
"knowledge_bases": [
{
"added_to_agent_at": "2023-01-01T00:00:00Z",
"created_at": "2023-01-01T00:00:00Z",
"database_id": "123e4567-e89b-12d3-a456-426614174000",
"embedding_model_uuid": "123e4567-e89b-12d3-a456-426614174000",
"is_public": true,
"last_indexing_job": {
"completed_datasources": 123,
"created_at": "2023-01-01T00:00:00Z",
"data_source_uuids": [
"example string"
],
"finished_at": "2023-01-01T00:00:00Z",
"knowledge_base_uuid": "123e4567-e89b-12d3-a456-426614174000",
"phase": "BATCH_JOB_PHASE_UNKNOWN",
"started_at": "2023-01-01T00:00:00Z",
"status": "INDEX_JOB_STATUS_UNKNOWN",
"tokens": 123,
"total_datasources": 123,
"total_items_failed": "12345",
"total_items_indexed": "12345",
"total_items_skipped": "12345",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"name": "example name",
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"region": "example string",
"tags": [
"example string"
],
"updated_at": "2023-01-01T00:00:00Z",
"user_id": "12345",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
],
"long_description": "\"Enhance your customer service with an AI agent designed to provide consistent, helpful, and accurate support across multiple channels. This template creates an agent that can answer product questions, troubleshoot common issues, process simple requests, and maintain a friendly, on-brand voice throughout customer interactions. Reduce response times, handle routine inquiries efficiently, and ensure your customers feel heard and helped.\"",
"max_tokens": 123,
"model": {
"agreement": {
"description": "example string",
"name": "example name",
"url": "example string",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"created_at": "2023-01-01T00:00:00Z",
"inference_name": "example name",
"inference_version": "example string",
"is_foundational": true,
"name": "example name",
"parent_uuid": "123e4567-e89b-12d3-a456-426614174000",
"provider": "MODEL_PROVIDER_DIGITALOCEAN",
"updated_at": "2023-01-01T00:00:00Z",
"upload_complete": true,
"url": "example string",
"usecases": [
"MODEL_USECASE_AGENT",
"MODEL_USECASE_GUARDRAIL"
],
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"version": {
"major": 123,
"minor": 123,
"patch": 123
}
},
"name": "example name",
"short_description": "\"This template has been designed with question-answer and conversational use cases in mind. It comes with validated agent instructions, fine-tuned model settings, and preconfigured guardrails defined for customer support-related use cases.\"",
"summary": "example string",
"tags": [
"example string"
],
"temperature": 123,
"template_type": "AGENT_TEMPLATE_TYPE_STANDARD",
"top_p": 123,
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
},
"top_p": 123,
"updated_at": "2023-01-01T00:00:00Z",
"url": "example string",
"user_id": "12345",
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"version_hash": "example string",
"workspace": {
"created_at": "2023-01-01T00:00:00Z",
"created_by": "12345",
"created_by_email": "example@example.com",
"deleted_at": "2023-01-01T00:00:00Z",
"description": "example string",
"evaluation_test_cases": [
{
"archived_at": "2023-01-01T00:00:00Z",
"created_at": "2023-01-01T00:00:00Z",
"created_by_user_email": "example@example.com",
"created_by_user_id": "12345",
"dataset": {
"created_at": "2023-01-01T00:00:00Z",
"dataset_name": "example name",
"dataset_uuid": "123e4567-e89b-12d3-a456-426614174000",
"file_size": "12345",
"has_ground_truth": true,
"row_count": 123
},
"dataset_name": "example name",
"dataset_uuid": "123e4567-e89b-12d3-a456-426614174000",
"description": "example string",
"latest_version_number_of_runs": 123,
"metrics": [
{
"description": "example string",
"inverted": true,
"metric_name": "example name",
"metric_type": "METRIC_TYPE_UNSPECIFIED",
"metric_uuid": "123e4567-e89b-12d3-a456-426614174000",
"metric_value_type": "METRIC_VALUE_TYPE_UNSPECIFIED",
"range_max": 123,
"range_min": 123
}
],
"name": "example name",
"star_metric": {
"metric_uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "example name",
"success_threshold": 123,
"success_threshold_pct": 123
},
"test_case_uuid": "123e4567-e89b-12d3-a456-426614174000",
"total_runs": 123,
"updated_at": "2023-01-01T00:00:00Z",
"updated_by_user_email": "example@example.com",
"updated_by_user_id": "12345",
"version": 123
}
],
"name": "example name",
"updated_at": "2023-01-01T00:00:00Z",
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
}
}Changes
Changed in 6 of the 8 revisions of this API.11355
- ○
api tag
DigitalOcean-public.v2-new_GradientAI Platformaddedapi-tag-added
- ○
api tag
GradientAI Platformremovedapi-tag-removed
This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○
- ●
added the new
METRIC_VALUE_TYPE_PERCENTAGEenum value to the//////response property for the response statusresponse-property-enum-value-added
- ○
api operation id
attach_agent_functionremoved and replaced withgenai_attach_agent_functionapi-operation-id-removed
- ○
the endpoint scheme security
bearer_authwas added to the APIapi-security-added
- ○
api tag
GradientAI Platformaddedapi-tag-added
- ○
api tag
GenAIAPIremovedapi-tag-removed
- ○
request body became optional
request-body-became-optional
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
This revision also has 70 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ●
- ▲
request body became required
request-body-became-required
- ●
the optional response header
ratelimit-limitremoved for the status200optional-response-header-removed
- ●
the optional response header
ratelimit-remainingremoved for the status200optional-response-header-removed
- ●
the optional response header
ratelimit-resetremoved for the status200optional-response-header-removed
- ●
removed the optional property
/from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
/from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
/from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
/////from the response with the statusresponse-optional-property-removed
- ○
api operation id
genai_attach_agent_functionremoved and replaced withattach_agent_functionapi-operation-id-removed
- ○
the endpoint scheme security
bearer_authwas removed from the APIapi-security-removed
- ○
api tag
GenAIAPIaddedapi-tag-added
- ○
api tag
GradientAI Platformremovedapi-tag-removed
- ○
removed the non-success response with the status
response-non-success-status-removed
- ○
removed the non-success response with the status
response-non-success-status-removed
- ○
removed the non-success response with the status
response-non-success-status-removed
- ○
removed the non-success response with the status
response-non-success-status-removed
- ○
removed the
METRIC_VALUE_TYPE_PERCENTAGEenum value from the//////response property for the response statusresponse-property-enum-value-removed
This revision also has 436 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ●
added the new
METRIC_VALUE_TYPE_PERCENTAGEenum value to the//////response property for the response statusresponse-property-enum-value-added
- ○
api operation id
attach_agent_functionremoved and replaced withgenai_attach_agent_functionapi-operation-id-removed
- ○
the endpoint scheme security
bearer_authwas added to the APIapi-security-added
- ○
api tag
GradientAI Platformaddedapi-tag-added
- ○
api tag
GenAIAPIremovedapi-tag-removed
- ○
request body became optional
request-body-became-optional
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
This revision also has 70 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ●
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////to the response with the statusresponse-optional-property-added
- ○