const url = 'https://platform.fomr.io/v1/forms?is_template=true&status=draft&sort=updated_at&order=asc&limit=25';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?is_template=true&status=draft&sort=updated_at&order=asc&limit=25' \ --header 'Authorization: Bearer <token>'Lists the forms of the organization, most recently changed first. Set is_template to true to list Private Templates instead. Read further pages by passing next_cursor back as cursor until it comes back null. Needs forms:read or templates:read. Costs 1 API credit.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”List Private Templates instead of forms.
Keep only forms in this state. Omit for every state.
Keep only forms in this workspace. Omit for every workspace.
Keep only forms whose name contains this fragment, ignoring case.
The field the page is ordered by.
The direction of the sort.
How many forms one page holds.
The next_cursor of the previous page. Opaque: pass it back exactly as received.
Responses
Section titled “Responses”Default Response
object
One page of forms, ordered by the requested sort.
object
The public ID of the form. Use it in every other form call.
Form name shown in the app.
Whether the resource is a Private Template rather than a form.
Lifecycle state: draft while nothing is published, published once a version is live, archived when the form is no longer editable.
Whether publishing would change what respondents see. True for a form that has never been published.
The workspace the form belongs to. Change it with the move operation.
Whether the form takes submissions.
object
Whether the form was closed by hand.
Whether the form takes a submission right now. Derived from is_closed, the schedule, and whether a version is published.
One completed response per respondent IP address.
object
The matching method: ip_address, submission_id, or component.
One completed response per browser, using the completed response ID saved in it.
object
The matching method: ip_address, submission_id, or component.
Rejects a completed response that repeats an earlier answer to one question. Blank optional answers are not checked.
object
The matching method: ip_address, submission_id, or component.
Public ID of the question whose answer must be unique: a visible short text, email, phone, link, or number block on a visible page.
How many submissions the form holds.
object
Submissions the respondent finished.
Partial responses captured before the respondent finished.
object
The custom domain of the share link, such as forms.example.com.
The path after the host, starting with a slash.
Verification state of the domain: verified, pending, or failed.
Whether the plan of the organization keeps the domain serving forms.
The link on the custom domain. It becomes urls.share once the domain is verified and active and a version is published.
When the form was created.
When the form was last changed.
Example
{ "data": [ { "status": "draft", "access": { "duplicate_response_rule": { "type": "ip_address" } }, "domain": { "status": "verified" } } ]}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 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"}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"}