Request headers
string
required
The service user’s API token in the
Bearer YOUR_TOKEN format. The school owner issues the token in the admin panel:
Manage → School → For developers → API keys — see the “Authentication” section for details.integer
required
The numeric ID of the seller — the account the school belongs to. Copy it on the API keys page, in
the Integration data → Identifiers card. The token’s permissions are checked against this ID.
integer
required
The numeric ID of the school, found in the same place as
Seller-Id. The value must match the seller’s school — otherwise
a 400 error with cause: "ForbiddenSchoolMismatch" is returned.FormManage).
Request parameters
Two formats are available for passing values: by slug (recommended) and by fieldId (advanced).integer
required
Numeric ID of the Exode user (the
id field from user/find) for whom
the field values are set. The user must belong to the school from the School-Id header.integer
required
ID of the form layout the fields belong to — the
id field from the form list.
All fields from values must belong to this layout (otherwise — FieldNotBelongsToLayout).Format 1: By slug (recommended)
Endpoint:POST /saas/v2/form/custom-field/value/set-by-slug
Simplified format — the value type is determined automatically based on the field type in the layout.
object[]
required
Array of field values. At least 1 element.
Format 2: By fieldId (advanced)
Endpoint:POST /saas/v2/form/custom-field/value/set
Typed format — you specify the column for the value yourself.
object[]
required
Array of field values. At least 1 element.
Both methods work in upsert mode — if a field value already exists for this user, it is
updated. If it doesn’t exist, it is created. One value is stored per “user + field” pair, so
a repeated call is safe and simply overwrites the value. Fields not passed in
values are not changed.
If at least one field from the request is not found or not writable, the entire request is rejected.Permission requirements
Setting custom field values requires the service user to have the “Forms management” permission (
FormManage).The form layout (
layoutId) must belong to the current school. The user (userId) must be a member of this school.Updated: 2026-09-25 14:33 UTC