Weaviate website screenshot

Weaviate

Weaviate is an open-source, AI-native vector database that enables developers to build semantic search and AI-powered applications. It stores data as vector embeddings alongside structured properties, enabling lightning-fast similarity search using HNSW or flat indexes. Weaviate supports multi-tenancy, automatic vectorization via configurable modules, GraphQL and REST APIs, and enterprise features including authentication, authorization, backups, and replication.

1 APIs 16 Features
Vector DatabaseAIMachine LearningSemantic SearchOpen SourceGraphQLKubernetes

APIs

Weaviate REST API

The Weaviate REST API provides full programmatic access to vector database operations including object CRUD, schema management, GraphQL vector search, multi-tenancy, backups, au...

Agent Skills

weaviate-cookbooks

AGENT SKILL

weaviate

AGENT SKILL

Collections

GraphQL

Weaviate GraphQL API

The Weaviate REST API provides full programmatic access to vector database operations including object CRUD, schema management, GraphQL vector search, multi-tenancy, backups, au...

GRAPHQL

Pricing Plans

Weaviate Plans Pricing

3 plans

PLANS

Rate Limits

Weaviate Rate Limits

4 limits

RATE LIMITS

FinOps

Features

Free Trial 14 days then pay-as-you-go
Flex from $45/mo: $0.255/GiB storage, $0.0264/GiB backup
Premium from $400/mo: $0.31875/GiB storage, $0.033/GiB backup
Hybrid search (vector + BM25)
Dynamic index, compression, multi-tenancy
REST, GraphQL, and gRPC APIs
Throughput scales with cluster size
Batch import recommended at 100 objects/request
Built-in modules for OpenAI, Cohere, HuggingFace embeddings
Generative search modules (RAG-style)
Multi-tenancy with strict isolation
Bring Your Own Vectors (BYOV)
RBAC baseline security
99.5% SLA Flex, up to 99.95% Premium
Available on AWS, GCP, Azure
Open-source self-hosted alternative

Use Cases

Semantic Search

Build semantic and hybrid search applications using vector similarity and BM25 keyword search combined.

RAG Applications

Power Retrieval Augmented Generation (RAG) pipelines by storing and retrieving relevant context for large language model prompts.

Multi-Modal Search

Search across text, images, and other modalities using unified vector representations.

AI-Powered Recommendations

Build recommendation engines using object similarity search to find related items based on vector proximity.

Semantic Vocabularies

Weaviate Context

0 classes · 402 properties

JSON-LD

API Governance Rules

Weaviate API Rules

22 rules · 8 errors 6 warnings 8 info

SPECTRAL

JSON Structure

Weaviate Additional Properties Structure

0 properties

JSON STRUCTURE

Weaviate Alias Response Structure

1 properties

JSON STRUCTURE

Weaviate Alias Structure

2 properties

JSON STRUCTURE

Weaviate Async Replication Status Structure

3 properties

JSON STRUCTURE

Weaviate Backup Config Structure

6 properties

JSON STRUCTURE

Weaviate Backup Create Request Structure

5 properties

JSON STRUCTURE

Weaviate Backup Create Response Structure

7 properties

JSON STRUCTURE

Weaviate Backup List Response Structure

0 properties

JSON STRUCTURE

Weaviate Backup Restore Request Structure

5 properties

JSON STRUCTURE

Weaviate Backup Restore Response Structure

6 properties

JSON STRUCTURE

Weaviate Batch Delete Response Structure

5 properties

JSON STRUCTURE

Weaviate Batch Delete Structure

4 properties

JSON STRUCTURE

Weaviate Batch Reference Response Structure

0 properties

JSON STRUCTURE

Weaviate Batch Reference Structure

3 properties

JSON STRUCTURE

Weaviate Batch Stats Structure

2 properties

JSON STRUCTURE

Weaviate Bm25 Config Structure

2 properties

JSON STRUCTURE

Weaviate C11Y Extension Structure

3 properties

JSON STRUCTURE

Weaviate C11Y Nearest Neighbors Structure

0 properties

JSON STRUCTURE

Weaviate C11Y Vector Structure

0 properties

JSON STRUCTURE

Weaviate C11Y Words Response Structure

2 properties

JSON STRUCTURE

Weaviate Class Structure

13 properties

JSON STRUCTURE

