Get Doc
GET
/api/v1/content/docs/{path}Overview
Returns a single documentation page by its full nested path. The path supports multiple levels of nesting separated by / (e.g., api/authentication/oauth). Returns the full body content as Tiptap JSON.
Authentication
info
No authentication required - Client is resolved from the X-Content-Domain header, which the Cloudflare Worker sets automatically based on the request domain.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
X-Content-Domain | string | Yes | The domain used to resolve the client tenant. Automatically set by the CF Worker; set manually for external frontend integrations. |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Full path of the doc, supporting / nesting (e.g., getting-started/quickstart or api/authentication/oauth) |
Response
idstring (UUID)Unique doc identifier
slugstringURL-friendly slug (last segment of the path)
full_pathstringFull path from root
titlestringDoc page title
bodyobjectFull doc content as Tiptap JSON
parent_idstring (UUID) | nullParent node ID, or null for top-level docs
is_sectionbooleanWhether this is a section container (typically false for readable docs)
sort_orderintegerSort order within the parent level
published_atstringISO 8601 publication timestamp
updated_atstringISO 8601 last update timestamp
Example Request
- cURL
- Python
- JavaScript
curl -s "https://spideriq.ai/api/v1/content/docs/api/authentication/oauth" \
-H "X-Content-Domain: your-domain.com"
import requests
resp = requests.get(
"https://spideriq.ai/api/v1/content/docs/api/authentication/oauth",
headers={"X-Content-Domain": "your-domain.com"}
)
doc = resp.json()
print(f"Title: {doc['title']}")
print(f"Path: {doc['full_path']}")
print(f"Updated: {doc['updated_at']}")
const resp = await fetch(
"https://spideriq.ai/api/v1/content/docs/api/authentication/oauth",
{ headers: { "X-Content-Domain": "your-domain.com" } }
);
const doc = await resp.json();
console.log(`Title: ${doc.title}`);
console.log(`Path: ${doc.full_path}`);
Example Response
{
"id": "d6e7f8a9-b0c1-2345-fghi-456789012345",
"slug": "oauth",
"full_path": "api/authentication/oauth",
"title": "OAuth 2.0",
"body": {
"type": "doc",
"content": [
{
"type": "heading",
"attrs": { "level": 2 },
"content": [{ "type": "text", "text": "Overview" }]
},
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "SpiderIQ supports OAuth 2.0 for secure API access..." }
]
},
{
"type": "codeBlock",
"attrs": { "language": "bash" },
"content": [
{ "type": "text", "text": "curl -X POST https://spideriq.ai/api/v1/oauth/token ..." }
]
}
]
},
"parent_id": "c5d6e7f8-a9b0-1234-efgh-345678901234",
"is_section": false,
"sort_order": 0,
"published_at": "2026-02-01T12:00:00Z",
"updated_at": "2026-03-28T14:30:00Z"
}
Status Codes
| Status Code | Meaning | Description |
|---|---|---|
| 200 | OK | Doc returned successfully |
| 404 | Not Found | No doc found at the given path |