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

# Create policy set

> Policy set version created.

### Request body

`object`

<ParamField body="policy_set_key" type="string" required />

<ParamField body="version" type="integer" required />

<ParamField body="status" type="string" />

<ParamField body="definition" type="object" required />

### Response

`object`

<ResponseField name="id" type="string (uuid)" required />

<ResponseField name="policy_set_key" type="string" required />

<ResponseField name="version" type="integer" required />

<ResponseField name="status" type="string" required />

<ResponseField name="definition" type="object" required />

<ResponseField name="created_at" type="string (date-time)" required />

<ResponseField name="updated_at" type="string (date-time)" required />

### Status codes

| Code  | Meaning                     |
| ----- | --------------------------- |
| `201` | Policy set version created. |
| `400` | Validation error            |
| `401` | Unauthorized                |
| `404` | Not found                   |
| `429` | Rate limited                |
| `500` | Internal error              |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.workstream.stateset.com/v1/policy-sets' \
    --header "x-api-key: $STATESET_TEMPORAL_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
    "policy_set_key": "string",
    "version": 1,
    "status": "active",
    "definition": {}
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "policy_set_key": "string",
    "version": 1,
    "status": "pending",
    "definition": {},
    "created_at": "2026-08-31T14:22:05Z",
    "updated_at": "2026-08-31T14:22:05Z"
  }
  ```
</ResponseExample>
