User Guide
This guide walks you through the most common ways to use Schift. It covers the dashboard, REST API, Python and TypeScript SDKs, the CLI, and the Model Context Protocol (MCP) server.
Before you start
Section titled “Before you start”You need a Schift account and an API key. If you do not have a key yet, create one from the dashboard at {appUrl}.
Most examples below use environment variables:
export SCHIFT_API_KEY=sch_your_key_hereexport SCHIFT_API_URL=<your-api-url>For this environment, set SCHIFT_API_URL to {apiUrl}. Keep your API key secret, rotate keys regularly, and use a separate key for each environment.
Choose the right surface
Section titled “Choose the right surface”| Surface | Best for | Entry point |
|---|---|---|
| Dashboard | Key management, billing, and checking bucket status | {appUrl} |
| REST API | Direct backend integration | {apiUrl} |
| Python SDK | Scripts, ingestion, search, and migrations | pip install schift |
| TypeScript SDK | TypeScript or Node.js applications | npm install @schift-io/sdk |
| CLI | Repeatable terminal operations | pip install schift-cli |
| MCP | Claude Desktop or Claude Code connection | npx schift-mcp |
Quick installation checklist
Section titled “Quick installation checklist”# Python SDKpip install schift
# TypeScript SDKnpm install @schift-io/sdk
# CLIpip install schift-clischift --help
# MCP servernpx schift-mcpTypical workflow
Section titled “Typical workflow”- Create a bucket from the dashboard or with
POST /v2/buckets. - Upload documents to the bucket with
POST /v2/buckets/{bucket_id}/documents. - Wait for indexing and check readiness with
GET /v2/buckets/{bucket_id}/search/status. - Search the bucket with
POST /v2/buckets/{bucket_id}/searchto get cited context. - Ask questions with
POST /v1/chatto get a bucket-backed RAG answer.
Note: Bucket search is the upload-first, ingest-optimized surface. Use
POST /v1/collections/{name}/searchonly for legacy integrations.
Common endpoints
Section titled “Common endpoints”POST /v2/bucketsPOST /v2/buckets/{bucket_id}/documentsGET /v2/buckets/{bucket_id}/search/statusPOST /v2/buckets/{bucket_id}/searchPOST /v1/chatPOST /v1/chat/completions
Authentication
Section titled “Authentication”All API requests use Bearer authentication:
curl -H "Authorization: Bearer $SCHIFT_API_KEY" \ $SCHIFT_API_URL/v2/bucketsUse the same SCHIFT_API_KEY value across the SDKs, CLI, and MCP so tools do not use different keys in the same environment.
Next steps
Section titled “Next steps”- Create and manage knowledge in Buckets.
- Search uploaded content with Bucket Search.
- Get grounded answers with RAG Chat.
- Route OpenAI-compatible requests through Chat Completions.
- If you are migrating an older integration, see the Legacy Collections API.