Gen3 AI (1.0.0)

Download OpenAPI specification:

Gen3 AI API.

Embeddings

Read embedding from collection

Read a single embedding from a specific collection.

Args: collection_name: Name of the collection. embedding_uuid: UUID of the embedding. dal: Data access layer dependency.

Returns: SingleEmbeddingResult

Raises: HTTPException: 404 if the collection or embedding is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
embedding_uuid
required
string <uuid> (Embedding Uuid)

Responses

Response samples

Content type
application/json
{
  • "vector": [
    ],
  • "input_index": 0,
  • "embedding_id": "18e0b745-2b45-46cb-a826-bc9049d1152c",
  • "info": {
    }
}

Update embedding in collection

Update the embedding vector for a given collection and embedding ID.

Args: request: The request object collection_name: Name of the collections. embedding_uuid: UUID of the embedding. body: Request body containing the new embedding vector. dal: Data access layer dependency.

Returns: SingleEmbeddingResult containing the updated embedding.

Raises: HTTPException: 404 if the collection is not found; 400 if update fails.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
embedding_uuid
required
string <uuid> (Embedding Uuid)
Request Body schema: application/json
required
Array of Embedding (numbers) or Embedding (null) (Embedding)
Metadata (object) or Metadata (null) (Metadata)

Responses

Request samples

Content type
application/json
{
  • "embedding": [
    ],
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "vector": [
    ],
  • "input_index": 0,
  • "embedding_id": "18e0b745-2b45-46cb-a826-bc9049d1152c",
  • "info": {
    }
}

Delete embedding from collection

Delete an embedding from a specific collection.

Args: request: The request object collection_name: Name of the collections. embedding_uuid: UUID of the embedding to delete. dal: Data access layer dependency.

Returns: None on success.

Raises: HTTPException: 404 if the collection or embedding is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
embedding_uuid
required
string <uuid> (Embedding Uuid)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Read all embeddings from collection

List all embeddings within a specific collection.

Args: request: The request object collection_name: Name of the collections. no_embeddings_info: If True, omit the 'info' block in each embedding result. dal: Data access layer dependency.

Returns: EmbeddingResponseNoCollection containing all embeddings in the collection.

Raises: HTTPException: 404 if the collection is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
query Parameters
no_embeddings_info
boolean (No Embeddings Info)
Default: false
page
integer (Page) >= 1
Default: 1
page_size
integer (Page Size) [ 100 .. 1000 ]
Default: 100

Responses

Response samples

Content type
application/json
{
  • "embeddings": [
    ],
  • "page": 0,
  • "page_size": 0,
  • "next_page": 0,
  • "prev_page": 0
}

Create embeddings in collection

TODO: implementaion for StringArrayInput and ai_model TODO: auth related TODO: work for authz_version

Create one or more embeddings in a specific collection.

This minimal implementation only accepts raw numeric vectors.

Args: request: The request object collection_name: Name of the collection. body: Request body containing a list of embedding vectors. ai_model: Optional model name; not used in this minimal version. no_embeddings_info: If True, omit the 'info' block in each embedding result. dal: Data access layer dependency.

Returns: EmbeddingResponseNoCollection containing the created embeddings.

Raises: HTTPException: 404 if collection is not found; 400 if dimensions mismatch.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
query Parameters
Ai Model (string) or Ai Model (null) (Ai Model)
no_embeddings_info
boolean (No Embeddings Info)
Default: false
Request Body schema: application/json
required
required
Array of objects (Embeddings)

Responses

Request samples

Content type
application/json
{
  • "embeddings": [
    ]
}

Response samples

Content type
application/json
{
  • "embeddings": [
    ]
}

Embeddings (Bulk Read)

Read select embeddings from unknown collections

TODO: collections list is needed as return? TODO: update dal.get_collection_by_id_bulk. remove duplicates?

Read a selection of embeddings by UUID across any collection.

Args: request: The request object embedding_uuids: List of embedding UUIDs to fetch. no_embeddings_info: If True, omit the 'info' block for each embedding. dal: Data access layer dependency.

Returns: EmbeddingResponse including collection metadata for each embedding.

Authorizations:
bearerAuth
query Parameters
no_embeddings_info
boolean (No Embeddings Info)
Default: false
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
"embedding_uuid_0"

Response samples

Content type
application/json
{
  • "embeddings": [
    ],
  • "collections": [
    ]
}

Read select embeddings from collection

