Skip to main content
POST
/
api
/
content
/
sources
Create URL source
curl --request POST \
  --url https://api.tedro.io/api/content/sources \
  --header 'Content-Type: application/json' \
  --header 'x-workspace-id: <api-key>' \
  --cookie better-auth.session_token= \
  --data '
{
  "name": "Help center",
  "url": "https://help.example.com",
  "crawlMode": "sitemap",
  "maxPages": 50
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "type": "<string>",
  "name": "<string>",
  "config": {},
  "syncStatus": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.tedro.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

better-auth.session_token
string
cookie
required

Session cookie set by Better Auth on sign-in.

x-workspace-id
string
header
required

Workspace UUID. Required on all /api/* endpoints.

Body

application/json

Create a URL-type content source. SSRF-validated public HTTPS/HTTP URL only.

name
string
required
Required string length: 1 - 200
url
string<uri>
required
Maximum string length: 2000
crawlMode
enum<string>
Available options:
single,
sitemap
syncIntervalMs
integer
Required range: 3600000 <= x <= 604800000
maxPages
integer
Required range: 1 <= x <= 200

Response

Source created and first sync enqueued

id
string<uuid>
required
workspaceId
string<uuid>
required
type
string
required
name
string
required
config
object
required
syncStatus
string
required
createdAt
string
required
updatedAt
string
required
{key}
any