Skip to main content

Vectorize Admin SDK

Use the Admin SDK when your backend needs to insert, update, search, or delete vectors in a declared Vectorize index.

Vectorize mutations are asynchronous. After insert, upsert, or delete, allow a few seconds before expecting queries to reflect the change. Metadata filtering beyond namespace also requires metadata indexes on the Cloudflare side.

Available Methods

MethodPurpose
upsert(vectors)Insert new vectors or replace existing IDs
insert(vectors)Insert only new vector IDs
search(vector, options?)Search by raw vector values
queryById(vectorId, options?)Search using an existing vector ID
getByIds(ids)Fetch vectors by ID
delete(ids)Remove vectors by ID
describe()Read index metadata such as dimensions and metric

Language Method Matrix

The underlying operations are the same across SDKs. The main difference is naming style: camelCase, snake_case, Async, or Go-style capitalization.

LanguageMethodsNotes
TypeScript / JavaScriptupsert, insert, search, queryById, getByIds, delete, describeSame names in the JS admin SDK
Dartupsert, insert, search, queryById, getByIds, delete, describeOptional search params are named args
Kotlinupsert, insert, search, queryById, getByIds, delete, describesuspend methods
Javaupsert, insert, search, queryById, getByIds, delete, describeOverloads for simple/full search options
Scalaupsert, insert, search, queryById, getByIds, delete, describeScala wrapper around Java admin SDK
Pythonupsert, insert, search, query_by_id, get_by_ids, delete, describeSnake_case for multi-word names
GoUpsert, Insert, Search, QueryByID, GetByIDs, Delete, DescribeContext-first method signatures
PHPupsert, insert, search, queryById, getByIds, delete, describePHP-style nullable optional args
Rustupsert, insert, search, query_by_id, get_by_ids, delete, describeSnake_case async methods
C#UpsertAsync, InsertAsync, SearchAsync, QueryByIdAsync, GetByIdsAsync, DeleteAsync, DescribeAsyncCancellationToken optional
Rubyupsert, insert, search, query_by_id, get_by_ids, delete, describeSnake_case for multi-word names
Elixirupsert, upsert!, insert, insert!, search, search!, query_by_id, query_by_id!, get_by_ids, get_by_ids!, delete, delete!, describe, describe!! variants unwrap {:ok, ...}
import { createAdminClient } from '@edge-base/admin';

const admin = createAdminClient('https://your-app.example.com', {
serviceKey: process.env.EDGEBASE_SERVICE_KEY!,
});

await admin.vector('embeddings').upsert([
{ id: 'doc-1', values: [0.1, 0.2], metadata: { title: 'Hello' } },
]);
const matches = await admin.vector('embeddings').search([0.1, 0.2], { topK: 10 });

Delete Vectors

Delete support is available through the Admin SDK and removes vectors by ID.

await admin.vector('embeddings').delete(['doc-1', 'doc-2']);

Like other Vectorize mutations, deletion is asynchronous and may take a few seconds to disappear from subsequent queries.