The public runtime API is what the <forms-engine> web component talks to. It is designed
to be internet-facing: unguessable response ids, per-questionnaire allowed-origin checks, input
size caps, and per-IP rate limits on mutating endpoints. You normally never call it yourself —
the embed does — but it is documented for debugging and for building custom clients.
All endpoints are unauthenticated; the responseId is the only credential a respondent
session holds. See the security posture for what that implies.
This page is generated from the backend’s OpenAPI document
(download the raw spec).
Address autocomplete proxy, backed by Photon. The embed never talks to the geocoder directly.
| Parameter |
In |
Type |
Required |
q |
query |
string |
no |
country |
query |
string |
no |
limit |
query |
integer |
no |
Origin |
header |
string |
no |
Response: 200 OK — array of GeocodeSuggestion
Fetch the currently published version of a questionnaire — the definition the embed renders.
| Parameter |
In |
Type |
Required |
publicId |
path |
string |
yes |
Origin |
header |
string |
no |
Response: 200 OK — LiveQuestionnaire
Check whether an external reference has already completed this questionnaire. Returns only NONE or COMPLETED — never a responseId or answers.
| Parameter |
In |
Type |
Required |
publicId |
path |
string |
yes |
ref |
query |
string |
yes |
Origin |
header |
string |
no |
Response: 200 OK — RefStatus
Start a respondent session. Returns the responseId that identifies this response from here on.
| Parameter |
In |
Type |
Required |
publicId |
path |
string |
yes |
Origin |
header |
string |
no |
Request body (application/json): CreateResponseRequest
Response: 201 Created — CreateResponseResult
Re-fetch an in-progress response (answers, position, and the pinned definition version) — used to resume a session after a page refresh.
| Parameter |
In |
Type |
Required |
responseId |
path |
string |
yes |
Origin |
header |
string |
no |
Response: 200 OK — ResponseRehydration
Save answers and the current position. Called by the embed as the respondent moves through the form.
| Parameter |
In |
Type |
Required |
responseId |
path |
string |
yes |
Origin |
header |
string |
no |
Request body (application/json): PatchResponseRequest
Response: 200 OK
Mark the response as completed. After this, the response can no longer be modified.
| Parameter |
In |
Type |
Required |
responseId |
path |
string |
yes |
Origin |
header |
string |
no |
Response: 200 OK
Upload a file for a FILE_UPLOAD question on an in-progress response. Content is verified server-side (magic bytes), not trusted from the filename.
| Parameter |
In |
Type |
Required |
responseId |
path |
string |
yes |
questionCode |
query |
string |
yes |
Origin |
header |
string |
no |
Request body (multipart/form-data, optional): object
| Field |
Type |
Required |
file |
binary |
yes |
Response: 201 Created — FileReference
Remove a previously uploaded file from an in-progress response.
| Parameter |
In |
Type |
Required |
responseId |
path |
string |
yes |
fileId |
path |
string |
yes |
Origin |
header |
string |
no |
Response: 204 No Content
| Field |
Type |
source |
string |
questionCode |
string |
subField |
string |
operator |
string |
value |
any |
| Field |
Type |
versionNumber |
integer |
externalRef |
string |
| Field |
Type |
responseId |
string |
| Field |
Type |
schemaVersion |
integer |
steps |
array of Step |
tabs |
array of Tab |
questions |
array of Question |
| Field |
Type |
fileId |
string |
fileName |
string |
size |
integer (int64) |
contentType |
string |
| Field |
Type |
line1 |
string |
city |
string |
state |
string |
postalCode |
string |
country |
string |
label |
string |
| Field |
Type |
publicId |
string |
name |
string |
versionNumber |
integer |
definition |
Definition |
submissionPolicy |
string |
| Field |
Type |
answers |
object (free-form) |
lastPosition |
PositionDto |
| Field |
Type |
stepId |
string |
tabId |
string |
| Field |
Type |
id |
string |
code |
string |
sectionTitle |
string |
prompt |
string |
type |
string |
width |
string |
typeConfig |
object (free-form) |
visibility |
RuleConfig |
requirement |
RuleConfig |
| Field |
Type |
status |
string |
versionNumber |
integer |
answers |
object (free-form) |
lastPosition |
PositionDto |
definition |
Definition |
submissionPolicy |
string |
| Field |
Type |
combinator |
string |
conditions |
array of Condition |
| Field |
Type |
mode |
string |
rule |
Rule |