Read and review Autopilot suggestions
Use these endpoints to integrate a review queue for proposed documentation changes. They operate on suggestions for Spaces the account can manage.
{
"title": "List Autopilot suggestions",
"description": "",
"method": "GET",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [
{
"key": "status",
"value": "Pending/applied/discarded or virtual snoozed; accepts string or array.",
"type": "string",
"required": false
},
{
"key": "space_id",
"value": "Filter by numeric Space ID or array of IDs.",
"type": "integer|array",
"required": false
},
{
"key": "min_confidence",
"value": "Minimum confidence filter.",
"type": "number",
"required": false
},
{
"key": "q",
"value": "Search suggestion summaries.",
"type": "string",
"required": false
},
{
"key": "per_page",
"value": "Default 25, clamped to 5\u2013100.",
"type": "integer",
"required": false
},
{
"key": "page",
"value": "Paginator page.",
"type": "integer",
"required": false
}
],
"pathParams": [],
"bodyType": "none",
"requestBody": "",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "Paginated data resource collection with links and meta. Suggestion fields and preview/apply restrictions are described above. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"data\": [\n {\n \"id\": 456,\n \"status\": \"pending\",\n \"confidence\": 0.98,\n \"summary\": \"Update the payment guide.\",\n \"space\": {\n \"id\": 123,\n \"name\": \"Payments\"\n },\n \"repo\": \"example/payments\",\n \"branch\": \"main\",\n \"before_markdown\": \"# Payments\\n\\nOriginal guide.\",\n \"after_markdown\": \"# Payments\\n\\nUpdated guide.\",\n \"is_snoozed\": false,\n \"snoozed_until\": null,\n \"is_preview_mode\": false\n }\n ],\n \"meta\": {\n \"current_page\": 1,\n \"last_page\": 1,\n \"per_page\": 25,\n \"total\": 1\n }\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
{
"title": "Count Autopilot suggestions",
"description": "",
"method": "GET",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions/counts",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [
{
"key": "space_id",
"value": "Optional numeric Space filter.",
"type": "integer",
"required": false
}
],
"pathParams": [],
"bodyType": "none",
"requestBody": "",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "Object containing inbox, snoozed, done and high-conf counts; no success wrapper. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"inbox\": 2,\n \"snoozed\": 1,\n \"done\": 3,\n \"high-conf\": 2\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
{
"title": "Apply an Autopilot suggestion",
"description": "",
"method": "POST",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions/{id}/apply",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [],
"pathParams": [
{
"key": "id",
"value": "Numeric resource ID returned by this API.",
"type": "integer",
"required": true
}
],
"bodyType": "none",
"requestBody": "",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "Updated suggestion resource. A stale suggestion returns 409 with code suggestion_stale. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"data\": {\n \"id\": 456,\n \"status\": \"applied\",\n \"confidence\": 0.98,\n \"summary\": \"Update the payment guide.\",\n \"space\": {\n \"id\": 123,\n \"name\": \"Payments\"\n },\n \"repo\": \"example/payments\",\n \"branch\": \"main\",\n \"before_markdown\": \"# Payments\\n\\nOriginal guide.\",\n \"after_markdown\": \"# Payments\\n\\nUpdated guide.\",\n \"is_snoozed\": false,\n \"snoozed_until\": null,\n \"is_preview_mode\": false\n }\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
{
"title": "Discard an Autopilot suggestion",
"description": "",
"method": "POST",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions/{id}/discard",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [],
"pathParams": [
{
"key": "id",
"value": "Numeric resource ID returned by this API.",
"type": "integer",
"required": true
}
],
"bodyType": "none",
"requestBody": "",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "Updated suggestion resource. Requires eligible preview access and resource permission. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"data\": {\n \"id\": 456,\n \"status\": \"discarded\",\n \"confidence\": 0.98,\n \"summary\": \"Update the payment guide.\",\n \"space\": {\n \"id\": 123,\n \"name\": \"Payments\"\n },\n \"repo\": \"example/payments\",\n \"branch\": \"main\",\n \"before_markdown\": \"# Payments\\n\\nOriginal guide.\",\n \"after_markdown\": \"# Payments\\n\\nUpdated guide.\",\n \"is_snoozed\": false,\n \"snoozed_until\": null,\n \"is_preview_mode\": false\n }\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
{
"title": "Snooze an Autopilot suggestion",
"description": "",
"method": "POST",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions/{id}/snooze",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
},
{
"key": "Content-Type",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [],
"pathParams": [
{
"key": "id",
"value": "Numeric resource ID returned by this API.",
"type": "integer",
"required": true
}
],
"bodyType": "json",
"requestBody": "{\n \"until\": \"2027-01-01T09:00:00Z\"\n}",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "Updated suggestion resource. until must be a valid future date. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"data\": {\n \"id\": 456,\n \"status\": \"pending\",\n \"confidence\": 0.98,\n \"summary\": \"Update the payment guide.\",\n \"space\": {\n \"id\": 123,\n \"name\": \"Payments\"\n },\n \"repo\": \"example/payments\",\n \"branch\": \"main\",\n \"before_markdown\": \"# Payments\\n\\nOriginal guide.\",\n \"after_markdown\": \"# Payments\\n\\nUpdated guide.\",\n \"is_snoozed\": true,\n \"snoozed_until\": \"2027-01-01T09:00:00+00:00\",\n \"is_preview_mode\": false\n }\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
{
"title": "Review suggestions in bulk",
"description": "",
"method": "POST",
"baseUrl": "https://app.docuwriter.ai",
"endpoint": "/api/autopilot/suggestions/bulk",
"headers": [
{
"key": "Authorization",
"value": "Bearer YOUR_API_TOKEN",
"type": "string",
"required": true
},
{
"key": "Accept",
"value": "application/json",
"type": "string",
"required": true
},
{
"key": "Content-Type",
"value": "application/json",
"type": "string",
"required": true
}
],
"queryParams": [],
"pathParams": [],
"bodyType": "json",
"requestBody": "{\n \"action\": \"discard\",\n \"ids\": [\n 123,\n 124\n ]\n}",
"formData": [],
"rawBody": "",
"responses": {
"200": {
"description": "affected and failed results. Partial success is possible; inspect failures before retrying. Illustrative JSON example; sample values are fictional. Some optional or additional resource fields may be omitted.",
"body": "{\n \"affected\": 2,\n \"failed\": []\n}"
},
"401": {
"description": "Missing or invalid account API token.Missing or invalid account API token. Example JSON response.",
"body": "{\n \"message\": \"Unauthenticated.\"\n}"
}
}
}
List and count
- With no status filter, only active pending suggestions are returned.
- A suggestion includes
id,status,confidence,summary,space,repo,branch,created_at,is_snoozed,snoozed_until,review_url,before_markdown,after_markdown,suggested_name,page_name,target_action,is_create,conversion_valid, andis_preview_mode. - Read both before/after content before applying.
Review actions
- Individual actions return the updated suggestion resource.
- Bulk accepts
applyordiscardand 1–200 integer IDs; it returnsaffectedandfailed. - Bulk operations can partially succeed.
- A stale apply returns HTTP 409 with
code: suggestion_stale; inspect failures and refresh content before retrying. - Other invalid apply states can return 422.
- Read, discard and snooze routes allow eligible Autopilot preview access.
- Applying suggestions, including bulk apply, requires Enterprise entitlement.
- A valid API token alone does not grant Autopilot access.
- Repository link management is documented separately.
- Snooze
untilmust be a date in the future.
Updated