Documentation Index
Fetch the complete documentation index at: https://slatehq.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Uploads a CSV file containing multiple prompts. Each row creates a prompt and optionally triggers an immediate query run. The upload is processed asynchronously.
This endpoint uses multipart/form-data instead of JSON.
Parameters
Bearer token. Format: Bearer slat_<your-token>.
CSV file containing prompts. Each row should include at least a prompt text column and a topic name column.
AI platforms to query for all uploaded prompts. One or more of: CHATGPT, PERPLEXITY, GOOGLE_AI_OVERVIEW, GOOGLE_AI_MODE, GEMINI, CLAUDE.
Cron expression applied to all uploaded prompts.
Timezone for the cron schedule. Default: UTC.
Brand ID to assign to all uploaded prompts.
Whether the uploaded prompts should be active. Default: true.
Whether to immediately trigger query runs for uploaded prompts. Default: true.
Column index (0-based) for the prompt text in the CSV. Default: auto-detected.
Column index (0-based) for the topic name in the CSV. Default: auto-detected.
Whether the CSV file has a header row. Default: true.
ISO 3166-1 alpha-2 country code applied to all uploaded prompts (e.g., US).
Response
Returns 202 Accepted. The upload job is queued for processing.
Unique identifier for the upload job.
Job status. PENDING for newly created jobs.
Storage key for the uploaded file.
Example
curl -s -X POST "https://api.slatehq.ai/ai-analytics-service/api/public/v1/prompts/bulk-upload" \
-H "Authorization: Bearer slat_YOUR_TOKEN" \
-F "file=@prompts.csv" \
-F "platform=CHATGPT" \
-F "platform=PERPLEXITY" \
-F "cronExpr=0 0 * * *" \
-F "timezone=UTC" \
-F "liveRun=true" \
-F "hasHeader=true"
Response
{
"jobId": 789,
"status": "PENDING",
"s3Key": "bulk-uploads/workspace-1/prompts-2026-02-11.csv"
}
Status codes
| Status | Description |
|---|
202 | Upload accepted and queued for processing. |
400 | Invalid request. File is empty, missing required fields, or invalid location code. |
401 | Missing or invalid Bearer token. See Authentication. |
500 | Internal server error. |
What’s next