Skip to main content
POST
Create a Block

Authorizations

Authorization
string
header
required

Use API-Key YOUR_API_KEY. The key selects the Production or Development environment.

Headers

If-Match
string
required

Quoted Study version last read from ETag or Study.version. Required on mutating Study writes.

Example:

"\"126300\""

Path Parameters

studyId
string<uuid>
required

Body

application/json

Input for creating a Block or Page in a Study.

name
string

Optional stable caller-defined name, unique among Blocks in the Study.

Required string length: 1 - 128
label
string

Optional display label for the Block.

Required string length: 1 - 500
displayLogic
Condition · object

Block or Page display logic. Null clears it. Omission on update preserves the stored value. Question display logic stays on the Question.

skipLogic
object[] | null

Block or Page skip logic. Null or an empty array clears it. Omission on update preserves the stored value. A Page owns skip logic for its Questions.

Maximum array length: 20
randomizePosition
boolean

Whether this Block moves inside its parent shuffle. Defaults to false. A subset requires every direct child to be randomized.

subsetCount
integer | null

How many eligible direct children to show each respondent. Null clears the subset. Omission on update preserves the stored value. Eligible children are the ones delivery can leave out: a prior skip destination, display logic, and either side of carry-forward stay in the survey and do not count. The value must be from 1 to one less than that eligible count. Setting it randomizes every direct child.

Required range: x >= 1
position
object

Places the Block before or after an anchor Question or Block. BEFORE a Block uses that Block's slot. AFTER a Block lands after its subtree. With member Questions and a Question anchor, the Block takes the slot immediately before the first member. The anchor Question's Block, or a Block anchor's parent, becomes this Block's parent.

displayAsPage
boolean
default:false

When true, the Block is shown as a single Page. Membership may be empty, one Question, or many.

Response

Created

Canonical Block resource.

id
string<uuid>
required
displayLogic
Condition · object
required

A single typed condition. Operators that inspect answer state omit value; choice comparisons use immutable Option values.

skipLogic
object[]
required

Ordered skip rules, limited to 20. An empty array clears skip logic.

Maximum array length: 20
randomizePosition
boolean
required
subsetCount
integer | null
required
Required range: x >= 1
displayAsPage
boolean
required
name
string
label
string