https://api.vectorshift.ai/v1 with the key as a Bearer token.
- The API is published as a beta. The docs say so explicitly and warn that error codes and response formats may change. Nothing here depends on that changing, but treat any surprise in the response bodies as possible rather than impossible.
- A 200 can still mean failure. Every response carries a
status, and a run that failed arrives with HTTP 200 andstatus: 'failed'. The plugin raises aVectorshiftRunFailedErrorcarrying theerrortext forfailedonly. Any other value,successor a status the beta API adds later such asqueued, is returned as is, so checkstatusbefore reading outputs. A failed run is never retried, since a pipeline may already have had side effects. GET /v1is not the API root.https://api.vectorshift.ai/v1is a 404 andhttps://api.vectorshift.ai/answers{"Ping":"Pong"}. The routes live under/v1, so the base carries it.- Errors are
{ error: "..." }. A missing key sends its own messages —Missing authorization header,Invalid authorization header format,Invalid API key— rather than a code, and a bad key adds a parser detail after the prefix, so the plugin matches on the start of the message. - One knowledge base lives on the singular route. It is fetched with
GET /knowledge-base?id=…and queried withPOST /knowledge-base/{id}/query, as VectorShift’s reference and Python SDK do. The pluralGET /knowledge-basesis the list, which the plugin does not wrap. - A knowledge base is looked up by id or by name, never both.
usernameandorg_namenarrow a name lookup and are rejected with an id. - Creating a chatbot needs the node names.
inputandoutputare required, not optional — a wrong node name produces a chatbot that answers nothing, so the schema keeps them required instead of defaulting them. - A chatbot takes text or audio, never both, and a reply carries a
conversation_idto continue the thread.stream: trueis not offered: the plugin reads JSON, and the streamed variant is server-sent events. - A pipeline can be run once or many times.
pipelines.bulkRuntakes one entry per run and executes them in parallel, each with its ownrun_idand outputs. - A pipeline
configis passed through unchanged. Its shape belongs to the visual builder; the API only requires that it is present, so the plugin does not try to model it. - Outputs are typed but open. A pipeline output is a string, number, boolean, list, map or file; a file arrives as base64
raw_byteswithmetadata. All of them pass through as-is.
- 11 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List pipelinesWhat’s next
API reference
Every
vectorshift.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.