# Submit a form about a user

Submits the form returned by `GET /form/{id}/interact/{user_id}`, completed by an
administrator about the user in the path. The caller must be able to change that
user; otherwise the endpoint answers as though it does not exist.
What the submission does depends on the form's type. An admin interaction form
writes the answers straight onto the user and records the change against them. An
admin submission form stores the answers as a submission of their own, leaving the
user untouched, and is restricted to callers who hold a role in the account.
The body is the form's own fields, sent by the `name` each one carries in the
render response - `user:custom_notes`, and so on. Only fields the visibility rules
currently show are read; anything else in the body is ignored rather than
rejected. Validation errors come back keyed by field, prefixed with the entity the
field belongs to.

Endpoint: PUT /api/v2/form/{form_id}/interact/{user_id}
Version: 2.0.0
Security: default

## Path parameters:

  - `form_id` (integer, required)
    The ID of the form.

  - `user_id` (integer, required)
    The ID of the user.

## Header parameters:

  - `Rosterfy-Platform` (string)

## Request fields (application/json):

  - `user:{field}` (string)
    A field value, keyed by the `name` the render
response gives it. The set of fields differs per form.

## Response 200 fields (application/json):

  - `message` (string)

## Response 403 fields (application/json):

  - `message` (string)

