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

GET /vectorsdb List databases #
POST /vectorsdb Create database #
GET /vectorsdb/specifications List specifications #
GET /vectorsdb/transactions List transactions #
POST /vectorsdb/transactions Create transaction #
GET /vectorsdb/transactions/{transactionId} Get transaction #
PATCH /vectorsdb/transactions/{transactionId} Update transaction #
DELETE /vectorsdb/transactions/{transactionId} Delete transaction #
POST /vectorsdb/transactions/{transactionId}/operations Create operations #
GET /vectorsdb/{databaseId} Get database #
PUT /vectorsdb/{databaseId} Update database #
DELETE /vectorsdb/{databaseId} Delete database #
GET /vectorsdb/{databaseId}/collections List collections #
POST /vectorsdb/{databaseId}/collections Create collection #
GET /vectorsdb/{databaseId}/collections/{collectionId} Get collection #
PUT /vectorsdb/{databaseId}/collections/{collectionId} Update collection #
DELETE /vectorsdb/{databaseId}/collections/{collectionId} Delete collection #
GET /vectorsdb/{databaseId}/collections/{collectionId}/documents List documents #
POST /vectorsdb/{databaseId}/collections/{collectionId}/documents Create document #
PUT /vectorsdb/{databaseId}/collections/{collectionId}/documents Upsert documents #
PATCH /vectorsdb/{databaseId}/collections/{collectionId}/documents Update documents #
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/documents Delete documents #
POST /vectorsdb/{databaseId}/collections/{collectionId}/documents/query Create query #
GET /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Get document #
PUT /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Upsert a document #
PATCH /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Update document #
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId} Delete document #
GET /vectorsdb/{databaseId}/collections/{collectionId}/indexes List indexes #
POST /vectorsdb/{databaseId}/collections/{collectionId}/indexes Create index #
GET /vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key} Get index #
DELETE /vectorsdb/{databaseId}/collections/{collectionId}/indexes/{key} Delete index #
POST /vectorsdb/{databaseId}/failovers Create failover #
GET /vectorsdb/{databaseId}/operations List operations #
GET /vectorsdb/{databaseId}/replicas Get replicas #
GET /vectorsdb/{databaseId}/status Get status #

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-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.0.0
info:
  title: Appwrite VectorsDB 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](https://appwrite.io/docs)
  version: 2.0.0
  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:
- name: vectorsDB
  description: Appwrite vectorsDB service.
paths:
  /vectorsdb:
    get:
      summary: List databases
      operationId: vectorsDBList
      tags:
      - vectorsDB
      description: Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.
      responses:
        '200':
          description: Databases List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/databaseList'
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/list.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.read
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: queries
        description: 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following columns: name'
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
    post:
      summary: Create database
      operationId: vectorsDBCreate
      tags:
      - vectorsDB
      description: 'Create a new Database.

        '
      responses:
        '201':
          description: Database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/database'
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/create.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                databaseId:
                  description: Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
                  type: string
                  example: <DATABASE_ID>
                  x-appwrite:
                    idGenerator: ID.unique
                name:
                  description: 'Database name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
                enabled:
                  description: Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.
                  type: boolean
                  default: true
                  example: false
                specification:
                  description: Database specification. Defaults to `serverless`, which creates the database on the shared pool. Any other value provisions a dedicated database on that specification.
                  type: string
                  default: serverless
                  example: serverless
                replicas:
                  description: Number of high availability replicas (0-5) for the dedicated database backing this database. Requires a dedicated `specification`; must be 0 for a serverless database. High availability is enabled when greater than 0.
                  type: integer
                  default: 0
                  example: 0
                  format: int32
                syncMode:
                  description: 'Replication sync mode for the dedicated database backing this database. Requires a dedicated `specification`; the mode is only in force once there is at least one replica. Allowed values: async, sync, quorum.'
                  type: string
                  example: async
                  nullable: true
              required:
              - databaseId
              - name
  /vectorsdb/specifications:
    get:
      summary: List specifications
      operationId: vectorsDBListSpecifications
      tags:
      - vectorsDB
      description: List the dedicated database specifications available on the current plan. Each specification reports its resource limits, its own prices and overage rates, and whether it is enabled for the organization.
      responses:
        '200':
          description: SpecificationList
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dedicatedDatabaseSpecificationList'
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/list-specifications.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: databases.read
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
  /vectorsdb/transactions:
    get:
      summary: List transactions
      operationId: vectorsDBListTransactions
      tags:
      - vectorsDB
      description: List transactions across all databases.
      responses:
        '200':
          description: Transaction List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transactionList'
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/list-transactions.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.read
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      parameters:
      - name: queries
        description: Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
    post:
      summary: Create transaction
      operationId: vectorsDBCreateTransaction
      tags:
      - vectorsDB
      description: Create a new transaction.
      responses:
        '201':
          description: Transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transaction'
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/create-transaction.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.write
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ttl:
                  description: Seconds before the transaction expires.
                  type: integer
                  default: 300
                  example: 60
                  format: int32
  /vectorsdb/transactions/{transactionId}:
    get:
      summary: Get transaction
      operationId: vectorsDBGetTransaction
      tags:
      - vectorsDB
      description: Get a transaction by its unique ID.
      responses:
        '200':
          description: Transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transaction'
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/get-transaction.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.read
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      parameters:
      - name: transactionId
        description: Transaction ID.
        required: true
        schema:
          type: string
          example: <TRANSACTION_ID>
        in: path
    patch:
      summary: Update transaction
      operationId: vectorsDBUpdateTransaction
      tags:
      - vectorsDB
      description: Update a transaction, to either commit or roll back its operations.
      responses:
        '200':
          description: Transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transaction'
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/update-transaction.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.write
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      parameters:
      - name: transactionId
        description: Transaction ID.
        required: true
        schema:
          type: string
          example: <TRANSACTION_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                commit:
                  description: Commit transaction?
                  type: boolean
                  default: false
                  example: false
                rollback:
                  description: Rollback transaction?
                  type: boolean
                  default: false
                  example: false
    delete:
      summary: Delete transaction
      operationId: vectorsDBDeleteTransaction
      tags:
      - vectorsDB
      description: Delete a transaction by its unique ID.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/delete-transaction.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.write
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      parameters:
      - name: transactionId
        description: Transaction ID.
        required: true
        schema:
          type: string
          example: <TRANSACTION_ID>
        in: path
  /vectorsdb/transactions/{transactionId}/operations:
    post:
      summary: Create operations
      operationId: vectorsDBCreateOperations
      tags:
      - vectorsDB
      description: Create multiple operations in a single transaction.
      responses:
        '201':
          description: Transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transaction'
      deprecated: false
      x-appwrite:
        group: transactions
        demo: vectorsdb/create-operations.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.write
        platforms:
        - console
        - server
        - client
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
          client:
            Project: []
      security:
      - Project: []
        Key: []
        Session: []
        JWT: []
      parameters:
      - name: transactionId
        description: Transaction ID.
        required: true
        schema:
          type: string
          example: <TRANSACTION_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                operations:
                  description: Array of staged operations.
                  type: array
                  default: []
                  example:
                  - action: create
                    databaseId: <DATABASE_ID>
                    collectionId: <COLLECTION_ID>
                    documentId: <DOCUMENT_ID>
                    data:
                      name: Walter O'Brien
                  items:
                    type: object
  /vectorsdb/{databaseId}:
    get:
      summary: Get database
      operationId: vectorsDBGet
      tags:
      - vectorsDB
      description: Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.
      responses:
        '200':
          description: Database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/database'
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/get.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.read
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
    put:
      summary: Update database
      operationId: vectorsDBUpdate
      tags:
      - vectorsDB
      description: Update a database by its unique ID.
      responses:
        '200':
          description: Database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/database'
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/update.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: 'Database name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
                enabled:
                  description: Is database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled.
                  type: boolean
                  default: true
                  example: false
                specification:
                  description: Database specification. Resizing between dedicated specifications changes cpu, memory, storage and the connection ceiling via a rolling cutover with zero downtime. Moving a `serverless` database onto a dedicated specification is a data migration, not a resize.
                  type: string
                  example: serverless
                  nullable: true
                replicas:
                  description: Number of high availability replicas (0-5) for the dedicated database backing this database. Only valid when the database is backed by a dedicated specification. High availability is enabled when greater than 0.
                  type: integer
                  example: 0
                  format: int32
                  nullable: true
                syncMode:
                  description: 'Replication sync mode for the dedicated database backing this database. Only valid when the database is backed by a dedicated specification; the mode is only in force once there is at least one replica. Allowed values: async, sync, quorum.'
                  type: string
                  example: async
                  nullable: true
              required:
              - name
    delete:
      summary: Delete database
      operationId: vectorsDBDelete
      tags:
      - vectorsDB
      description: Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: vectorsdb
        demo: vectorsdb/delete.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
  /vectorsdb/{databaseId}/collections:
    get:
      summary: List collections
      operationId: vectorsDBListCollections
      tags:
      - vectorsDB
      description: Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.
      responses:
        '200':
          description: VectorsDB Collections List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vectorsdbCollectionList'
      deprecated: false
      x-appwrite:
        group: collections
        demo: vectorsdb/list-collections.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.collections.read
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      - name: queries
        description: 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, documentSecurity'
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
        in: query
      - name: search
        description: 'Search term to filter your list results. Max length: 256 chars.'
        required: false
        schema:
          type: string
          example: <SEARCH>
          default: ''
        in: query
      - name: total
        description: When set to false, the total count returned will be 0 and will not be calculated.
        required: false
        schema:
          type: boolean
          example: false
          default: true
        in: query
    post:
      summary: Create collection
      operationId: vectorsDBCreateCollection
      tags:
      - vectorsDB
      description: Create a new Collection. Before using this route, you should create a new database resource using either a [server integration](https://appwrite.io/docs/server/databases#documentsDBCreateCollection) API or directly from your database console.
      responses:
        '201':
          description: VectorsDB Collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vectorsdbCollection'
      deprecated: false
      x-appwrite:
        group: collections
        demo: vectorsdb/create-collection.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.collections.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                collectionId:
                  description: Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
                  type: string
                  example: <COLLECTION_ID>
                  x-appwrite:
                    idGenerator: ID.unique
                name:
                  description: 'Collection name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
                dimension:
                  description: Embedding dimension.
                  type: integer
                  example: 1
                  format: int32
                permissions:
                  description: An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
                  type: array
                  example:
                  - read("any")
                  items:
                    type: string
                documentSecurity:
                  description: Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).
                  type: boolean
                  default: false
                  example: false
                enabled:
                  description: Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.
                  type: boolean
                  default: true
                  example: false
              required:
              - collectionId
              - name
              - dimension
  /vectorsdb/{databaseId}/collections/{collectionId}:
    get:
      summary: Get collection
      operationId: vectorsDBGetCollection
      tags:
      - vectorsDB
      description: Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.
      responses:
        '200':
          description: VectorsDB Collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vectorsdbCollection'
      deprecated: false
      x-appwrite:
        group: collections
        demo: vectorsdb/get-collection.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.collections.read
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      - name: collectionId
        description: Collection ID.
        required: true
        schema:
          type: string
          example: <COLLECTION_ID>
        in: path
    put:
      summary: Update collection
      operationId: vectorsDBUpdateCollection
      tags:
      - vectorsDB
      description: Update a collection by its unique ID.
      responses:
        '200':
          description: VectorsDB Collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vectorsdbCollection'
      deprecated: false
      x-appwrite:
        group: collections
        demo: vectorsdb/update-collection.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.collections.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      - name: collectionId
        description: Collection ID.
        required: true
        schema:
          type: string
          example: <COLLECTION_ID>
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: 'Collection name. Max length: 128 chars.'
                  type: string
                  example: <NAME>
                dimension:
                  description: Embedding dimensions.
                  type: integer
                  example: 1
                  format: int32
                permissions:
                  description: An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).
                  type: array
                  example:
                  - read("any")
                  items:
                    type: string
                documentSecurity:
                  description: Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).
                  type: boolean
                  default: false
                  example: false
                enabled:
                  description: Is collection enabled? When set to 'disabled', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.
                  type: boolean
                  default: true
                  example: false
              required:
              - name
    delete:
      summary: Delete collection
      operationId: vectorsDBDeleteCollection
      tags:
      - vectorsDB
      description: Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.
      responses:
        '204':
          description: No content
      deprecated: false
      x-appwrite:
        group: collections
        demo: vectorsdb/delete-collection.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.collections.write
        platforms:
        - console
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          server:
            Project: []
            Key: []
      security:
      - Project: []
        Key: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      - name: collectionId
        description: Collection ID.
        required: true
        schema:
          type: string
          example: <COLLECTION_ID>
        in: path
  /vectorsdb/{databaseId}/collections/{collectionId}/documents:
    get:
      summary: List documents
      operationId: vectorsDBListDocuments
      tags:
      - vectorsDB
      description: Get a list of all the user's documents in a given collection. You can use the query params to filter your results.
      responses:
        '200':
          description: Documents List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/documentList'
      deprecated: false
      x-appwrite:
        group: documents
        demo: vectorsdb/list-documents.md
        rate-limit: 0
        rate-time: 3600
        rate-key: url:{url},ip:{ip}
        scope: vectorsdb.documents.read
        platforms:
        - console
        - client
        - server
        packaging: false
        public: true
        auth:
          console:
            Project: []
          client:
            Project: []
          server:
            Project: []
            Session: []
      security:
      - Project: []
        Session: []
        Key: []
        JWT: []
      parameters:
      - name: databaseId
        description: Database ID.
        required: true
        schema:
          type: string
          example: <DATABASE_ID>
        in: path
      - name: collectionId
        description: Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#da

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