Update a Vector Table Annotation

Use the update vector table annotation operation to update the description and annotations for an existing vector table.

The operation modifies the metadata and configuration of a vector table without affecting the stored data. You can update the description, annotations, and index parameters.

An error is raised if the table does not exist or if invalid parameters are provided.

See the following example of updating a table's annotations using update_vector_table_annotation:

from oracle_vecdb import OracleVecDB, Configuration

client = OracleVecDB(Configuration(
    rest_url="https://<host>/ords/<schema>/_/db-api/stable/vecdb/",
    access_token="<bearer-token>", # or username="<user>", password="<pass>"
))

response = client.update_vector_table_annotation(
    name='products',
    comment='Updated product embeddings',
    annotations={'version': '2.0', 'updated': '2025-01-27'}
)
print(response)

A JSON response is returned confirming the update.

Example response:

{
    "table_name": "products",
    "annotations": {
        "version": "2.0",
        "updated": "2025-01-27"
    },
    "description": "Product embeddings"
}

For more information about the update_vector_table_annotation operation, see Python API Reference.

See how PATCH /vecdb/vector-tables/{vector_table_name} can be used in the following example:

curl -X PATCH \
  "https://<host>:<port>/ords/<schema>/_/db-api/stable/vecdb/vector-tables/product_vectors" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  # Choose ONE authentication method:

  # Option 1: Basic authentication
  -u "<user>:<password>" \

  # Option 2: OAuth Bearer token
  # -H "Authorization: Bearer <access_token>" \

  -d '{
    "comment": "Updated product embeddings",
    "annotations": {
      "domain": "retail",
      "owner": "search"
    }
  }'

Responses:

  • Example 202 response:
    {
      "table_name": "PRODUCT_VECTORS",
      "comment": "Updated product embeddings",
      "table_params": {
        "auto_generate_id": false
      },
      "annotations": {
        "domain": "retail",
        "owner": "search"
      },
      "vector_type": "dense",
      "vector_table_type": "BYOV",
      "embed_params": null,
      "index_params": {
        "vector_index_params": {
          "auto_index": true
        },
        "metadata_index_params": {
          "auto_index": true
        },
        "parallel_creation": 1
      },
      "owner": "APPUSER",
      "indexes": [],
      "status": "Empty",
      "stats": {
        "total_vectors": 0
      },
      "created": "2026-05-01T10:00:00.000000+00:00",
      "updated": "2026-05-02T09:30:00.000000+00:00"
    }
  • 400 - invalid JSON, invalid types, or missing required fields.
  • 404 - not found or precondition failed.

For more information about PATCH /vecdb/vector-tables/{vector_table_name}, see REST API Reference.

See how DBMS_VECTOR_DATABASE.UPDATE_VECTOR_TABLE_ANNOTATION can be used in the following example:

dbms_vector_database.update_vector_table_annotation(
    name => 'product_vectors',
    comment => 'Updated product embeddings',
    annotations => JSON('{"domain": "retail", "owner": "search"}')
);
Example response:
{
  "table_name": "PRODUCT_VECTORS",
  "comment": "Updated product embeddings",
  "table_params": {
    "auto_generate_id": false
  },
  "annotations": {
    "domain": "retail",
    "owner": "search"
  },
  "vector_type": "dense",
  "vector_table_type": "BYOV",
  "embed_params": null,
  "index_params": {
    "vector_index_params": {
      "auto_index": true
    },
    "metadata_index_params": {
      "auto_index": true
    },
    "parallel_creation": 1
  },
  "owner": "APPUSER",
  "indexes": [],
  "status": "Empty",
  "stats": {
    "total_vectors": 0
  },
  "created": "2026-05-01T10:00:00.000000+00:00",
  "updated": "2026-05-02T09:30:00.000000+00:00"
}

For more information about the PL/SQL implementation, including parameters, see UPDATE_VECTOR_TABLE_ANNOTATION.