Read a selection of embeddings by UUID from a specific collection.

Args: request: The request object collection_name: Name of the collections. embedding_uuids: List of embedding UUIDs to fetch. no_embeddings_info: If True, omit the 'info' block for each embedding. dal: Data access layer dependency.

Returns: EmbeddingResponse containing the embeddings found in the specified collection.

Raises: HTTPException: 404 if the collection is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
query Parameters
no_embeddings_info
boolean (No Embeddings Info)
Default: false
Request Body schema: application/json
required
Array
string <uuid>

Responses

Request samples

Content type
application/json
"embedding_uuid_0"

Response samples

Content type
application/json
{
  • "embeddings": [
    ]
}

Vectorstore Collections

Read all collections

List all existing collections.

Args: request: The request object dal: Data access layer dependency.

Returns: PaginatedCollectionsResponse containing all collections.

Authorizations:
bearerAuth
query Parameters
page
integer (Page) >= 1
Default: 1
page_size
integer (Page Size) [ 1 .. 1000 ]
Default: 100
collection_name
required
string (Collection Name)

Responses

Response samples

Content type
application/json
{
  • "collections": [
    ],
  • "page": 0,
  • "page_size": 0,
  • "next_page": 0,
  • "prev_page": 0
}

Create collection

Create a new collection.

Args: request: The request object body: Request body containing collection_name, description, and dimensions. dal: Data access layer dependency.

Returns: CollectionModel for the created collection.

Authorizations:
bearerAuth
Request Body schema: application/json
required
collection_name
required
string (Collection Name)
Description (string) or Description (null) (Description)
dimensions
required
integer (Dimensions)

Responses

Request samples

Content type
application/json
{
  • "collection_name": "string",
  • "description": "string",
  • "dimensions": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "collection_name": "string",
  • "description": "string",
  • "dimensions": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "self": "string"
}

Read collection info

Read information about a specific collection.

Args: collection_name: Name of the collection. dal: Data access layer dependency.

Returns: CollectionModel representing the collection.

Raises: HTTPException: 404 if collection is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "collection_name": "string",
  • "description": "string",
  • "dimensions": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "self": "string"
}

Update collection info

Update mutable metadata fields for a collection.

Args: collection_name: Name of the collection to update. body: Request body containing fields to update (e.g., description). dal: Data access layer dependency.

Returns: A simple success status dict.

Raises: HTTPException: 404 if collection is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
Request Body schema: application/json
required
Description (string) or Description (null) (Description)

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
null

Delete collection

Delete a collection by name.

Args: collection_name: Name of the collection to delete. dal: Data access layer dependency.

Returns: None on success.

Raises: HTTPException: 404 if collection is not found.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Search embeddings in collection

TODO: support for ai_model TODO: raw text search

Perform a vector search within a specific collection.

Args: request: The request object body: SearchRequestBody containing the query vector and parameters. collection_name: Name of the collection to search. ai_model: Optional model name; not used in this minimal implementation. no_embeddings_info: If True, omit the 'info' block in each embedding result. dal: Data access layer dependency.

Returns: SearchResponseNocollection containing search hits for this collection.

Raises: HTTPException: 404 if collection is not found; 400 if input is invalid.

Authorizations:
bearerAuth
path Parameters
collection_name
required
string (Collection Name)
query Parameters
Ai Model (string) or Ai Model (null) (Ai Model)
no_embeddings_info
boolean (No Embeddings Info)
Default: false
Request Body schema: application/json
required
required
Input (string) or Array of Input (numbers) (Input)
top_k
integer (Top K)
Default: 10
Range (number) or Range (null) (Range)
Filters (object) or Filters (null) (Filters)

Responses

Request samples

Content type
application/json
{
  • "input": "string",
  • "top_k": 10,
  • "range": 0,
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "embeddings": [
    ],
  • "collections": [
    ]
}

Search embeddings across unknown collections

TODO: support for ai_model TODO: how to handle diffs in dimensions? current logic is not sufficient.

Perform a vector search across multiple collections.

Args: request: The request object body: SearchRequestBody containing the query vector and parameters. collections: Optional comma-separated list of collection names to restrict the search. ai_model: Optional model name; not used in this minimal implementation. no_embeddings_info: If True, omit the 'info' block in each embedding result. dal: Data access layer dependency.

Returns: SearchResponse containing search hits across collections.

Raises: HTTPException: 400 if invalid collections are specified or input is invalid.

