Перейти до вмісту
Woodander Документація
UK

Autopilot

Content Autopilot pieces waiting for your review: list, approve or reject.

3 endpoints. Each one is a REST endpoint under https://woodander.com/api/v1 and an MCP tool with the same name and arguments. See the overview for authentication, rate limits and errors.

list_autopilot_pieces

GET /api/v1/autopilot/pieces

The pieces Content Autopilot wrote that wait for your review, with a preview of the text, open [Confirm: …] markers (a piece with open markers cannot be approved) and the automatic quality checks.

MCP tool list_autopilot_pieces Scope read:autopilot Plan Pro and above

Parameters

NameInTypeRequiredDescription
limit query integer No Page size, 1 to 100.
cursor query string No meta.next_cursor of the previous page.

Example request

bash
curl "https://woodander.com/api/v1/autopilot/pieces" \
  -H "Authorization: Bearer wdr_..."
tools/call
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "list_autopilot_pieces",
        "arguments": {}
    }
}

Example response Example

json
{
    "data": [
        {
            "id": 7,
            "kind": "partner",
            "status": "awaiting_you",
            "title": "Five habits of calm launches",
            "excerpt": "What small teams do differently.",
            "body_markdown": "## Start small …",
            "open_confirmations": false,
            "quality": {
                "passed": true,
                "issues": []
            },
            "created_at": "2026-10-19T07:00:00+00:00"
        }
    ],
    "meta": {
        "next_cursor": null,
        "limit": 25,
        "total": 1,
        "mode": "manual"
    }
}

Errors

HTTPCodeMeaning
401unauthenticatedMissing, invalid, expired or revoked token.
403insufficient_scopeThe token does not have the read:autopilot scope.
403plan_requiredThe plan does not include API access.
422invalid_requestA parameter is not valid (range, type, cursor).
429rate_limitedToo many requests. See the Retry-After header.

approve_autopilot_piece

POST /api/v1/autopilot/pieces/{id}/approve

Approve a piece waiting for your review: it goes live on Woodander Media with its "Partner content" label, rel="sponsored" and noindex, and is spot-checked by editors. Making it public, so in Manual and Hybrid it waits for the owner (confirm_url); only Autonomous runs it. Poll agent_change_status with the id.

MCP tool approve_autopilot_piece Scope write:autopilot Plan Pro and above

Parameters

NameInTypeRequiredDescription
id path integer Yes Id of a piece waiting for your review (see list_autopilot_pieces).

Example request

bash
curl -X POST "https://woodander.com/api/v1/autopilot/pieces/12/approve" \
  -H "Authorization: Bearer wdr_..."
tools/call
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "approve_autopilot_piece",
        "arguments": {
            "id": 12
        }
    }
}

Example response Example

json
{
    "data": {
        "id": 41,
        "action": "autopilot.approve_piece",
        "risk": "publish",
        "status": "pending",
        "needs": "confirm",
        "summary": "Publish the piece “Five habits of calm launches”",
        "diff": [
            {
                "op": "~",
                "kind": "Piece",
                "name": "Five habits of calm launches",
                "details": [
                    "Goes live on Woodander Media with its “Partner content” label."
                ],
                "before": "Waiting for your review",
                "after": "Published"
            }
        ],
        "requested_by": "Token “Claude Code”",
        "note": null,
        "error": null,
        "result": null,
        "confirm_url": "https://woodander.com/workspace/settings/ai-activity?module=media&change=41",
        "created_at": "2026-10-19T09:00:00+00:00",
        "decided_at": null
    },
    "meta": {
        "outcome": "proposed",
        "module": "autopilot",
        "mode": "manual",
        "hint": null
    }
}

Errors

HTTPCodeMeaning
401unauthenticatedMissing, invalid, expired or revoked token.
403insufficient_scopeThe token does not have the write:autopilot scope.
403plan_requiredThe plan does not include API access.
404not_foundNot found, or not yours.
429rate_limitedToo many requests. See the Retry-After header.

reject_autopilot_piece

POST /api/v1/autopilot/pieces/{id}/reject

Discard a piece waiting for your review; its allowance comes back and Autopilot schedules another. Removing something always waits for the owner (confirm_url) in every mode. Poll agent_change_status with the id.

MCP tool reject_autopilot_piece Scope write:autopilot Plan Pro and above

Parameters

NameInTypeRequiredDescription
id path integer Yes Id of a piece waiting for your review (see list_autopilot_pieces).

Example request

bash
curl -X POST "https://woodander.com/api/v1/autopilot/pieces/12/reject" \
  -H "Authorization: Bearer wdr_..."
tools/call
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "reject_autopilot_piece",
        "arguments": {
            "id": 12
        }
    }
}

Example response Example

json
{
    "data": {
        "id": 41,
        "action": "autopilot.reject_piece",
        "risk": "destructive",
        "status": "pending",
        "needs": "confirm",
        "summary": "Discard the piece “Five habits of calm launches”",
        "diff": [
            {
                "op": "-",
                "kind": "Piece",
                "name": "Five habits of calm launches",
                "details": [
                    "Its allowance comes back and a new piece is scheduled."
                ],
                "before": null,
                "after": null
            }
        ],
        "requested_by": "Token “Claude Code”",
        "note": null,
        "error": null,
        "result": null,
        "confirm_url": "https://woodander.com/workspace/settings/ai-activity?module=media&change=41",
        "created_at": "2026-10-19T09:00:00+00:00",
        "decided_at": null
    },
    "meta": {
        "outcome": "proposed",
        "module": "autopilot",
        "mode": "manual",
        "hint": null
    }
}

Errors

HTTPCodeMeaning
401unauthenticatedMissing, invalid, expired or revoked token.
403insufficient_scopeThe token does not have the write:autopilot scope.
403plan_requiredThe plan does not include API access.
404not_foundNot found, or not yours.
429rate_limitedToo many requests. See the Retry-After header.