# Write a case's inputs

> Writes a batch of manual inputs, all or none. POST /api/v1/playbook-cases/{case_id}/inputs in the SOAT REST API.

Writes a batch of manual inputs, all or none. Each write names the revision it read in `expected_revision`, `null` for a field still unset; when any field has moved on the whole batch is refused with `409 PLAYBOOK_INPUT_CONFLICT` and `meta.conflicts` names each field. An input the case's version does not declare, one that reads another node, or a value its schema refuses is `400 PLAYBOOK_INPUT_INVALID`. A value equal to the field's current one writes no revision. Once written, every node the write makes runnable is queued to run, unless the case is paused. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. A write made with a credential the case's own work runs as — the case, one of its executions in flight, or the task or run one started — is `403 PLAYBOOK_SELF_WRITE`.

  Request

<ParamsDetails
  {...require("./write-playbook-case-inputs.ParamsDetails.json")}
>

<RequestSchema
  {...require("./write-playbook-case-inputs.RequestSchema.json")}
>

<StatusCodes
  {...require("./write-playbook-case-inputs.StatusCodes.json")}
>