Weaviate Classification Meta Structure

5 properties

JSON STRUCTURE

Weaviate Classification Structure

10 properties

JSON STRUCTURE

Weaviate Dbuser Info Structure

8 properties

JSON STRUCTURE

Weaviate Deprecation Structure

11 properties

JSON STRUCTURE

Weaviate Distributed Task Structure

9 properties

JSON STRUCTURE

Weaviate Distributed Task Unit Structure

7 properties

JSON STRUCTURE

Weaviate Distributed Tasks Structure

0 properties

JSON STRUCTURE

Weaviate Error Response Structure

1 properties

JSON STRUCTURE

Weaviate Export Create Request Structure

4 properties

JSON STRUCTURE

Weaviate Export Create Response Structure

6 properties

JSON STRUCTURE

Weaviate Export Status Response Structure

10 properties

JSON STRUCTURE

Weaviate Geo Coordinates Structure

2 properties

JSON STRUCTURE

Weaviate Graph Qlerror Structure

3 properties

JSON STRUCTURE

Weaviate Graph Qlqueries Structure

0 properties

JSON STRUCTURE

Weaviate Graph Qlquery Structure

3 properties

JSON STRUCTURE

Weaviate Graph Qlresponse Structure

2 properties

JSON STRUCTURE

Weaviate Graph Qlresponses Structure

0 properties

JSON STRUCTURE

Weaviate Group Type Structure

0 properties

JSON STRUCTURE

Weaviate Inverted Index Config Structure

9 properties

JSON STRUCTURE

Weaviate Json Object Structure

0 properties

JSON STRUCTURE

Weaviate Link Structure

4 properties

JSON STRUCTURE

Weaviate Meta Structure

4 properties

JSON STRUCTURE

Weaviate Multi Tenancy Config Structure

3 properties

JSON STRUCTURE

Weaviate Multiple Ref Structure

0 properties

JSON STRUCTURE

Weaviate Namespace List Response Structure

0 properties

JSON STRUCTURE

Weaviate Namespace Structure

1 properties

JSON STRUCTURE

Weaviate Nested Property Structure

9 properties

JSON STRUCTURE

Weaviate Node Shard Status Structure

10 properties

JSON STRUCTURE

Weaviate Node Stats Structure

2 properties

JSON STRUCTURE

Weaviate Node Status Structure

8 properties

JSON STRUCTURE

Weaviate Nodes Status Response Structure

1 properties

JSON STRUCTURE

Weaviate Object Structure

10 properties

JSON STRUCTURE

Weaviate Object Ttl Config Structure

4 properties

JSON STRUCTURE

Weaviate Objects Get Response Structure

0 properties

JSON STRUCTURE

Weaviate Objects List Response Structure

3 properties

JSON STRUCTURE

Weaviate Peer Update Structure

4 properties

JSON STRUCTURE

Weaviate Permission Structure

12 properties

JSON STRUCTURE

Weaviate Phone Number Structure

7 properties

JSON STRUCTURE

Weaviate Principal Structure

5 properties

JSON STRUCTURE

Weaviate Property Schema Structure

0 properties

JSON STRUCTURE

Weaviate Property Structure

12 properties

JSON STRUCTURE

Weaviate Property Tokenize Request Structure

1 properties

JSON STRUCTURE

Weaviate Raft Statistics Structure

18 properties

JSON STRUCTURE

Weaviate Replication Async Config Structure

14 properties

JSON STRUCTURE

Weaviate Replication Config Structure

4 properties

JSON STRUCTURE

Weaviate Replication Scale Plan Structure

3 properties

JSON STRUCTURE

Weaviate Replication Shard Replicas Structure

2 properties

JSON STRUCTURE

Weaviate Replication Sharding State Structure

2 properties

JSON STRUCTURE

Weaviate Restore Config Structure

6 properties

JSON STRUCTURE

Weaviate Role Structure

2 properties

JSON STRUCTURE

Weaviate Roles List Response Structure

0 properties

JSON STRUCTURE

Weaviate Schema Structure

3 properties

JSON STRUCTURE

Weaviate Shard Progress Structure

4 properties

JSON STRUCTURE

Weaviate Shard Status Get Response Structure

3 properties

JSON STRUCTURE

Weaviate Shard Status List Structure

0 properties

JSON STRUCTURE

