{
  "opencollection": "1.0.0",
  "info": {
    "name": "Chroma Server API",
    "version": "2.0.0"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "System",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Check server heartbeat",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/heartbeat"
          },
          "docs": "Returns a heartbeat response indicating the server is alive and accepting requests. Returns the current server timestamp as a nanosecond epoch."
        },
        {
          "info": {
            "name": "Get server version",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/version"
          },
          "docs": "Returns the version string of the running Chroma server."
        },
        {
          "info": {
            "name": "Run pre-flight checks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/pre-flight-checks"
          },
          "docs": "Returns the results of pre-flight checks that verify the server is properly configured and ready to accept requests."
        },
        {
          "info": {
            "name": "Check server health",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/healthcheck"
          },
          "docs": "Returns the health status of the Chroma server. Used by load balancers and orchestration tools to determine if the server is healthy and ready to serve traffic."
        },
        {
          "info": {
            "name": "Reset the server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/reset"
          },
          "docs": "Resets the Chroma server to its initial state, removing all data. This endpoint is typically only available in development or test configurations and may be disabled in production deployments."
        }
      ]
    },
    {
      "info": {
        "name": "Tenants",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Create a tenant",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new tenant in the Chroma server. Tenants are the top-level organizational unit and contain databases. A default tenant is created automatically on server startup."
        },
        {
          "info": {
            "name": "Get a tenant",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              }
            ]
          },
          "docs": "Returns an existing tenant by name. Includes the tenant name and unique identifier."
        }
      ]
    },
    {
      "info": {
        "name": "Databases",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List databases",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of items to return"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Number of items to skip before returning results"
              }
            ]
          },
          "docs": "Returns a list of all databases within the specified tenant. Supports pagination through limit and offset parameters."
        },
        {
          "info": {
            "name": "Create a database",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new database within the specified tenant. Databases contain collections and are the primary unit for organizing data within a tenant."
        },
        {
          "info": {
            "name": "Get a database",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              }
            ]
          },
          "docs": "Returns an existing database by name within the specified tenant. Includes the database name, unique identifier, and tenant association."
        },
        {
          "info": {
            "name": "Delete a database",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              }
            ]
          },
          "docs": "Deletes an existing database and all its collections from the specified tenant. This operation is irreversible."
        }
      ]
    },
    {
      "info": {
        "name": "Collections",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List collections",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of items to return"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Number of items to skip before returning results"
              }
            ]
          },
          "docs": "Returns a list of all collections within the specified database and tenant. Supports pagination through limit and offset parameters."
        },
        {
          "info": {
            "name": "Create a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new collection within the specified database and tenant. Collections store embeddings, documents, and associated metadata. You can optionally specify a get_or_create flag to return an existing collection if one with the same name already exists."
        },
        {
          "info": {
            "name": "Get a collection",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ]
          },
          "docs": "Returns an existing collection by its unique identifier within the specified database and tenant."
        },
        {
          "info": {
            "name": "Update a collection",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an existing collection's name or metadata. You can change the collection name and update or replace the metadata associated with the collection."
        },
        {
          "info": {
            "name": "Delete a collection",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ]
          },
          "docs": "Deletes an existing collection and all its records from the specified database. This operation is irreversible."
        }
      ]
    },
    {
      "info": {
        "name": "Records",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Count records in a collection",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/count",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ]
          },
          "docs": "Returns the number of records stored in the specified collection."
        },
        {
          "info": {
            "name": "Add records to a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/add",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Adds new records to the specified collection. Records consist of embeddings, optional documents, optional metadata, and optional URIs. Each record must have a unique ID. If a record with the same ID already exists, the operation will fail. Supports batch operations of up to 100,000 or more items at once."
        },
        {
          "info": {
            "name": "Get records from a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/get",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Retrieves records from the specified collection by their IDs or by a metadata filter. At least one of ids or where must be provided. Use the include parameter to specify which fields to return in the response."
        },
        {
          "info": {
            "name": "Update records in a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/update",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates existing records in the specified collection. Records are identified by their IDs. You can update the embeddings, documents, metadata, and URIs of existing records."
        },
        {
          "info": {
            "name": "Upsert records in a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/upsert",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Upserts records in the specified collection. If a record with the given ID already exists, it will be updated. If it does not exist, it will be created. This combines the functionality of add and update into a single operation."
        },
        {
          "info": {
            "name": "Delete records from a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/delete",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Deletes records from the specified collection. Records can be deleted by their IDs or by a metadata filter. The embeddings, documents, and metadata associated with each deleted record will be permanently removed."
        },
        {
          "info": {
            "name": "Query records in a collection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:8000/api/v2/tenants/:tenantName/databases/:databaseName/collections/:collectionId/query",
            "params": [
              {
                "name": "tenantName",
                "value": "",
                "type": "path",
                "description": "The name of the tenant"
              },
              {
                "name": "databaseName",
                "value": "",
                "type": "path",
                "description": "The name of the database"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the collection"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Performs a vector similarity search on the specified collection. Returns the nearest neighbors to the provided query embeddings or query texts. Supports metadata filtering with where clauses and document content filtering with where_document clauses. Results include distances, embeddings, documents, metadatas, and URIs based on the include parameter."
        }
      ]
    }
  ],
  "bundled": true
}