Knowcap API

Programmatic access to projects, sources, and transcriptions. Build integrations, automate ingestion, and query your knowledge base.

Authentication

All API requests require an API key passed via the x-api-key header.

Getting Your API Key

  1. Sign in at app.knowcap.ai
  2. Navigate to Settings → API Keys
  3. Generate a new key and copy it immediately — it won't be shown again
Example Request
curl https://app.knowcap.ai/api/projects \
  -H "x-api-key: YOUR_API_KEY"

⚡ Rate Limits

API requests are rate-limited. If you receive a 429 status code, back off and retry with exponential delay.

GET /api/users/me

Returns the currently authenticated user's profile, including account details and subscription status.

Request
curl https://app.knowcap.ai/api/users/me \
  -H "x-api-key: YOUR_API_KEY"
Response · 200
{
  "id": "usr_a1b2c3d4",
  "email": "you@example.com",
  "name": "Jane Doe",
  "plan": "pro",
  "createdAt": "2026-01-15T08:30:00Z"
}
GET /api/projects

Retrieve a list of all projects belonging to the authenticated user. Each project contains one or more sources.

Request
curl https://app.knowcap.ai/api/projects \
  -H "x-api-key: YOUR_API_KEY"
Response · 200
[
  {
    "id": "prj_x9k2m1",
    "name": "Product Research",
    "sourceCount": 12,
    "createdAt": "2026-02-01T10:00:00Z",
    "updatedAt": "2026-03-20T14:30:00Z"
  }
]
GET /api/sources/project/{id}

List all sources within a specific project. Sources can be text entries, ingested URLs, uploaded files, or recordings.

Path Parameters
NameTypeDescription
id required string The project ID
Request
curl https://app.knowcap.ai/api/sources/project/prj_x9k2m1 \
  -H "x-api-key: YOUR_API_KEY"
Response · 200
[
  {
    "id": "src_f3g7h2",
    "type": "url",
    "title": "Market Analysis Report",
    "url": "https://example.com/report",
    "tags": ["research", "Q1"],
    "status": "completed",
    "createdAt": "2026-02-05T09:15:00Z"
  }
]
GET /api/sources/{id}/transcriptions

Retrieve transcript chunks for a specific source. Returns an array of text segments with timestamps (when available) from audio/video sources, or full text content for text-based sources.

Path Parameters
NameTypeDescription
id required string The source ID
Request
curl https://app.knowcap.ai/api/sources/src_f3g7h2/transcriptions \
  -H "x-api-key: YOUR_API_KEY"
Response · 200
{
  "sourceId": "src_f3g7h2",
  "chunks": [
    {
      "index": 0,
      "text": "The market grew 23% year over year...",
      "startTime": 0.0,
      "endTime": 4.5
    },
    {
      "index": 1,
      "text": "Key drivers include AI adoption...",
      "startTime": 4.5,
      "endTime": 9.2
    }
  ]
}
POST /api/sources/text

Create a new text source within a project. The text content will be processed and made searchable within your knowledge base.

Request Body
FieldTypeDescription
projectId required string Target project ID
title required string Display title for the source
content required string The text content to ingest
tags string[] Optional tags for organization
Request
curl -X POST https://app.knowcap.ai/api/sources/text \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "prj_x9k2m1",
    "title": "Meeting Notes — March 2026",
    "content": "Discussed Q1 targets and product roadmap...",
    "tags": ["meetings", "Q1"]
  }'
Response · 201
{
  "id": "src_n4p8q1",
  "type": "text",
  "title": "Meeting Notes — March 2026",
  "status": "processing",
  "createdAt": "2026-03-31T12:00:00Z"
}
POST /api/sources/url

Ingest a URL as a source. Knowcap will fetch the page content, extract text, and process it into your knowledge base. Supports articles, documentation pages, blog posts, and more.

Request Body
FieldTypeDescription
projectId required string Target project ID
url required string The URL to ingest
tags string[] Optional tags for organization
Request
curl -X POST https://app.knowcap.ai/api/sources/url \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "prj_x9k2m1",
    "url": "https://example.com/interesting-article",
    "tags": ["research"]
  }'
Response · 201
{
  "id": "src_r7t2w5",
  "type": "url",
  "url": "https://example.com/interesting-article",
  "status": "processing",
  "createdAt": "2026-03-31T12:05:00Z"
}
PATCH /api/sources/{id}

Update metadata for an existing source. Use this to modify tags, title, or other mutable properties. Only provided fields will be updated.

Path Parameters
NameTypeDescription
id required string The source ID
Request Body
FieldTypeDescription
title string New display title
tags string[] Replace tags array
Request
curl -X PATCH https://app.knowcap.ai/api/sources/src_f3g7h2 \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Updated Report Title",
    "tags": ["research", "updated", "Q1"]
  }'
Response · 200
{
  "id": "src_f3g7h2",
  "type": "url",
  "title": "Updated Report Title",
  "tags": ["research", "updated", "Q1"],
  "updatedAt": "2026-03-31T12:10:00Z"
}