Weaviate Shard Status Structure

1 properties

JSON STRUCTURE

Weaviate Single Ref Structure

5 properties

JSON STRUCTURE

Weaviate Statistics Structure

13 properties

JSON STRUCTURE

Weaviate Stopword Config Structure

3 properties

JSON STRUCTURE

Weaviate Tenant Structure

2 properties

JSON STRUCTURE

Weaviate Text Analyzer Config Structure

3 properties

JSON STRUCTURE

Weaviate Tokenize Request Structure

5 properties

JSON STRUCTURE

Weaviate Tokenize Response Structure

2 properties

JSON STRUCTURE

Weaviate Tokenizer User Dict Config Structure

2 properties

JSON STRUCTURE

Weaviate User Api Key Structure

1 properties

JSON STRUCTURE

Weaviate User Own Info Structure

3 properties

JSON STRUCTURE

Weaviate User Type Input Structure

0 properties

JSON STRUCTURE

Weaviate User Type Output Structure

0 properties

JSON STRUCTURE

Weaviate Vector Config Structure

3 properties

JSON STRUCTURE

Weaviate Vector Structure

0 properties

JSON STRUCTURE

Weaviate Vector Weights Structure

0 properties

JSON STRUCTURE

Weaviate Vectors Structure

0 properties

JSON STRUCTURE

Weaviate Where Filter Geo Range Structure

2 properties

JSON STRUCTURE

Weaviate Where Filter Structure

16 properties

JSON STRUCTURE

Example Payloads

Weaviate Alias Example

2 fields

EXAMPLE

Weaviate Batch Stats Example

2 fields

EXAMPLE

Weaviate Bm25 Config Example

2 fields

EXAMPLE

Weaviate Class Example

13 fields

EXAMPLE

Weaviate Dbuser Info Example

8 fields

EXAMPLE

Weaviate Deprecation Example

11 fields

EXAMPLE

Weaviate Link Example

4 fields

EXAMPLE

Weaviate Meta Example

4 fields

EXAMPLE

Weaviate Namespace Example

1 fields

EXAMPLE

Weaviate Node Stats Example

2 fields

EXAMPLE

Weaviate Node Status Example

8 fields

EXAMPLE

Weaviate Object Example

10 fields

EXAMPLE

Weaviate Peer Update Example

4 fields

EXAMPLE

Weaviate Permission Example

12 fields

EXAMPLE

Weaviate Principal Example

5 fields

EXAMPLE

Weaviate Property Example

12 fields

EXAMPLE

Weaviate Role Example

2 fields

EXAMPLE

Weaviate Schema Example

3 fields

EXAMPLE

Weaviate Single Ref Example

5 fields

EXAMPLE

Weaviate Statistics Example

13 fields

EXAMPLE

Weaviate Tenant Example

2 fields

EXAMPLE

Weaviate Vectors Example

1 fields

EXAMPLE

Weaviate Where Filter Example

16 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🔗
Documentation
Documentation
👥
GitHubRepository
GitHubRepository
👥
GitHubOrganization
GitHubOrganization
🚀
GettingStarted
GettingStarted
🔗
Learn
Learn
📰
Blog
Blog
🔗
Community
Community
🔗
Forums
Forums
🔗
Slack
Slack
💰
Pricing
Pricing
🔗
Podcast
Podcast
📰
Newsletter
Newsletter
🔗
Events
Events
📜
TermsOfService
TermsOfService
🔗
Security
Security
📄
ChangeLog
ChangeLog
💬
Support
Support
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
MCPServer
MCPServer
🔗
AgentSkills
AgentSkills
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Weaviate REST API
  version: 1.38.0-dev
request:
  auth:
    type: apikey
    key: Authorization
    value: '{{Authorization}}'
    placement: header
items:
- info:
    name: Default
    type: folder
  items:
  - info:
      name: Weaviate List Available Endpoints
      type: http
    http:
      method: GET
      url: http://localhost:8080/
    docs: Get links to other endpoints to help discover the REST API.
  - info:
      name: Weaviate Check Application Liveness
      type: http
    http:
      method: GET
      url: http://localhost:8080/.well-known/live
    docs: Indicates if the Weaviate instance is running and responsive to basic HTTP requests. Primarily used for health checks,
      such as Kubernetes liveness probes.
  - info:
      name: Weaviate Check Application Readiness
      type: http
    http:
      method: GET
      url: http://localhost:8080/.well-known/ready
    docs: Indicates if the Weaviate instance has completed its startup routines and is prepared to accept user traffic (data
      import, queries, etc.). Used for readiness checks, such as Kubernetes readiness probes.