Authorizations:
bearerAuth
query Parameters
Collections (string) or Collections (null) (Collections)
Ai Model (string) or Ai Model (null) (Ai Model)
no_embeddings_info
boolean (No Embeddings Info)
Default: false
Request Body schema: application/json
required
required
Input (string) or Array of Input (numbers) (Input)
top_k
integer (Top K)
Default: 10
Range (number) or Range (null) (Range)
Filters (object) or Filters (null) (Filters)

Responses

Request samples

Content type
application/json
{
  • "input": "string",
  • "top_k": 10,
  • "range": 0,
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "embeddings": [
    ],
  • "collections": [
    ]
}

Inference

Standard Open Responses API

See official spec for details (https://openresponses.org). This OpenAPI spec here is auto-generated.

Authorizations:
bearerAuth
Request Body schema: application/json
required
Model (string) or Model (null) (Model)
Input (string) or (Array of Input (ItemReferenceParam (object) or ReasoningItemParam (object) or UserMessageItemParam (object) or SystemMessageItemParam (object) or DeveloperMessageItemParam (object) or AssistantMessageItemParam (object) or FunctionCallItemParam (object) or FunctionCallOutputItemParam (object))) or Input (null) (Input)
Previous Response Id (string) or Previous Response Id (null) (Previous Response Id)
Array of Include (strings) or Include (null) (Include)
Array of Tools (objects) or Tools (null) (Tools)
ToolChoice2 (object) or ToolChoice3 (string) or ToolChoice4 (object) or Tool Choice (null) (Tool Choice)
MetadataParam (object) or null
TextParam (object) or null
Temperature (number) or Temperature (null) (Temperature)
Top P (number) or Top P (null) (Top P)
Presence Penalty (number) or Presence Penalty (null) (Presence Penalty)
Frequency Penalty (number) or Frequency Penalty (null) (Frequency Penalty)
Parallel Tool Calls (boolean) or Parallel Tool Calls (null) (Parallel Tool Calls)
Stream (boolean) or Stream (null) (Stream)

Whether to stream response events as server-sent events.

StreamOptionsParam (object) or null
Background (boolean) or Background (null) (Background)

Whether to run the request in the background and return immediately.

MaxOutputTokens (integer) or null
MaxToolCalls (integer) or null
ReasoningParam (object) or null
SafetyIdentifier (string) or null
PromptCacheKey (string) or null
TruncationEnum (string) or null
Instructions (string) or Instructions (null) (Instructions)
Store (boolean) or Store (null) (Store)

Whether to store the response so it can be retrieved later.

ServiceTierEnum (string) or null
TopLogprobs (integer) or null

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "input": "string",
  • "previous_response_id": "string",
  • "include": [
    ],
  • "tools": [
    ],
  • "tool_choice": { },
  • "metadata": {
    },
  • "text": {
    },
  • "temperature": 0,
  • "top_p": 0,
  • "presence_penalty": 0,
  • "frequency_penalty": 0,
  • "parallel_tool_calls": true,
  • "stream": true,
  • "stream_options": {
    },
  • "background": true,
  • "max_output_tokens": 16,
  • "max_tool_calls": 1,
  • "reasoning": {
    },
  • "safety_identifier": "string",
  • "prompt_cache_key": "string",
  • "truncation": "auto",
  • "instructions": "string",
  • "store": true,
  • "service_tier": "auto",
  • "top_logprobs": 20
}

Response samples

Content type
Example
{
  • "id": "string",
  • "object": "response",
  • "created_at": 0,
  • "completed_at": 0,
  • "status": "string",
  • "incomplete_details": {
    },
  • "model": "string",
  • "previous_response_id": "string",
  • "instructions": "string",
  • "output": [
    ],
  • "error": {
    },
  • "tools": [
    ],
  • "tool_choice": {
    },
  • "truncation": "auto",
  • "parallel_tool_calls": true,
  • "text": {
    },
  • "top_p": 0,
  • "presence_penalty": 0,
  • "frequency_penalty": 0,
  • "top_logprobs": 0,
  • "temperature": 0,
  • "reasoning": {
    },
  • "usage": {
    },
  • "max_output_tokens": 0,
  • "max_tool_calls": 0,
  • "store": true,
  • "background": true,
  • "service_tier": "string",
  • "metadata": null,
  • "safety_identifier": "string",
  • "prompt_cache_key": "string"
}