# Create a configuration plan

`POST https://api.cademi.com.br/api/v3/configuration/plans`

Operation ID: `configuration.plans.create` · API v3

Calculates the steps required to bring the account to the state described in a configuration manifest, and returns them as a signed plan.

This operation is synchronous and does not modify any resource. The plan expires 24 hours after it is created, as indicated by `expires_at`. To apply it, submit the plan to the apply operation before it expires.

If the manifest is invalid, the API returns `validation_failed` with the same error codes reported by the validation operation, and no plan is created.

Required permissions: `configuration.plan`.

## Request body

Content type: `application/json`, required.

| Field | Type | Required | Description |
|---|---|---|---|
| `$schema` | string | no |  |
| `order` | object | no | Ordered sets keyed by set name (for example, showcases or menu_items). Each value must be the complete list for its scope. |
| `resources` | array of object | yes |  |

## Responses

### 200

Returns the calculated and signed plan.

Body: `data`: Plan.

Fields of Plan:

| Field | Type | Required | Description |
|---|---|---|---|
| `expires_at` | string (date-time) | yes |  |
| `id` | string | yes |  |
| `object` | string, one of `plan` | yes |  |
| `revisions` | object | yes | Current revision of each existing resource in the plan, keyed by public ID. |
| `signature` | string | yes | Hexadecimal signature of the plan. Submit it unchanged when applying the plan; the signature is verified before any change is applied. |
| `steps` | array of object | yes |  |
| `summary` | object | yes |  |

### 401

The credential is missing, malformed, expired, or revoked.

Body: Error.

### 403

The current credentials do not have the permission required by this operation.

Body: Error.

### 422

The request body or query parameters failed validation.

Body: ValidationFailed.

Full schema: https://cademi.dev/openapi/v3.json
