If you are building your own application and want to integrate chatbot functionality into it, you can call the chatbot directly through the VectorShift API. This gives you full control over how messages are sent and responses are displayed, and it supports both synchronous and streaming responses.Documentation Index
Fetch the complete documentation index at: https://docs.vectorshift.ai/llms.txt
Use this file to discover all available pages before exploring further.
Full API Reference
See the complete API reference for all chatbot endpoints — run, list, upload, and terminate
Prerequisites

How it works
You send a POST request to the chatbot endpoint with your message. VectorShift runs the connected pipeline and returns the chatbot’s response. To maintain conversation continuity across multiple messages, you include theconversation_id from the previous response in each subsequent request.
- First message: Send your text without a
conversation_id. The API returns the bot’s response along with a newconversation_id. - Subsequent messages: Include the
conversation_idfrom the previous response. The chatbot retrieves the conversation history and responds in context. - New conversation: Omit the
conversation_idto start a fresh conversation at any time.
Authentication
Every API request must include your VectorShift API key in theApi-Key header. You can generate and manage API keys from your profile settings.
| Header | Value |
|---|---|
Content-Type | application/json |
Api-Key | Your VectorShift API key |
Request and response formats
Endpoint
Request body
| Field | Type | Required | Description |
|---|---|---|---|
input | string | Yes | The user’s message |
chatbot_name | string | Yes (or chatbot_id) | The name of the chatbot to run |
chatbot_id | string | Yes (or chatbot_name) | The ID of the chatbot to run |
conversation_id | string | No | The conversation ID from a previous response. Omit to start a new conversation. |
stream | boolean | No | Set to true to receive the response as a stream of Server-Sent Events (SSE). Defaults to false. |
Response (non-streaming)
| Field | Description |
|---|---|
status | "success" or "failed" |
output | The chatbot’s response text |
conversation_id | Store this and include it in the next request to continue the conversation |
Response (streaming)
Whenstream is set to true, the response is delivered as Server-Sent Events. Each event contains a JSON object with the current output text and the conversation_id. The final event includes the complete response.
Conversation management
Each conversation is identified by aconversation_id. The chatbot automatically generates a name for new conversations based on the first message (using a short LLM summary).
To manage conversations programmatically:
- Start a new conversation: Send a request without a
conversation_id. - Continue an existing conversation: Include the
conversation_idfrom the previous response. - List conversations: Use the List Chatbots API to retrieve chatbot metadata, including associated conversations.
Code examples
Python
JavaScript
cURL
Rate limits and error handling
If the chatbot fails to run (for example, the connected pipeline encounters an error), the response will have"status": "failed" and include an error message. Common causes include:
- The chatbot is not deployed (Deployment Enabled is off).
- The connected pipeline has a configuration error.
- The API rate limit has been exceeded.
Next steps
Analytics
Track usage, review conversations, and export data
Sharing and deploying
Explore other deployment channels