- info:
    name: well-known
    type: folder
  items:
  - info:
      name: Weaviate Get OIDC Configuration
      type: http
    http:
      method: GET
      url: http://localhost:8080/.well-known/openid-configuration
    docs: Provides OpenID Connect (OIDC) discovery information if OIDC authentication is configured for Weaviate. Returns
      details like the token issuer URL, client ID, and required scopes.
- info:
    name: replication
    type: folder
  items:
  - info:
      name: Weaviate Initiate A Replica Movement
      type: http
    http:
      method: POST
      url: http://localhost:8080/replication/replicate
      body:
        type: json
        data: '{}'
    docs: Begins an asynchronous operation to move or copy a specific shard replica from its current node to a designated
      target node. The operation involves copying data, synchronizing, and potentially decommissioning the source replica.
  - info:
      name: Weaviate Delete All Replication Operations
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/replication/replicate
    docs: Schedules all replication operations for deletion across all collections, shards, and nodes.
  - info:
      name: Weaviate Force Delete Replication Operations
      type: http
    http:
      method: POST
      url: http://localhost:8080/replication/replicate/force-delete
      body:
        type: json
        data: '{}'
    docs: USE AT OWN RISK! Synchronously force delete operations from the FSM. This will not perform any checks on which state
      the operation is in so may lead to data corruption or loss. It is recommended to first scale the number of replication
      engine workers to 0 before calling this endpoint to ensure no operations are in-flight.
  - info:
      name: Weaviate Retrieve A Replication Operation
      type: http
    http:
      method: GET
      url: http://localhost:8080/replication/replicate/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the replication operation to get details for.
      - name: includeHistory
        value: ''
        type: query
        description: Whether to include the history of the replication operation.
    docs: Fetches the current status and detailed information for a specific replication operation, identified by its unique
      ID. Optionally includes historical data of the operation's progress if requested.
  - info:
      name: Weaviate Delete A Replication Operation
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/replication/replicate/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the replication operation to delete.
    docs: Removes a specific replication operation. If the operation is currently active, it will be cancelled and its resources
      cleaned up before the operation is deleted.
  - info:
      name: Weaviate List Replication Operations
      type: http
    http:
      method: GET
      url: http://localhost:8080/replication/replicate/list
      params:
      - name: targetNode
        value: ''
        type: query
        description: The name of the target node to get details for.
      - name: collection
        value: ''
        type: query
        description: The name of the collection to get details for.
      - name: shard
        value: ''
        type: query
        description: The shard to get details for.
      - name: includeHistory
        value: ''
        type: query
        description: Whether to include the history of the replication operation.
    docs: Retrieves a list of currently registered replication operations, optionally filtered by collection, shard, or node
      ID.
  - info:
      name: Weaviate Cancel A Replication Operation
      type: http
    http:
      method: POST
      url: http://localhost:8080/replication/replicate/:id/cancel
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the replication operation to cancel.
    docs: Requests the cancellation of an active replication operation identified by its ID. The operation will be stopped,
      but its record will remain in the `CANCELLED` state (can't be resumed) and will not be automatically deleted.
  - info:
      name: Weaviate Get Sharding State
      type: http
    http:
      method: GET
      url: http://localhost:8080/replication/sharding-state
      params:
      - name: collection
        value: ''
        type: query
        description: The collection name to get the sharding state for.
      - name: shard
        value: ''
        type: query
        description: The shard to get the sharding state for.
    docs: Fetches the current sharding state, including replica locations and statuses, for all collections or a specified
      collection. If a shard name is provided along with a collection, the state for that specific shard is returned.
  - info:
      name: Weaviate Get Replication Scale Plan
      type: http
    http:
      method: GET
      url: http://localhost:8080/replication/scale
      params:
      - name: collection
        value: ''
        type: query
        description: The collection name to get the scaling plan for.
      - name: replicationFactor
        value: ''
        type: query
        description: The desired replication factor to scale to. Must be a positive integer greater than zero.
    docs: Computes and returns a replication scale plan for a given collection and desired replication factor. The plan includes,
      for each shard, a list of nodes to be added and a list of nodes to be removed.
  - info:
      name: Weaviate Apply Replication Scaling Plan
      type: http
    http:
      method: POST
      url: http://localhost:8080/replication/scale
      body:
        type: json
        data: '{}'
    docs: Apply a replication scaling plan that specifies nodes to add or remove per shard for a given collection.
- info:
    name: users
    type: folder
  items:
  - info:
      name: Weaviate Get Current User Info
      type: http
    http:
      method: GET
      url: http://localhost:8080/users/own-info
    docs: Get information about the currently authenticated user, including username and assigned roles.
  - info:
      name: Weaviate List All Users
      type: http
    http:
      method: GET
      url: http://localhost:8080/users/db
      params:
      - name: includeLastUsedTime
        value: ''
        type: query
        description: Whether to include the last time the users were utilized.
    docs: Retrieves a list of all database (`db` user type) users with their roles and status information.
  - info:
      name: Weaviate Get User Info
      type: http
    http:
      method: GET
      url: http://localhost:8080/users/db/:user_id
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
      - name: includeLastUsedTime
        value: ''
        type: query
        description: Whether to include the last used time of the given user
    docs: Retrieve detailed information about a specific database user (`db` user type), including their roles, status, and
      type.
  - info:
      name: Weaviate Create A New User
      type: http
    http:
      method: POST
      url: http://localhost:8080/users/db/:user_id
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
      body:
        type: json
        data: '{}'
    docs: Create a new database (`db` user type) user with the specified name. Returns an API key for the newly created user.
  - info:
      name: Weaviate Delete A User
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/users/db/:user_id
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
    docs: Delete a database user. You can't delete your current user.
  - info:
      name: Weaviate Rotate API Key Of A User
      type: http
    http:
      method: POST
      url: http://localhost:8080/users/db/:user_id/rotate-key
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
    docs: Revoke the current API key for the specified database user (`db` user type) and generate a new one.
  - info:
      name: Weaviate Activate A User
      type: http
    http:
      method: POST
      url: http://localhost:8080/users/db/:user_id/activate
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
    docs: Activate a deactivated database user (`db` user type).
  - info:
      name: Weaviate Deactivate A User
      type: http
    http:
      method: POST
      url: http://localhost:8080/users/db/:user_id/deactivate
      params:
      - name: user_id
        value: ''
        type: path
        description: The name of the user.
      body:
        type: json
        data: '{}'
    docs: Deactivate a database user (`db` user type).
- info:
    name: authz
    type: folder
  items:
  - info:
      name: Weaviate Get All Roles
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/roles
    docs: Get all roles and their assigned permissions.
  - info:
      name: Weaviate Create New Role
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/roles
      body:
        type: json
        data: '{}'
    docs: Create a new role with the specified permissions.
  - info:
      name: Weaviate Add Permissions To A Role
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/roles/:id/add-permissions
      params:
      - name: id
        value: ''
        type: path
        description: The name (ID) of the role being modified.
      body:
        type: json
        data: '{}'
    docs: Add new permissions to an existing role without affecting current permissions.
  - info:
      name: Weaviate Remove Permissions From A Role
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/roles/:id/remove-permissions
      params:
      - name: id
        value: ''
        type: path
        description: The name of the role being modified.
      body:
        type: json
        data: '{}'
    docs: Permissions can be revoked from a specified role. Removing all permissions from a role will delete the role itself.
  - info:
      name: Weaviate Get A Role
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/roles/:id
      params:
      - name: id
        value: ''
        type: path
        description: The name of the role.
    docs: Fetch a role by its name.
  - info:
      name: Weaviate Delete A Role
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/authz/roles/:id
      params:
      - name: id
        value: ''
        type: path
        description: The name of the role.
    docs: Deleting a role will remove it from the system, and revoke the associated permissions from all users who had this
      role.
  - info:
      name: Weaviate Check Whether A Role Possesses A Permission
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/roles/:id/has-permission
      params:
      - name: id
        value: ''
        type: path
        description: The name of the role.
      body:
        type: json
        data: '{}'
    docs: Check whether a role has the specified permissions.
  - info:
      name: Weaviate Get Users Assigned To A Role
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/roles/:id/users
      params:
      - name: id
        value: ''
        type: path
        description: The name of the role.
    docs: Get all the users (`db` + `oidc`) who have been assigned a specific role. Deprecated, will be removed when v1.29
      is not supported anymore.
  - info:
      name: Weaviate Get Users Assigned To A Role
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/roles/:id/user-assignments
      params:
      - name: id
        value: ''
        type: path
        description: The name (ID) of the role.
    docs: Fetch a list of users which have the specified role.
  - info:
      name: Weaviate Get Groups That Have A Specific Role Assigned
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/roles/:id/group-assignments
      params:
      - name: id
        value: ''
        type: path
        description: The unique name of the role.
    docs: Retrieves a list of all groups that have been assigned a specific role, identified by its name.
  - info:
      name: Weaviate Get Roles Assigned To A User
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/users/:id/roles
      params:
      - name: id
        value: ''
        type: path
        description: The name of the user.
    docs: Retrieve the roles assigned to a specific user (`db` + `oidc`). Deprecated, will be removed when 1.29 is not supported
      anymore
  - info:
      name: Weaviate Get Roles Assigned To A User
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/users/:id/roles/:userType
      params:
      - name: id
        value: ''
        type: path
        description: The name of the user.
      - name: userType
        value: ''
        type: path
        description: The type of the user.
      - name: includeFullRoles
        value: ''
        type: query
        description: Whether to include detailed role information like its assigned permissions.
    docs: Get all the roles for a specific user (`db` or `oidc`).
  - info:
      name: Weaviate Assign A Role To A User
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/users/:id/assign
      params:
      - name: id
        value: ''
        type: path
        description: The name of the user.
      body:
        type: json
        data: '{}'
    docs: Assign one or more roles to a user. Users can have multiple roles.
  - info:
      name: Weaviate Revoke A Role From A User
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/users/:id/revoke
      params:
      - name: id
        value: ''
        type: path
        description: The name of the user.
      body:
        type: json
        data: '{}'
    docs: Remove one or more roles from a user.
  - info:
      name: Weaviate Assign A Role To A Group
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/groups/:id/assign
      params:
      - name: id
        value: ''
        type: path
        description: The name of the group.
      body:
        type: json
        data: '{}'
    docs: Assign roles to the specified group.
  - info:
      name: Weaviate Revoke A Role From A Group
      type: http
    http:
      method: POST
      url: http://localhost:8080/authz/groups/:id/revoke
      params:
      - name: id
        value: ''
        type: path
        description: The name of the group.
      body:
        type: json
        data: '{}'
    docs: Revoke roles from the specified group.
  - info:
      name: Weaviate Get Roles Assigned To A Specific Group
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/groups/:id/roles/:groupType
      params:
      - name: id
        value: ''
        type: path
        description: The unique name of the group.
      - name: groupType
        value: ''
        type: path
        description: The type of the group.
      - name: includeFullRoles
        value: ''
        type: query
        description: If true, the response will include the full role definitions with all associated permissions. If false,
          only role names are returned.
    docs: Retrieves a list of all roles assigned to a specific group. The group must be identified by both its name (`id`)
      and its type (`db` or `oidc`).
  - info:
      name: Weaviate List All Groups Of A Specific Type
      type: http
    http:
      method: GET
      url: http://localhost:8080/authz/groups/:groupType
      params:
      - name: groupType
        value: ''
        type: path
        description: The type of group to retrieve.
    docs: Retrieves a list of all available group names for a specified group type (`oidc` or `db`).
- info:
    name: objects
    type: folder
  items:
  - info:
      name: Weaviate List Objects
      type: http
    http:
      method: GET
      url: http://localhost:8080/objects
      params:
      - name: after
        value: ''
        type: query
        description: A threshold UUID of the objects to retrieve after, using an UUID-based ordering. This object is not part
          of the set. <br/><br/>Must be used with collection name (`class`), typically in conjunction with `limit`. <br/><br/>Note
          `after` cannot be used with `offset` or `sort`. <br/><br/>For a null value similar to offset=0, set an empty string
          in the request, i.e. `after=` or `after`.
      - name: offset
        value: ''
        type: query
        description: The starting index of the result window. Note `offset` will retrieve `offset+limit` results and return
          `limit` results from the object with index `offset` onwards. Limited by the value of `QUERY_MAXIMUM_RESULTS`. <br/><br/>Should
          be used in conjunction with `limit`. <br/><br/>Cannot be used with `after`.
      - name: limit
        value: ''
        type: query
        description: The maximum number of items to be returned per page. The default is 25 unless set otherwise as an environment
          variable.
      - name: include
        value: ''
        type: query
        description: 'Include additional information, such as classification information. Allowed values include: `classification`,
          `vector` and `interpretation`.'
      - name: sort
        value: ''
        type: query
        description: Name(s) of the property to sort by - e.g. `city`, or `country,city`.
      - name: order
        value: ''
        type: query
        description: 'Order parameter to tell how to order (asc or desc) data within given field. Should be used in conjunction
          with `sort` parameter. If providing multiple `sort` values, provide multiple `order` values in corresponding order,
          e.g.: `sort=author_name,title&order=desc,asc`.'
      - name: class
        value: ''
        type: query
        description: The collection from which to query objects.  <br/><br/>Note that if the collection name (`class`) is
          not provided, the response will not include any objects.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
    docs: Retrieves a list of data objects. By default, objects are returned in reverse order of creation. Requires a collection
      name (`class`) parameter to specify which collection's objects to list, otherwise, returns an empty list.
  - info:
      name: Weaviate Create An Object
      type: http
    http:
      method: POST
      url: http://localhost:8080/objects
      params:
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      body:
        type: json
        data: '{}'
    docs: Creates a new data object. The object's metadata and schema values are validated before creation.<br/><br/>**Note
      (batch import)**:<br/>If you plan on importing a large number of objects, using the `/batch/objects` endpoint is significantly
      more efficient than sending multiple single requests.<br/><br/>**Note (idempotence)**:<br/>This operation (POST) fails
      if an object with the provided ID already exists. To update an existing object, use the PUT or PATCH methods.
  - info:
      name: Weaviate Get An Object
      type: http
    http:
      method: GET
      url: http://localhost:8080/objects/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be retrieved.
      - name: include
        value: ''
        type: query
        description: 'Include additional information, such as classification information. Allowed values include: `classification`,
          `vector` and `interpretation`.'
    docs: 'Get a specific object based on its UUID. Also available as Websocket bus. <br/><br/>**Note**: This endpoint is
      deprecated and will be removed in a future version. Use the `/objects/{className}/{id}` endpoint instead.'
  - info:
      name: Weaviate Update An Object
      type: http
    http:
      method: PUT
      url: http://localhost:8080/objects/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be replaced.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      body:
        type: json
        data: '{}'
    docs: 'Updates an object based on its UUID. Given meta-data and schema values are validated. `lastUpdateTimeUnix` is set
      to the time this function is called. <br/><br/>**Note**: This endpoint is deprecated and will be removed in a future
      version. Use the `/objects/{className}/{id}` endpoint instead.'
  - info:
      name: Weaviate Patch An Object
      type: http
    http:
      method: PATCH
      url: http://localhost:8080/objects/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be patched.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      body:
        type: json
        data: '{}'
    docs: 'Update an object based on its UUID (using patch semantics). This method supports json-merge style patch semantics
      (RFC 7396). Provided meta-data and schema values are validated. `lastUpdateTimeUnix` is set to the time this function
      is called. <br/><br/>**Note**: This endpoint is deprecated and will be removed in a future version. Use the `/objects/{className}/{id}`
      endpoint instead.'
  - info:
      name: Weaviate Delete An Object
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/objects/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be deleted.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
    docs: 'Deletes an object from the database based on its UUID. <br/><br/>**Note**: This endpoint is deprecated and will
      be removed in a future version. Use the `/objects/{className}/{id}` endpoint instead.'
  - info:
      name: Weaviate Check If An Object Exists
      type: http
    http:
      method: HEAD
      url: http://localhost:8080/objects/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to check.
    docs: 'Checks if an object exists in the system based on its UUID. <br/><br/>**Note**: This endpoint is deprecated and
      will be removed in a future version. Use the `/objects/{className}/{id}` endpoint instead.'
  - info:
      name: Weaviate Get An Object
      type: http
    http:
      method: GET
      url: http://localhost:8080/objects/:className/:id
      params:
      - name: className
        value: ''
        type: path
        description: Name of the collection (class) the object belongs to.
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be retrieved.
      - name: include
        value: ''
        type: query
        description: 'Include additional information, such as classification information. Allowed values include: `classification`,
          `vector` and `interpretation`.'
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      - name: node_name
        value: ''
        type: query
        description: The target node which should fulfill the request.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
    docs: Get a data object based on its collection name (`className`) and UUID (`id`).
  - info:
      name: Weaviate Replace An Object
      type: http
    http:
      method: PUT
      url: http://localhost:8080/objects/:className/:id
      params:
      - name: className
        value: ''
        type: path
        description: Name of the collection (class) the object belongs to.
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be replaced.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      body:
        type: json
        data: '{}'
    docs: Replaces properties of an existing data object. The object is identified by its collection name (`className`) and
      UUID (`id`). The request body must contain the complete object definition with the new property values.
  - info:
      name: Weaviate Patch An Object
      type: http
    http:
      method: PATCH
      url: http://localhost:8080/objects/:className/:id
      params:
      - name: className
        value: ''
        type: path
        description: Name of the collection (class) the object belongs to.
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be patched.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      body:
        type: json
        data: '{}'
    docs: Updates specific properties of an existing data object using JSON merge patch semantics (RFC 7396). The object is
      identified by its collection name (`className`) and UUID (`id`). Only the fields provided in the request body are modified.
      Metadata and schema values are validated, and the object's `lastUpdateTimeUnix` is updated.
  - info:
      name: Weaviate Delete An Object
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/objects/:className/:id
      params:
      - name: className
        value: ''
        type: path
        description: Name of the collection (class) the object belongs to.
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to be deleted.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
    docs: Removes a data object from a specific collection, identified by its collection name (`className`) and UUID (`id`).<br/><br/>**Note
      on deleting references (legacy format):**<br/>For backward compatibility with older beacon formats (lacking a collection
      name), deleting a reference requires the beacon in the request to exactly match the stored format. Beacons always use
      `localhost` as the host, indicating the target is within the same Weaviate instance.
  - info:
      name: Weaviate Check If An Object Exists
      type: http
    http:
      method: HEAD
      url: http://localhost:8080/objects/:className/:id
      params:
      - name: className
        value: ''
        type: path
        description: Name of the collection (class) the object belongs to.
      - name: id
        value: ''
        type: path
        description: Unique UUID of the object to check.
      - name: consistency_level
        value: ''
        type: query
        description: Determines how many replicas must acknowledge a request before it is considered successful.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
    docs: Verifies the existence of a specific data object within a collection (class), identified by its collection name
      (`className`) and UUID (`id`), without returning the object itself.<br/><br/>This is faster than a GET request as it
      avoids retrieving and processing object data. Existence is confirmed by a 204 No Content status code, while non-existence
      results in a 404 Not Found.
  - info:
      name: Weaviate Add An Object Reference
      type: http
    http:
      method: POST
      url: http://localhost:8080/objects/:id/references/:propertyName
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the source object.
      - name: propertyName
        value: ''
        type: path
        description: Unique name of the reference property of the source object.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
      body:
        type: json
        data: '{}'
    docs: 'Add a reference to a specific property of a data object. <br/><br/>**Note**: This endpoint is deprecated and will
      be removed in a future version. Use the `/objects/{className}/{id}/references/{propertyName}` endpoint instead.'
  - info:
      name: Weaviate Replace Object References
      type: http
    http:
      method: PUT
      url: http://localhost:8080/objects/:id/references/:propertyName
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the source object.
      - name: propertyName
        value: ''
        type: path
        description: Unique name of the reference property of the source object.
      - name: tenant
        value: ''
        type: query
        description: Specifies the tenant in a request targeting a multi-tenant collection (class).
      body:
        type: json
        data: '{}'
    docs: 'Replace all references in cross-reference property of an object. <br/><br/>**Note**: This endpoint is deprecated
      and will be removed in a future version. Use the `/objects/{className}/{id}/references/{propertyName}` endpoint instead.'
  - info:
      name: Weaviate Delete An Object Reference
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/objects/:id/references/:propertyName
      params:
      - name: id
        value: ''
        type: path
        description: Unique UUID of the source object.
      - name: propertyName
        value: ''
        type: path
        description: Unique name of the reference pro

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/weaviate/refs/heads/main/apis.yml