const url = 'https://platform.fomr.io/v1/forms/example/submissions/example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://platform.fomr.io/v1/forms/example/submissions/example \ --header 'Authorization: Bearer <token>'Reads one submission with answers keyed by Form Node public ID, captured Hidden Values, and five-minute signed URLs for ready File Upload answers. Reading a Partial Response needs the partial_response_access plan feature. Needs forms:read. Costs 1 API credit.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The public ID of the form.
The public ID of the submission.
Responses
Section titled “Responses”Default Response
object
The public ID of the submission.
The public ID of the form that received the submission.
Whether the respondent finished the form or this is a meaningful Partial Response.
The published form version the respondent answered.
When the submission started.
When the submission was last changed or completed.
Answers keyed by stable Form Node public ID. Unanswered questions are absent.
object
object
The stable option value stored by the form.
The option label captured with the answer.
object
The stable option value stored by the form.
The option label captured with the answer.
object
Always file for a file answer.
The public ID of the uploaded file.
The original file name.
The file size in bytes.
The detected media type of the file.
A signed download URL that expires after five minutes.
Captured Hidden Values keyed by their declared key.
object
Example
{ "status": "completed", "answers": { "additionalProperty": [ { "type": "file" } ] }}Default Response
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Every value the request got wrong.
object
The path into the request, with property names and numeric array indexes.
What is wrong with the value at this path.
The stable code for the issue. Branch on it, and use it with params to write your own text.
Accepted values when a node type or enum value is rejected.
Example
{ "code": "INVALID_INPUT"}Default Response
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Example
{ "code": "INVALID_INPUT"}Default Response
object
The request sets a field the plan does not include.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
The plan whose features were applied.
Where to review plans and upgrade the organization.
The plan feature the blocked field needs, such as meta_tags or partial_response_access.
The path of the blocked field, such as properties/meta_title. On a write it points into the request body; on publish it points into the Draft Document, and it is empty when the blocker is not a document field.
Example
{ "code": "PRO_FEATURE_REQUIRED", "plan": "free"}Default Response
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Example
{ "code": "INVALID_INPUT"}Default Response
object
Returned for a form that does not exist, is in Trash, or belongs to another organization. The three are not told apart.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Example
{ "code": "NOT_FOUND"}A rejected call. The organization budget names the policy it rejected the call under; the request floor that bounds hammering sends the envelope alone.
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
The policy that rejected the call.
The plan whose numbers were applied.
The policy limit in credits.
Credits already spent in the open window.
Credits still available under the policy.
What the rejected call would have cost.
How long the policy window lasts.
When the window that rejected the call ends.
Seconds to wait before retrying. Also sent as the Retry-After response header.
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Example
{ "code": "INVALID_INPUT", "policy": "minute", "plan": "free"}Default Response
object
The stable code to branch on.
A human-readable explanation. Not part of the contract; never branch on it.
The ID of the failed request, also sent as the X-Request-Id response header.
Example
{ "code": "INVALID_INPUT"}