const url = 'https://platform.fomr.io/v1/themes';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/themes \ --header 'Authorization: Bearer <token>'Lists the themes a form can use: the system themes fomr provides, then the themes of the organization, each with its design properties. Pass a theme ID as styles.theme_id when creating a form or replacing its draft. Needs forms:read or templates:read. Costs 1 API credit.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Default Response
object
The system themes, then the themes of the organization, each group oldest first.
object
The ID of the theme, as styles.theme_id carries it.
Whether this is a theme of the fomr catalog, offered to every organization, rather than one the organization owns.
Whether this is the theme a new form receives. It is also the theme null in styles.theme_id applies. Exactly one theme has it.
The design properties of the theme. A form keeps its own overrides on top of them in styles.override_properties.
object
Font family name.
Example
{ "data": [ { "properties": { "form_width": "xs", "form_size": "xs", "form_spacing": "xs", "form_align_x": "left", "form_align_y": "top", "is_form_background_color": 0, "is_form_background_blur": 0, "border_radius": "none", "border_shadow": "none", "logo_align_x": "left", "is_logo_hidden": 0, "is_logo_full_width": 0, "page_actions_show_back_button": 0, "page_actions_show_button_arrows": 0, "page_actions_alignment": "left", "select_options_layout": "list" } } ]}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"}