ContentIQ Documentation
API Reference

REST endpoints for ingestion, vector store administration, and analytics.

API Reference

Explore REST endpoints for ingestion, vector store administration, and analytics.

Getting Your API Key

Through the Web Interface

  1. Login to your ContentIQ account
  2. Go to Settings (left sidebar)
  3. Click the ContentIQ API tab
  4. Click Generate next to ContentIQ API Key
  5. 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}"
          }'