> ## Documentation Index
> Fetch the complete documentation index at: https://wordsmithai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Playbook

> Create a playbook with a name, a description and a list of checks.

> [!NOTE]
>
> **Preview.** This endpoint is available to organisations in the Wordsmith MCP pilot. Other organisations receive `403 mcp_not_enabled`. See the [preview overview](/preview).

Creates a [playbook](/proposed/objects#playbook-and-check). A playbook is a saved set of checks that a [playbook review](/api-reference/reviews/create-review) runs against a document. You can send the checks now, or add them later with [Add Check](/api-reference/playbooks/add-check). The playbook is created whole or not at all: if saving its description or any check fails, the request fails and no playbook is left behind, so you can retry it.

A new playbook is visible only to you. Share it with your team through [Update Sharing](/api-reference/sharing/update-sharing). You can run a review with it before you share it.

To build a playbook from example contracts instead of writing the checks yourself, use [Generate Playbook](/api-reference/playbooks/generate-playbook).

## Authentication

Requires an API key, or an OAuth token with `playbooks:write`.

## Body parameters

**name** `string` *required*

The playbook name, up to 200 characters.

**description** `string`

What the playbook is for, such as the contract type and the side it acts for. Up to 2,000 characters.

**checks** `object[]` (default: \[])

Up to 100 checks, in the order a review runs them. Each check takes the body of [Add Check](/api-reference/playbooks/add-check):

| Field | Type | Notes |
| - | - | - |
| `name` | string, required | A short label, up to 200 characters. |
| `instructions` | string, required | What the review should look for. |
| `severity` | string | `high`, `medium` (default) or `low`. |
| `standard_position` | string | The position you want the document to take. |

## Response

Returns `201` with the new [playbook](/proposed/objects#playbook-and-check). Each check now has an `id`.

```bash cURL theme={null}
curl -X POST "https://api.wordsmith.ai/api/v1/playbooks" \
  -H "Authorization: Bearer sk-ws-api1-your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mutual NDA – customer side",
    "description": "Our standard positions on inbound mutual NDAs.",
    "checks": [
      {
        "name": "Term of confidentiality",
        "instructions": "Find how long the confidentiality obligations last after termination.",
        "severity": "high",
        "standard_position": "Obligations last no more than 3 years after termination."
      }
    ]
  }'
```

```json Response theme={null}
{
  "id": "3804d3f1-ba8c-4d5e-97f7-c16466d0ece9",
  "name": "Mutual NDA – customer side",
  "description": "Our standard positions on inbound mutual NDAs.",
  "checks": [
    {
      "id": "e7d8a901-22b3-4c73-8362-0af4a7715c18",
      "name": "Term of confidentiality",
      "instructions": "Find how long the confidentiality obligations last after termination.",
      "severity": "high",
      "standard_position": "Obligations last no more than 3 years after termination.",
      "fallback_positions": []
    }
  ],
  "created_at": "2026-10-13T08:40:00Z",
  "updated_at": "2026-10-13T08:40:00Z"
}
```

## Errors

| Status | `error_code` | When |
| - | - | - |
| 400 | `invalid_request_body` | `name` is missing or too long, a check has no `name` or `instructions`, a `severity` is not `high`, `medium` or `low`, or there are more than 100 checks. |
| 403 | `forbidden` | The caller's role cannot create playbooks. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.