---
title: "Update a Knowledge Base"
method: PUT
path: "/v2/gen-ai/knowledge_bases/{uuid}"
tags: ["DigitalOcean-public.v2-new_GradientAI Platform"]
---

# Update a Knowledge Base

`PUT /v2/gen-ai/knowledge_bases/{uuid}`

To update a knowledge base, send a PUT request to `/v2/gen-ai/knowledge_bases/{uuid}`.

## Path parameters

- `uuid` string, required

## Request body

- ApiUpdateKnowledgeBaseInputPublic — Information about updating a knowledge base
  - `database_id` string — The id of the DigitalOcean database this knowledge base will use, optiona.
  - `embedding_model_uuid` string — Identifier for the foundation model.
  - `name` string — Knowledge base name
  - `project_id` string — The id of the DigitalOcean project this knowledge base will belong to
  - `tags` string[] — Tags to organize your knowledge base.
  - `uuid` string — Knowledge base id

## Response `200`

A successful response.

- ApiUpdateKnowledgeBaseOutput — Information about an updated knowledge base
  - `knowledge_base` ApiKnowledgeBase — Knowledgebase Description
    - `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

## 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)
