curl --request GET \
--url https://app.promptingco.com/api/v1/content \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.promptingco.com/api/v1/content', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.promptingco.com/api/v1/content"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"scope": {
"product": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"organization": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
}
},
"page": 123,
"pageSize": 123,
"query": "<string>",
"status": "<string>",
"type": "<string>",
"isManual": true,
"pathPrefix": "<string>",
"hasContent": true,
"domainId": "<string>",
"domain": "<string>",
"archivedStatus": "active",
"orderBy": "createdAt",
"orderByDirection": "asc",
"total": 1,
"totalPages": 1,
"items": [
{
"id": "<string>",
"promptId": "<string>",
"title": "<string>",
"filePath": "<string>",
"sourceUrl": "<string>",
"status": "<string>",
"type": "<string>",
"isManual": true,
"metaTitle": "<string>",
"metaDescription": "<string>",
"metadata": {
"contentType": "recommended"
},
"redirectToUrl": "<string>",
"redirectAudience": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"domains": [
{
"id": "<string>",
"domain": "<string>",
"isCanonical": true,
"pathPrefix": "<string>"
}
]
}
]
}
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}List content
Unified content list across the lifecycle. status selects the view: published (default) and draft list live site pages; pending_review, generating, failed, rejected, and approved list content drafts in the review queue. Provide exactly one of productId or productSlug.
curl --request GET \
--url https://app.promptingco.com/api/v1/content \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.promptingco.com/api/v1/content', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.promptingco.com/api/v1/content"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"scope": {
"product": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"organization": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
}
},
"page": 123,
"pageSize": 123,
"query": "<string>",
"status": "<string>",
"type": "<string>",
"isManual": true,
"pathPrefix": "<string>",
"hasContent": true,
"domainId": "<string>",
"domain": "<string>",
"archivedStatus": "active",
"orderBy": "createdAt",
"orderByDirection": "asc",
"total": 1,
"totalPages": 1,
"items": [
{
"id": "<string>",
"promptId": "<string>",
"title": "<string>",
"filePath": "<string>",
"sourceUrl": "<string>",
"status": "<string>",
"type": "<string>",
"isManual": true,
"metaTitle": "<string>",
"metaDescription": "<string>",
"metadata": {
"contentType": "recommended"
},
"redirectToUrl": "<string>",
"redirectAudience": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"domains": [
{
"id": "<string>",
"domain": "<string>",
"isCanonical": true,
"pathPrefix": "<string>"
}
]
}
]
}
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}{
"ok": false,
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}Authorizations
Organization-scoped API key. Available scopes:
- content:read: Read site pages, markdown content, and llms.txt files
- content:write: Create, update, and delete site pages and content
- prompts:read: Read prompts, topics, prompt suggestions, and prompt analysis results
- prompts:write: Create, update, archive prompts and generate, edit, or review prompt suggestions
- simulations:read: Read agent-simulation tasks, runs, environments, and analytics
- simulations:write: Create and trigger simulation runs
- logs:read: Read AI-traffic logs and request-level audit events
- analytics:read: Read analytics aggregates (rankings, mentions, sources, SOV)
- analytics:write: Write events to analytics
- products:read: Read product metadata and competitor data
- products:write: Update product settings and competitor lists
Query Parameters
Product ID. Provide exactly one of productId or productSlug (the server enforces this at runtime).
1Product slug. Provide exactly one of productId or productSlug (the server enforces this at runtime).
1Lifecycle filter. published (default) and draft list live site pages; pending_review, generating, failed, rejected, and approved list content drafts in the review queue.
draft, published, pending_review, generating, failed, rejected, approved Filter by the prompt the content was generated from. Works for every status: published pages keep their prompt lineage.
1createdAt, updatedAt, deletedAt asc, desc active, archived, all