API Reference
Explore REST endpoints for ingestion, vector store administration, and analytics.
Getting Your API Key
Through the Web Interface
- Login to your ContentIQ account
- Go to Settings (left sidebar)
- Click the ContentIQ API tab
- Click Generate next to ContentIQ API Key
- Copy the key — you'll only see it once!
Important
- Keep your API key secure. Don't share it or commit it to code repositories.
- Each time you generate a new key, the previous one becomes invalid.
- You must be logged into your ContentIQ account to generate keys.
Rate Limits
API requests are rate-limited per user per minute. Limits vary by plan. Exceeding the limit returns an HTTP 429 (Too Many Requests) response.
Limits by plan
- Starter: 50 requests per minute
- Essentials: 100 requests per minute
- Standard: 150 requests per minute
- Premium: 200 requests per minute
Chat with Your Agent
Notes:
- Agent ID is the watsonx Orchestrate Agent ID (find via ADK or in the ContentIQ dashboard under Usage Analytics).
- Thread ID should be dynamically generated per conversation.
Basic Chat Example
curl -X POST "https://backend.contentiq.symplistic.ai/api/headless/chat" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-d '{
"agent_id": "your-agent-id",
"message": "Hello! What can you help me with?",
"thread_id": "my-conversation-123"
}'
Upload Documents
Upload documents for ingestion into your agent's knowledge base.
curl -X POST "https://backend.contentiq.symplistic.ai/api/headless/document/ingest" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-F "[email protected]" \
-F "[email protected]" \
-F "agent_id=your-agent-id" \
-F "use_gpu=true"
Check Ingestion Status
Check the status of a document ingestion run.
curl -N -H "Authorization: Bearer YOUR_API_KEY_HERE" \
"https://backend.contentiq.symplistic.ai/api/headless/document/status/<YOUR_RUN_ID>/stream"
List Structured Data Files (Headless)
Returns files with schema, row/column counts, and sample rows. Supports Parquet, CSV, Excel, JSON, XML.
curl -X GET "https://backend.contentiq.symplistic.ai/api/headless/structured_data/files?agent_id={agent_id}" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Delete Structured Data File (Headless)
Remove a structured data file by filename.
curl -X DELETE "https://backend.contentiq.symplistic.ai/api/headless/structured_data/files/{filename}?agent_id={agent_id}" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
List Milvus Sources (Headless)
List distinct source URLs in an agent's Milvus collection.
curl -X GET "https://backend.contentiq.symplistic.ai/api/headless/milvus/sources?agent_id={agent_id}&batch_size=512" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Delete Milvus Chunks by Source (Headless)
Delete all chunks for a specific source URL.
curl -X DELETE "https://backend.contentiq.symplistic.ai/api/headless/milvus/chunks" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "{agent_id}",
"source": "https://example.com/document1.pdf"
}'
Delete Entire Milvus Collection (Headless)
⚠️ WARNING: This permanently deletes the entire Milvus collection for an agent. This action cannot be undone.
curl -X DELETE "https://backend.contentiq.symplistic.ai/api/headless/milvus/collection" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "{agent_id}"
}'