Download the complete API collection for testing all IgnitionStack endpoints in Postman.
The collection includes all API endpoints organized by category:
| Category | Endpoints | Description |
|---|---|---|
| AI Chat | 4 | Streaming chat, vision, custom prompts |
| AI Documents (RAG) | 4 | Upload, list, delete documents |
| AI Share | 1 | Create shareable conversation links |
| Stripe | 3 | Checkout sessions, webhooks |
| Admin | 1 | Image upload |
| Webhooks | 1 | Resend email tracking |
Set up the following variables in your Postman environment:
| Variable | Description | Example |
|---|---|---|
base_url | Your API base URL | http://localhost:3000 |
auth_token | Supabase access token | Get from browser DevTools |
admin_auth_secret | Admin authentication secret | From .env.local |
stripe_price_id | Stripe price ID for testing | price_xxx |
conversation_id | UUID for conversation tests | Generated UUID |
document_id | UUID for document operations | From upload response |
To get your Supabase access token:
sb-*-auth-token keyaccess_token valueStart with the basic endpoints:
POST /api/ai/chatHeaders:
Authorization: Bearer {auth_token}
Content-Type: application/jsonRequest Body:
{
"message": "Hello, how can you help me?",
"provider": "openai",
"modelName": "gpt-4o-mini",
"temperature": 0.7,
"maxTokens": 2048,
"conversationId": "uuid (optional)",
"systemPrompt": "custom prompt (optional)",
"imageData": {
"base64": "...",
"mimeType": "image/png"
}
}Response: Server-Sent Events (SSE) stream
POST /api/ai/uploadHeaders:
Authorization: Bearer {auth_token}
Content-Type: multipart/form-dataForm Data:
file: Document file (PDF, TXT, MD, DOCX)conversationId: UUID (required)chunkSize: Number (default: 1000)chunkStrategy: “fixed” | “recursive” | “semantic”skipEmbeddings: Boolean (default: false)POST /api/stripe/create-checkoutRequest Body:
{
"priceId": "price_xxx",
"isSubscription": false,
"locale": "en",
"successUrl": "/success",
"cancelUrl": "/cancelled",
"metadata": {}
}Response:
{
"sessionId": "cs_xxx",
"url": "https://checkout.stripe.com/..."
}For webhook testing, use Stripe CLI or ngrok to expose your local server.
# Install Stripe CLI
brew install stripe/stripe-cli/stripe
# Login and forward webhooks
stripe login
stripe listen --forward-to localhost:3000/api/stripe/webhookUse the Resend dashboard to configure your webhook URL. For local testing, use a tunnel service like ngrok:
ngrok http 3000Then configure the ngrok URL in Resend webhook settings.
The API implements rate limiting per endpoint:
| Endpoint | Limit | Window |
|---|---|---|
| AI Chat | 60 requests | 1 minute |
| AI Upload | 10 requests | 1 minute |
| Stripe Checkout | 30 requests | 1 minute |
| Admin Upload | 30 requests | 1 minute |
Exceeding rate limits will return a 429 Too Many Requests response.
Most endpoints require authentication via Bearer token:
Authorization: Bearer {supabase_access_token}Admin endpoints require additional admin session validation.
Webhook endpoints use signature verification instead of Bearer tokens.