Appwrite VectorsDB API

VectorsDB — similarity search as a first-class Appwrite database, announced 2026-09-02. 35 operations across 17 paths in the Appwrite 2.0.0 OpenAPI.

Operations 35

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /vectorsdb List vector databases in the project · List databases #
Ask an LLM
“Which vector databases exist in my Appwrite project?”
“Can I filter my vector databases with queries and get a total count?”
Tell an agent
List all my vector databases.
List vector databases matching {queries}.
POST /vectorsdb Create a vector database · Create database #
Ask an LLM
“How do I create a new database for storing embeddings?”
“Can I provision a vector database on dedicated hardware with high-availability replicas?”
Tell an agent
Create vector database {databaseId} named {name}.
Create dedicated vector database {databaseId} named {name} on specification {specification} with {replicas} replicas.
GET /vectorsdb/specifications List dedicated vector database plans and prices · List specifications #
Ask an LLM
“What dedicated database specifications can I choose from on my current plan?”
“How much does each dedicated vector database size cost, including overage rates?”
Tell an agent
List the dedicated database specifications available to me.
Show the resource limits and prices of each dedicated vector database specification.
GET /vectorsdb/transactions List transactions across vector databases · List transactions #
Ask an LLM
“Which transactions are open across my vector databases?”
“Can I filter vector database transactions with queries?”
Tell an agent
List all vector database transactions.
List vector database transactions matching {queries}.
POST /vectorsdb/transactions Start a vector database transaction · Create transaction #
Ask an LLM
“How do I group several vector document writes into one atomic transaction?”
“Can I set how long a vector database transaction stays open?”
Tell an agent
Start a new vector database transaction.
Open a vector database transaction with a time-to-live of {ttl} seconds.
GET /vectorsdb/transactions/{transactionId} Get a vector database transaction · Get transaction #
Ask an LLM
“What is the current state of a specific vector database transaction?”
“Can I look up one vector transaction by its ID?”
Tell an agent
Get vector database transaction {transactionId}.
Show the status of vector transaction {transactionId}.
PATCH /vectorsdb/transactions/{transactionId} Commit or roll back a vector database transaction · Update transaction #
Ask an LLM
“How do I commit the staged operations in a vector database transaction?”
“Can I roll back a vector transaction instead of committing it?”
Tell an agent
Commit vector database transaction {transactionId}.
Roll back vector transaction {transactionId} by setting rollback to {rollback}.
DELETE /vectorsdb/transactions/{transactionId} Delete a vector database transaction · Delete transaction #
Ask an LLM
“How do I discard a vector database transaction record entirely?”
“Can I delete a vector transaction by its ID?”
Tell an agent destructive · confirm first
Delete vector database transaction {transactionId}.
Remove vector transaction {transactionId}.
POST /vectorsdb/transactions/{transactionId}/operations Stage operations in a vector database transaction · Create operations #
Ask an LLM
“Can I add several vector document operations to an open transaction in one call?”
“How do I queue writes inside a vector database transaction before committing?”
Tell an agent
Add operations {operations} to vector transaction {transactionId}.
Stage these operations in vector database transaction {transactionId}: {operations}.
GET /vectorsdb/{databaseId} Get a vector database's metadata · Get database #
Ask an LLM
“What specification and settings does one of my vector databases use?”
“Can I fetch a single vector database by its ID?”
Tell an agent
Get vector database {databaseId}.
Show the metadata of vector database {databaseId}.
PUT /vectorsdb/{databaseId} Update a vector database's settings · Update database #
Ask an LLM
“Can I resize a vector database by changing its specification?”
“How do I change the replica count or sync mode on an existing vector database?”
Tell an agent
Rename vector database {databaseId} to {name}.
Move vector database {databaseId} named {name} to specification {specification}.
DELETE /vectorsdb/{databaseId} Delete a vector database · Delete database #
Ask an LLM
“How do I permanently delete a vector database and everything in it?”
“What API key scope is needed to delete a vector database?”
Tell an agent destructive · confirm first
Delete vector database {databaseId}.
Permanently remove vector database {databaseId}.
GET /vectorsdb/{databaseId}/collections List collections in a vector database · List collections #
Ask an LLM
“Which embedding collections live in a vector database?”
“Can I search a vector database's collections by name?”
Tell an agent
List collections in vector database {databaseId}.
Search vector database {databaseId} for collections named {search}.
POST /vectorsdb/{databaseId}/collections Create a vector collection with a set dimension · Create collection #
Ask an LLM
“How do I create a collection sized for my embedding model's vector dimension?”
“Can I turn on document-level security when creating a vector collection?”
Tell an agent
Create collection {collectionId} named {name} in vector database {databaseId} with dimension {dimension}.
Add a {dimension}-dimension vector collection {collectionId} called {name} to {databaseId} with permissions {permissions}.
GET /vectorsdb/{databaseId}/collections/{collectionId} Get a vector collection's metadata · Get collection #
Ask an LLM
“What dimension and permissions does a vector collection have?”
“Can I look up one vector collection by its ID?”
Tell an agent
Get vector collection {collectionId} in database {databaseId}.
Show the settings of collection {collectionId} in vector database {databaseId}.
PUT /vectorsdb/{databaseId}/collections/{collectionId} Update a vector collection's settings · Update collection #
Ask an LLM
“Can I change the dimension or permissions of an existing vector collection?”
“How do I disable a vector collection without deleting it?”
Tell an agent
Rename vector collection {collectionId} in {databaseId} to {name}.
Set the dimension of vector collection {collectionId} ({name}) in {databaseId} to {dimension}.
DELETE /vectorsdb/{databaseId}/collections/{collectionId} Delete a vector collection · Delete collection #
Ask an LLM
“How do I delete a whole vector collection and its embeddings?”
“Who is allowed to delete a vector collection?”
Tell an agent destructive · confirm first
Delete vector collection {collectionId} from database {databaseId}.
Drop collection {collectionId} in vector database {databaseId}.
GET /vectorsdb/{databaseId}/collections/{collectionId}/documents List documents in a vector collection · List documents #
Ask an LLM
“Which embedding documents are stored in a vector collection?”
“Can I read vector documents as they appear inside an uncommitted transaction?”
Tell an agent
List documents in vector collection {collectionId} of database {databaseId}.
List vector documents in {collectionId} of {databaseId} filtered by {queries} in the URL.
POST /vectorsdb/{databaseId}/collections/{collectionId}/documents Create a document in a vector collection · Create document #
Ask an LLM
“How do I store a new embedding as a document in a vector collection?”
“Can I set permissions on a vector document when I create it?”
Tell an agent
Create document {documentId} in vector collection {collectionId} of {databaseId} with data {data}.
Add vector document {documentId} with {data} and permissions {permissions} to {collectionId} in {databaseId}.
PUT /vectorsdb/{databaseId}/collections/{collectionId}/documents Bulk create or update vector documents · Upsert documents #
Ask an LLM
“How do I insert or update many embedding documents in one request?”
“Can a bulk vector upsert run inside a transaction?”
Tell an agent
Upsert documents {documents} into vector collection {collectionId} of {databaseId}.
Bulk upsert {documents} into vector collection {collectionId} in {databaseId} within transaction {transactionId}.
PATCH /vectorsdb/{databaseId}/collections/{collectionId}/documents Bulk update vector documents matching a query · Update documents #
Ask an LLM
“Can I change a field on every vector document that matches a filter?”
“What happens if I bulk update vector documents with no queries?”
Tell an agent
Set {data} on all vector documents in {collectionId} of {databaseId} matching {queries}.
Apply {data} to every document in vector collection {collectionId} of {databaseId}.
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/documents Bulk delete vector documents by query · Delete documents #
Ask an LLM
“How do I delete every vector document that matches a filter?”
“What happens if I bulk delete vector documents without passing any queries?”
Tell an agent destructive · confirm first
Delete vector documents in {collectionId} of {databaseId} matching {queries}.
Clear all documents from vector collection {collectionId} in database {databaseId}.
POST /vectorsdb/{databaseId}/collections/{collectionId}/documents/query Query vector documents with filters in the body · Create query #
Ask an LLM
“How do I send very large vector queries that don't fit in a URL?”
“Can I query a vector collection with a POST body instead of query parameters?”
Tell an agent
Query vector collection {collectionId} in {databaseId} with body queries {queries}.
Run a POST query {queries} against {collectionId} in vector database {databaseId} inside transaction {transactionId}.
GET /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Get one document from a vector collection · Get document #
Ask an LLM
“How can I fetch a single embedding document by its ID?”
“Can I read one vector document as it looks inside a pending transaction?”
Tell an agent
Get vector document {documentId} from {collectionId} in {databaseId}.
Read vector document {documentId} in {collectionId} of {databaseId} within transaction {transactionId}.
PUT /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Create or replace a single vector document · Upsert a document #
Ask an LLM
“Can I write a vector document by ID whether or not it already exists?”
“What's the way to upsert just one embedding document?”
Tell an agent
Upsert vector document {documentId} in {collectionId} of {databaseId} with {data}.
Create or overwrite vector document {documentId} in {collectionId} ({databaseId}) with {data}.
PATCH /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Partially update one vector document · Update document #
Ask an LLM
“Can I change only some fields of an existing embedding document?”
“How do I update the permissions on one vector document?”
Tell an agent
Update vector document {documentId} in {collectionId} of {databaseId} with {data}.
Set permissions {permissions} on vector document {documentId} in {collectionId} ({databaseId}).
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Delete one vector document · Delete document #
Ask an LLM
“How do I remove a single embedding document by its ID?”
“Can deleting one vector document be part of a transaction?”
Tell an agent destructive · confirm first
Delete vector document {documentId} from {collectionId} in {databaseId}.
Remove vector document {documentId} in {collectionId} of {databaseId} as part of transaction {transactionId}.
GET /vectorsdb/{databaseId}/collections/{collectionId}/indexes List indexes on a vector collection · List indexes #
Ask an LLM
“Which indexes are defined on my vector collection?”
“Can I filter a vector collection's indexes with queries?”
Tell an agent
List indexes on vector collection {collectionId} in {databaseId}.
Show vector indexes in {collectionId} of {databaseId} matching {queries}.
POST /vectorsdb/{databaseId}/collections/{collectionId}/indexes Create an index on a vector collection · Create index #
Ask an LLM
“How do I add an index to speed up queries on a vector collection?”
“What index types can I create on vector collection attributes?”
Tell an agent
Create index {key} of type {type} on attributes {attributes} in vector collection {collectionId} of {databaseId}.
Add a {type} vector index {key} over {attributes} to {collectionId} in {databaseId}.
GET /vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key} Get one index on a vector collection · Get index #
Ask an LLM
“What attributes and type does a specific vector index cover?”
“Can I check whether a vector index has finished building?”
Tell an agent
Get vector index {key} on {collectionId} in {databaseId}.
Show details of index {key} in vector collection {collectionId} of {databaseId}.
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key} Delete an index from a vector collection · Delete index #
Ask an LLM
“How do I drop an index I no longer need on a vector collection?”
“Can I remove a vector index by its key?”
Tell an agent destructive · confirm first
Delete vector index {key} from {collectionId} in {databaseId}.
Drop index {key} on vector collection {collectionId} of {databaseId}.
POST /vectorsdb/{databaseId}/failovers Fail over a dedicated vector database to a replica · Create failover #
Ask an LLM
“How do I manually promote a replica to primary on a high-availability vector database?”
“Can I choose which replica gets promoted during a failover?”
Tell an agent
Trigger a failover for vector database {databaseId}.
Fail over vector database {databaseId} and promote replica {targetReplicaId} to primary.
GET /vectorsdb/{databaseId}/operations List lifecycle operations of a dedicated vector database · List operations #
Ask an LLM
“What provisioning, backup and restore actions have run on my dedicated vector database?”
“Can I see only the failed lifecycle operations for a database?”
Tell an agent
List lifecycle operations for vector database {databaseId}.
Show the last {limit} operations on vector database {databaseId} with status {status}.
GET /vectorsdb/{databaseId}/replicas Check replica health and replication lag · Get replicas #
Ask an LLM
“How far behind are the replicas of my dedicated vector database?”
“Which sync mode is my high-availability vector database running in?”
Tell an agent
Get the replica status of vector database {databaseId}.
Show replication lag for each replica of {databaseId}.
GET /vectorsdb/{databaseId}/status Check real-time health of a dedicated vector database · Get status #
Ask an LLM
“Is my dedicated vector database healthy and ready to accept connections?”
“What uptime, connection info and volume usage does my vector database report?”
Tell an agent
Get the health status of vector database {databaseId}.
Check whether vector database {databaseId} is up and ready.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appwrite:appwrite-vectorsdb-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appwrite-vectorsdb-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Appwrite Vectors DB API
  description: Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to https://appwrite.io/docs
  termsOfService: https://appwrite.io/policy/terms
  contact:
    name: Appwrite Team
    url: https://appwrite.io/support
    email: team@appwrite.io
  license:
    name: BSD-3-Clause
    url: https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE
servers:
- url: https://cloud.appwrite.io/v1
  description: Appwrite Cloud endpoint.
- url: https://{region}.cloud.appwrite.io/v1
  description: Appwrite Cloud regional endpoint. Replace `{region}` with your project region.
  variables:
    region:
      default: fra
      description: Appwrite Cloud region.
tags:


# --- truncated at 32 KB (136 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-vectorsdb-api-openapi.yml