Vector Search API — Agentuity Documentation

Vector Search API

Semantic search with automatic embedding generation

Semantic search with automatic embedding generation.

https://catalyst-usw.agentuity.cloud

Authentication

All requests require a Bearer token. Pass your SDK key in the Authorization header.

HeaderValue
AuthorizationBearer YOUR_SDK_KEY

You can find your SDK key in the Agentuity Console under your project settings.


Upsert Vectors

Create or update vectors in a namespace. Provide either document (auto-embeds) or pre-computed embeddings per item.

PUT/vector/{namespace}
https://catalyst-usw.agentuity.cloud/vector/{namespace}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace name

Request Body

JSON array of vector documents to upsert.

FieldTypeDescription
keystringthe key of the vector object which can be used as a reference. the value of this key is opaque to the vector storage.
metadataobjectthe metadata to upsert (optional)
ttlnumber | nullTime-to-live in seconds for the vector. Controls when the vector expires and is automatically deleted. (optional)

Response

JSON response with inserted/updated vector IDs.

StatusDescription
200Vectors upserted successfully
401Unauthorized — invalid or missing API key
402Payment required — upgrade to a paid plan

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
dataobject[]Array of upserted vector results
data[].idstringStored vector ID

Notes

TTL behavior:

  • Omitted: Vector expires after 30 days (default)
  • null or 0: Vector never expires
  • 60–7,776,000: Expires after specified seconds (values outside range are clamped)

Example

curl -X PUT 'https://catalyst-usw.agentuity.cloud/vector/products' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '[
  {
    "key": "chair-001",
    "document": "Comfortable office chair with lumbar support",
    "metadata": {
      "category": "furniture",
      "price": 299
    }
  }
]'

Get Vector

Fetch a vector by namespace and key.

GET/vector/{namespace}/{key}
https://catalyst-usw.agentuity.cloud/vector/{namespace}/{key}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace name
keystringYesThe vector key

Response

JSON response with vector data, metadata, similarity, and expiration fields.

StatusDescription
200Vector found and returned
401Unauthorized
404Vector not found

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
dataobjectThe vector data object
data.idstringInternal vector ID
data.keystringVector key
data.documentstringOriginal source document text (optional)
data.embeddingsnumber[]Stored embeddings array (optional)
data.metadataobjectStored metadata (optional)
data.similaritynumberSimilarity score when relevant
data.expiresAtstring | nullISO 8601 expiration timestamp (optional)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/vector/products/chair-001' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Search Vectors

Run semantic similarity search in a namespace.

POST/vector/search/{namespace}
https://catalyst-usw.agentuity.cloud/vector/search/{namespace}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace to search

Request Body

Search criteria and filters.

FieldTypeDescription
querystringThe text query to search for in the vector storage. This will be converted to embeddings and used to find semantically similar documents.
limitnumberMaximum number of search results to return. If not specified, the server default will be used. (optional)
similaritynumberMinimum similarity threshold for results. Only vectors with similarity scores greater than or equal to this value will be returned. (optional)
metadataobjectMetadata filters to apply to the search. Only vectors whose metadata matches all specified key-value pairs will be included in results. (optional)

Response

JSON response containing matching vectors and similarity scores.

StatusDescription
200Search results returned
401Unauthorized
404Namespace not found (returns empty array)

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
dataobject[]Array of matching vector results
data[].idstringVector ID
data[].keystringVector key
data[].metadataobjectVector metadata (optional)
data[].similaritynumberSimilarity score (0–1)
data[].expiresAtstring | nullISO 8601 expiration timestamp (optional)

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/vector/search/products' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": "comfortable seating for office",
  "limit": 5,
  "similarity": 0.7
}'

Delete Vector

Delete a single vector by key.

DELETE/vector/{namespace}/{key}
https://catalyst-usw.agentuity.cloud/vector/{namespace}/{key}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace name
keystringYesThe vector key to delete

Response

JSON response with deleted row count.

StatusDescription
200Delete operation completed
401Unauthorized
404Vector not found (returns 0)

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
datanumberNumber of deleted vectors

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/vector/products/chair-001' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Delete Multiple Vectors

Delete multiple vectors by key. If no body is provided, deletes the entire namespace.

DELETE/vector/{namespace}
https://catalyst-usw.agentuity.cloud/vector/{namespace}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace name

Request Body

Optional JSON body specifying keys to delete.

FieldTypeDescription
keysstring[]Vector keys to delete

Response

JSON response with number of deleted vectors.

StatusDescription
200Delete operation completed
401Unauthorized

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
datanumberNumber of deleted vectors

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/vector/products' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "keys": [
    "chair-001",
    "desk-001"
  ]
}'

Get Namespace Stats

Get aggregate stats for a namespace.

GET/vector/stats/{namespace}
https://catalyst-usw.agentuity.cloud/vector/stats/{namespace}

Parameters

path
NameTypeRequiredDescription
namespacestringYesThe namespace name

Response

JSON object with namespace size and usage statistics.

StatusDescription
200Stats returned
401Unauthorized
404Namespace not found (returns zeros)

Response Fields

FieldTypeDescription
sumnumberTotal size in bytes
countnumberNumber of vectors in the namespace
createdAtnumberUnix timestamp (milliseconds) when the namespace was created (optional)
lastUsednumberUnix timestamp (milliseconds) when the namespace was last used (optional)
sampledResultsobjectA sample of vectors in the namespace (up to 20) (optional)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/vector/stats/products' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

List All Namespace Stats

List namespace stats with pagination, filtering, and sorting.

GET/vector/stats
https://catalyst-usw.agentuity.cloud/vector/stats

Parameters

query
NameTypeRequiredDescription
limitnumberNoMaximum namespaces to return (default: 100, max: 1000)
offsetnumberNoOffset for pagination
sortstringNoSort by `name`, `size`, `records`, `created`, or `lastUsed`
directionstringNoSort direction: `asc` or `desc`
namestringNoFilter namespaces by name

Response

Paginated namespace stats response.

StatusDescription
200Stats returned
401Unauthorized

Response Fields

FieldTypeDescription
namespacesobjectMap of namespace names to their statistics
totalnumberTotal number of namespaces across all pages
limitnumberNumber of namespaces requested per page
offsetnumberNumber of namespaces skipped
hasMorebooleanWhether there are more namespaces available

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/vector/stats?limit=10&sort=size&direction=desc' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

List Namespaces

List namespace names (up to 1000).

GET/vector/namespaces
https://catalyst-usw.agentuity.cloud/vector/namespaces

Response

JSON array of namespace names.

StatusDescription
200Namespace list returned
401Unauthorized

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/vector/namespaces' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'