{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-apis/index.yaml","sidebar":"sidebar-sidebar.yaml__apis"},"props":{"definitionId":"apis/index.yaml","dynamicMarkdocComponents":[],"baseSlug":"/apis","seo":{"title":"forms.app API","siteUrl":"https://developers.forms.app","image":"/assets/formsapp-developer-docs.6ffba4f5ff7d394698661bcdb0ed2a8452f27acaf4e82754e5d0f4109563471c.9c1bb791.png","lang":"en-US","projectTitle":"forms.app Developer Docs","llmstxt":{"sections":[{"title":"llmtxt for forms app documents","includeFiles":["**/*"],"excludeFiles":[]}],"hide":false,"excludeFiles":[]},"jsonLd":{"@context":"https://schema.org","@type":"Organization","additionalType":"https://en.wikipedia.org/wiki/Software_as_a_service","url":"https://forms.app","name":"forms.app","logo":"https://cdn.forms.app/icons/all/brands/formsapp-logo-dark.svg","description":"forms.app is a free online form builder designed for teams. forms.app offers a modern, easy-to-use form builder and allows unlimited responses and team members.","foundingDate":"2018","sameAs":"https://linkedin.com/company/formsapp","contactPoint":{"@type":"ContactPoint","contactType":"Customer service","email":"support@forms.app","url":"https://forms.app/en/contact-us"}}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"forms.app API","description":"## Overview\n\nThe **forms.app API** gives you programmatic, read-only access to your forms and their\nsubmissions. You can list all the forms in your account, fetch a specific form's complete\nstructure (questions, design settings, submission behaviour, thank-you pages), and page\nthrough the answers your respondents have submitted.\n\n## Authentication\n\nEvery request must be authenticated with exactly **one** of the two methods below.\nProviding both in the same request is not allowed and will return `401 Unauthorized`.\n\n### Option 1 — OAuth 2.0 Bearer Token\n\nObtain a JWT via the forms.app OAuth 2.0 flow and pass it in the `Authorization` header:\n\n```\nAuthorization: Bearer <your_token>\n```\n\n### Option 2 — API Key\n\nPass your API key in the `X-Api-Key` header:\n\n```\nX-Api-Key: <your_api_key>\n```\n\n#### How to create an API key\n\n1. Log in to [forms.app](https://forms.app).\n2. Click your avatar in the top-right corner and open **Account Settings**.\n3. Go to the **API Keys** tab.\n4. Click **Create API Key**, enter a descriptive name, and confirm.\n5. Copy the generated key immediately — it is shown **only once**.\n6. Store it securely (e.g. in an environment variable or secret manager).\n\n> You can create multiple keys (one per integration), and revoke any of them at any time\n> from the same **API Keys** settings page.\n\n> **Newly created or re-activated keys:** for up to ~30 seconds, a key whose validation\n> recently failed may keep returning `401 Unauthorized` from a short-lived cache. If a key\n> you just created or re-activated is rejected, wait ~30 seconds and retry.\n\n## Response Envelope\n\nAll endpoints return a consistent JSON envelope:\n\n**Success (`2xx`)**\n```json\n{\n  \"success\": true,\n  \"data\": { },\n  \"errors\": []\n}\n```\n\n**Error (`4xx` / `5xx`)**\n```json\n{\n  \"success\": false,\n  \"data\": null,\n  \"errors\": [\n    { \"errorCode\": 1001, \"errorMessage\": \"Unauthorized\" }\n  ]\n}\n```\n\n## Rate Limiting\n\nRequests are rate-limited per API key / token (falling back to client IP when neither is\npresent). You may send up to **300 requests per 60-second window**. When the limit is\nexceeded the API returns `429 Too Many Requests` with a `Retry-After` header indicating how\nmany seconds to wait before the window resets. Wait for that period and retry — do not spam\nthe endpoint in a tight loop.\n\nA short-term burst limit also applies per endpoint (about **50 requests per second**, with a\nburst allowance up to **100**). Spread requests out rather than firing them in a tight burst\nto avoid transient `429` responses.\n"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"developers.forms.app","port":4000,"ipAddress":"216.73.216.54"},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"main"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/apis","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}