{"openapi":"3.1.0","info":{"title":"Request Forms API","summary":"Public REST API for Request Forms on requestforms.io","description":"Request Forms hosts forms and collects answers. Unauthenticated routes cover health, platform stats, published forms, and public submits. Organization API keys (`Authorization: Bearer rfk_...`) create, update, and read forms, submissions, webhooks, analytics, folders, and workspace members. The website session cookie, MCP OAuth, and API keys are separate. Support: support@requestforms.io. Docs: https://requestforms.io/docs/api. MCP: https://requestforms.io/mcp. CLI: https://requestforms.io/docs/cli. REST versioning: public discovery routes live at /api. API-key list routes live at /api/v1. A new major path such as /api/v2 is required for breaking changes. Deprecation policy: https://requestforms.io/docs/deprecation. Deprecation uses RFC 9745 Deprecation and RFC 8594 Sunset response headers on the old path before removal. There is no scheduled sunset for /api/v1.","version":"1.0.0","contact":{"name":"Request Forms support","email":"support@requestforms.io","url":"https://requestforms.io/contact"}},"externalDocs":{"description":"REST versioning, deprecation, and sunset policy. RFC 9745 Deprecation headers and RFC 8594 Sunset headers.","url":"https://requestforms.io/docs/deprecation"},"servers":[{"url":"https://requestforms.io","description":"Request Forms public origin"}],"tags":[{"name":"Discovery","description":"Find the API without an account."},{"name":"Public forms","description":"Read a published form and post answers."},{"name":"Auth","description":"Account register and provider list."},{"name":"API keys","description":"Organization REST API. Form, submission, webhook, analytics, and workspace routes."}],"paths":{"/api":{"get":{"operationId":"getApiCatalog","tags":["Discovery"],"summary":"Request Forms API catalog","description":"JSON index of public Request Forms endpoints, OpenAPI, docs, deprecation policy, CLI, and MCP. No auth.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Catalog of public Request Forms API links.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiCatalog"}]}}}}}}},"/api/health":{"get":{"operationId":"getApiHealth","tags":["Discovery"],"summary":"Request Forms API health","description":"Liveness JSON for requestforms.io/api.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"API process is up.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiHealth"}]}}}}}}},"/api/public/stats":{"get":{"operationId":"getPublicPlatformStats","tags":["Discovery"],"summary":"Request Forms public platform stats","description":"Counts of forms, organizations, responses, uploads, accounts, live forms, views, templates, AI conversations, and payments. No auth. Used on the homepage.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Platform totals.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/PlatformStats"}]}}}}}}},"/api/public/host/forms":{"get":{"operationId":"listPublishedFormsForHost","tags":["Public forms"],"summary":"List published Request Forms forms for a custom domain","description":"Returns published form paths for the Host header. Used by the custom-domain sitemap. Platform hosts return 404.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Published forms on that custom domain.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/HostPublishedForms"}]}}}},"404":{"description":"Host is not a live custom domain.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/public/forms/{formId}":{"get":{"operationId":"getPublicForm","tags":["Public forms"],"summary":"Get a published Request Forms form","description":"Returns the published form payload for the hosted page and embed. Unpublished ids return an error.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"formId","in":"path","required":true,"description":"Public form id from the share URL.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Published form payload.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/PublishedForm"}]}}}},"404":{"description":"Form is missing or not published.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/forms/{formId}/responses":{"post":{"operationId":"submitPublicFormResponse","tags":["Public forms"],"summary":"Submit answers to a Request Forms form","description":"Public submit for a published form. Optional session JWT attaches the signed-in user. Rate limits apply per form and IP.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"formId","in":"path","required":true,"description":"Published form id.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/SubmitFormRequest"}]}}}},"responses":{"201":{"description":"Stored response.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/SubmitAck"}]}}}},"400":{"description":"Validation failed.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}},"429":{"description":"Submit rate limit.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/auth/providers":{"get":{"operationId":"listAuthProviders","tags":["Auth"],"summary":"Request Forms auth providers","description":"Which sign-in methods are enabled on this deploy (password, Google).","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Enabled auth providers.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/AuthProviders"}]}}}}}}},"/api/auth/register":{"post":{"operationId":"registerAccount","tags":["Auth"],"summary":"Register a Request Forms account","description":"Create an email-and-password account. Email verification is required before password login. Rate limited per IP.","parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/RegisterAccountRequest"}]}}}},"responses":{"201":{"description":"Account created. Verification still required.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/RegisterResult"}]}}}},"400":{"description":"Validation failed.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}},"429":{"description":"Register rate limit.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current. Set to an HTTP date when the path is deprecated.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date. Set to an HTTP date when the path will be removed.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/users/me":{"get":{"operationId":"getCurrentUserWithApiKey","tags":["API keys"],"summary":"Get the API key creator","description":"Returns the user who created the organization API key, plus the organization plan.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}}],"responses":{"200":{"description":"Get the API key creator result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CurrentUser"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/organizations/{organizationId}/users":{"get":{"operationId":"listOrganizationUsersWithApiKey","tags":["API keys"],"summary":"List organization members","description":"Returns members of the API key organization. The path id must match the key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"organizationId","in":"path","required":true,"description":"Organization id on the API key.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"List organization members result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"array","allOf":[{"$ref":"#/components/schemas/V1UserList"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/organizations/{organizationId}/users/{userId}":{"delete":{"operationId":"removeOrganizationUserWithApiKey","tags":["API keys"],"summary":"Remove an organization member","description":"Removes a member or leaves when the key user removes themselves. The organization id must match the key.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"organizationId","in":"path","required":true,"description":"Organization id on the API key.","schema":{"type":"string","minLength":1}},{"name":"userId","in":"path","required":true,"description":"User id to remove.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Member removed.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/organizations/{organizationId}/invites":{"get":{"operationId":"listOrganizationInvitesWithApiKey","tags":["API keys"],"summary":"List organization invites","description":"Lists invites for the API key organization. Owners and admins only.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"organizationId","in":"path","required":true,"description":"Organization id on the API key.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Pending and past invites.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"array","allOf":[{"$ref":"#/components/schemas/V1InviteList"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"post":{"operationId":"createOrganizationInviteWithApiKey","tags":["API keys"],"summary":"Create an organization invite","description":"Invites an email to the API key organization. Owners and admins only.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"organizationId","in":"path","required":true,"description":"Organization id on the API key.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateInviteRequest"}]}}}},"responses":{"201":{"description":"Invite created.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Invite"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/organizations/{organizationId}/invites/{inviteId}":{"delete":{"operationId":"cancelOrganizationInviteWithApiKey","tags":["API keys"],"summary":"Cancel an organization invite","description":"Revokes a pending invite in the API key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"organizationId","in":"path","required":true,"description":"Organization id on the API key.","schema":{"type":"string","minLength":1}},{"name":"inviteId","in":"path","required":true,"description":"Invite id to cancel.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Invite cancelled.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/workspaces":{"get":{"operationId":"listWorkspacesWithApiKey","tags":["API keys"],"summary":"List workspaces","description":"Returns the API key organization as a workspace page. Extra orgs need their own keys.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Workspace page.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1WorkspacePage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"post":{"operationId":"createWorkspaceWithApiKey","tags":["API keys"],"summary":"Create a workspace","description":"Creates another organization for the key user. Create a new API key there to call it.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateWorkspaceRequest"}]}}}},"responses":{"201":{"description":"Workspace created.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Workspace"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/workspaces/{workspaceId}":{"get":{"operationId":"getWorkspaceWithApiKey","tags":["API keys"],"summary":"Get a workspace","description":"Returns the API key organization as a workspace, with members and invites.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Workspace.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Workspace"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"patch":{"operationId":"updateWorkspaceWithApiKey","tags":["API keys"],"summary":"Rename a workspace","description":"Renames the API key organization. Owners and admins only.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateWorkspaceRequest"}]}}}},"responses":{"200":{"description":"Updated workspace.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Workspace"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteWorkspaceWithApiKey","tags":["API keys"],"summary":"Delete a workspace","description":"This route exists for compatibility. The API returns 403. Archive or delete forms instead. The organization stays.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Not used. Runtime returns 403.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}},"403":{"description":"Deleting a workspace is not supported.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/workspaces/{workspaceId}/folders":{"get":{"operationId":"listFoldersWithApiKey","tags":["API keys"],"summary":"List folders","description":"Lists folders in the API key organization workspace.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Folders.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"array","allOf":[{"$ref":"#/components/schemas/V1FolderList"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"post":{"operationId":"createFolderWithApiKey","tags":["API keys"],"summary":"Create a folder","description":"Creates a folder in the API key organization. Pass parentId to nest it. Max depth is 5.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateFolderRequest"}]}}}},"responses":{"201":{"description":"Folder created.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Folder"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/workspaces/{workspaceId}/folders/{folderId}":{"patch":{"operationId":"updateFolderWithApiKey","tags":["API keys"],"summary":"Rename a folder","description":"Renames a folder in the API key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}},{"name":"folderId","in":"path","required":true,"description":"Folder id.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateFolderRequest"}]}}}},"responses":{"200":{"description":"Updated folder.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Folder"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteFolderWithApiKey","tags":["API keys"],"summary":"Delete a folder","description":"Deletes a folder subtree and archives forms that lived in those folders.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"workspaceId","in":"path","required":true,"description":"Organization id. Must match the API key.","schema":{"type":"string","minLength":1}},{"name":"folderId","in":"path","required":true,"description":"Folder id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Folder deleted.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms":{"get":{"operationId":"listOrganizationFormsWithApiKey","tags":["API keys"],"summary":"List organization forms","description":"Paid organization feature. Lists forms in the key organization with page-based pagination.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"folderId","in":"query","required":false,"description":"Only forms in this folder.","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated forms.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormPage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"post":{"operationId":"createFormWithApiKey","tags":["API keys"],"summary":"Create a form","description":"Creates a form in the key organization. Accepts title or name, definition or blocks, and status.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateFormRequest"}]}}}},"responses":{"201":{"description":"Created form.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormDetail"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}":{"get":{"operationId":"getFormWithApiKey","tags":["API keys"],"summary":"Get a form","description":"Returns one form in the key organization, including blocks and settings.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Form.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormDetail"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"patch":{"operationId":"updateFormWithApiKey","tags":["API keys"],"summary":"Update a form","description":"Updates title, blocks, status, folder, or settings for a form in the key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateFormRequest"}]}}}},"responses":{"200":{"description":"Updated form.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormDetail"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteFormWithApiKey","tags":["API keys"],"summary":"Archive a form","description":"Archives a form in the key organization. It does not hard-delete.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Form archived.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/questions":{"get":{"operationId":"listFormQuestionsWithApiKey","tags":["API keys"],"summary":"List form questions","description":"Returns answer blocks for a form in the key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"List form questions result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"array","allOf":[{"$ref":"#/components/schemas/V1QuestionList"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/submissions":{"get":{"operationId":"listFormSubmissionsWithApiKey","tags":["API keys"],"summary":"List form submissions","description":"Paginated submissions with optional startDate, endDate, afterId, and filter. Partial filter is empty.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"filter","in":"query","required":false,"description":"Use completed or all. Partial returns an empty page.","schema":{"type":"string","enum":["all","completed","partial"]}},{"name":"startDate","in":"query","required":false,"description":"ISO 8601 lower bound on submittedAt.","schema":{"type":"string","format":"date-time"}},{"name":"endDate","in":"query","required":false,"description":"ISO 8601 upper bound on submittedAt.","schema":{"type":"string","format":"date-time"}},{"name":"afterId","in":"query","required":false,"description":"Return submissions newer than this submission id.","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated submissions.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1SubmissionPage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/responses":{"get":{"operationId":"listFormResponsesWithApiKey","tags":["API keys"],"summary":"List form responses","description":"Alias of list submissions. Paid organization feature. Paginated answers for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"filter","in":"query","required":false,"description":"Use completed or all. Partial returns an empty page.","schema":{"type":"string","enum":["all","completed","partial"]}},{"name":"startDate","in":"query","required":false,"description":"ISO 8601 lower bound on submittedAt.","schema":{"type":"string","format":"date-time"}},{"name":"endDate","in":"query","required":false,"description":"ISO 8601 upper bound on submittedAt.","schema":{"type":"string","format":"date-time"}},{"name":"afterId","in":"query","required":false,"description":"Return submissions newer than this submission id.","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated responses.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1SubmissionPage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/submissions/{submissionId}":{"get":{"operationId":"getFormSubmissionWithApiKey","tags":["API keys"],"summary":"Get a submission","description":"Returns one submission and the questions that were on the form at submit time.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"submissionId","in":"path","required":true,"description":"Submission id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Submission.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1SubmissionDetail"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteFormSubmissionWithApiKey","tags":["API keys"],"summary":"Delete a submission","description":"Deletes one submission from a form in the key organization.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"submissionId","in":"path","required":true,"description":"Submission id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Submission deleted.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/responses/{responseId}":{"get":{"operationId":"getFormResponseWithApiKey","tags":["API keys"],"summary":"Get a response","description":"Alias of get submission. Returns one response and the questions on the form at submit time.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"responseId","in":"path","required":true,"description":"Response id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Response.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1SubmissionDetail"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteFormResponseWithApiKey","tags":["API keys"],"summary":"Delete a response","description":"Alias of delete submission. Deletes one response from a form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}},{"name":"responseId","in":"path","required":true,"description":"Response id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Response deleted.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/analytics/metrics":{"get":{"operationId":"getFormMetricsWithApiKey","tags":["API keys"],"summary":"Get form metrics","description":"Returns views, starts, submissions, and conversion rates for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Get form metrics result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormMetrics"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/analytics/visits":{"get":{"operationId":"getFormVisitsWithApiKey","tags":["API keys"],"summary":"Get form visits","description":"Returns visit counts for the last seven days for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Get form visits result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormVisits"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/analytics/submissions":{"get":{"operationId":"getFormSubmissionTimeseriesWithApiKey","tags":["API keys"],"summary":"Get form submission counts","description":"Returns completed submission counts for the last seven days for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Get form submission counts result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormSubmissionSeries"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/analytics/dimensions":{"get":{"operationId":"getFormDimensionsWithApiKey","tags":["API keys"],"summary":"Get form dimensions","description":"Returns hosted versus embed splits and top referrer hosts for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Get form dimensions result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormDimensions"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/forms/{formId}/analytics/drop-off":{"get":{"operationId":"getFormDropOffWithApiKey","tags":["API keys"],"summary":"Get form drop-off","description":"Returns the view-start-submit funnel and per-question answered counts for one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"formId","in":"path","required":true,"description":"Form id in the API key organization.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Get form drop-off result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1FormDropOff"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/webhooks":{"get":{"operationId":"listWebhooksWithApiKey","tags":["API keys"],"summary":"List webhooks","description":"Lists form webhooks in the key organization, including the share-page webhook.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Paginated webhooks.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1WebhookPage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"post":{"operationId":"createWebhookWithApiKey","tags":["API keys"],"summary":"Create a webhook","description":"Adds an extra https webhook destination for FORM_RESPONSE events on one form.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateWebhookRequest"}]}}}},"responses":{"201":{"description":"Webhook created.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Webhook"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/webhooks/{webhookId}":{"patch":{"operationId":"updateWebhookWithApiKey","tags":["API keys"],"summary":"Update a webhook","description":"Updates a webhook URL, signing secret, or custom headers.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"webhookId","in":"path","required":true,"description":"Webhook id or legacy_ plus form id.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1CreateWebhookRequest"}]}}}},"responses":{"200":{"description":"Updated webhook.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Webhook"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}},"delete":{"operationId":"deleteWebhookWithApiKey","tags":["API keys"],"summary":"Delete a webhook","description":"Deletes an extra webhook or clears the share-page webhook.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"webhookId","in":"path","required":true,"description":"Webhook id or legacy_ plus form id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Webhook deleted.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1Ok"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/webhooks/{webhookId}/events":{"get":{"operationId":"listWebhookEventsWithApiKey","tags":["API keys"],"summary":"List webhook events","description":"Returns delivery attempts for one webhook, including status codes and errors.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"webhookId","in":"path","required":true,"description":"Webhook id or legacy_ plus form id.","schema":{"type":"string","minLength":1}},{"name":"page","in":"query","required":false,"description":"Page number. Default 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Page size. Default 50. Max 500.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"List webhook events result.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1WebhookEventPage"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}},"/api/v1/webhooks/{webhookId}/events/{eventId}/retry":{"post":{"operationId":"retryWebhookEventWithApiKey","tags":["API keys"],"summary":"Retry a webhook event","description":"Sends the original submission payload again to the webhook URL.","security":[{"apiKey":[]}],"parameters":[{"name":"Accept","in":"header","required":false,"description":"Clients should send application/json.","schema":{"type":"string","default":"application/json"}},{"name":"Authorization","in":"header","required":true,"description":"Organization API key. Format: Bearer rfk_...","schema":{"type":"string","pattern":"^Bearer rfk_"}},{"name":"webhookId","in":"path","required":true,"description":"Webhook id or legacy_ plus form id.","schema":{"type":"string","minLength":1}},{"name":"eventId","in":"path","required":true,"description":"Delivery event id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Retry delivery row.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/V1WebhookEvent"}]}}}},"401":{"description":"Missing or invalid API key.","headers":{"Deprecation":{"description":"RFC 9745 Deprecation header. Omitted while this path is current.","schema":{"type":"string"},"required":false},"Sunset":{"description":"RFC 8594 Sunset header. Omitted while there is no removal date.","schema":{"type":"string"},"required":false}},"content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/ApiError"}]}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"rfk","description":"Organization API key. Header: `Authorization: Bearer rfk_...`. Session JWTs are rejected. Keys can create and update forms."}},"schemas":{"ApiError":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"integer"},"message":{"type":"string"},"error":{"type":"string"}}},"ApiCatalog":{"type":"object","required":["name","openapi","docs"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"openapi":{"type":"string","format":"uri"},"docs":{"type":"string","format":"uri"},"authDocs":{"type":"string","format":"uri"},"webhooks":{"type":"string","format":"uri"},"mcp":{"type":"string","format":"uri"},"mcpDocs":{"type":"string","format":"uri"},"mcpManifest":{"type":"string","format":"uri"},"mcpServerJson":{"type":"string","format":"uri"},"cli":{"type":"string","format":"uri"},"developers":{"type":"string","format":"uri"},"deprecation":{"type":"string","format":"uri"},"llms":{"type":"string","format":"uri"},"endpoints":{"type":"array","items":{"type":"string"}}}},"ApiHealth":{"type":"object","required":["status","service"],"properties":{"status":{"type":"string","enum":["ok"]},"service":{"type":"string"}}},"PlatformStats":{"type":"object","required":["formsCreated","organizations","responsesSubmitted","filesUploaded","formsExported","filesUploadedBytes","accountsCreated","liveForms","formViews","publicTemplates","aiConversations","paymentsCollected"],"properties":{"formsCreated":{"type":"integer"},"organizations":{"type":"integer"},"responsesSubmitted":{"type":"integer"},"filesUploaded":{"type":"integer"},"formsExported":{"type":"integer"},"filesUploadedBytes":{"type":"integer"},"accountsCreated":{"type":"integer"},"liveForms":{"type":"integer"},"formViews":{"type":"integer"},"publicTemplates":{"type":"integer"},"aiConversations":{"type":"integer"},"paymentsCollected":{"type":"integer"}}},"AuthProviders":{"type":"object","required":["password","google"],"properties":{"password":{"type":"boolean"},"google":{"type":"boolean"}}},"RegisterAccountRequest":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8,"maxLength":128},"name":{"type":"string","maxLength":120}}},"RegisterResult":{"type":"object","required":["verificationRequired"],"properties":{"verificationRequired":{"type":"boolean"},"user":{"type":"object","required":["id","email"],"properties":{"id":{"type":"string"},"email":{"type":"string","format":"email"},"name":{"type":"string"}}}}},"PublishedForm":{"type":"object","required":["id","title","published"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"publicUrl":{"type":"string","format":"uri","description":"Canonical hosted URL. Uses the verified custom domain when that host is live."},"definition":{"type":"object","description":"Form field tree used by the hosted page.","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/PublishedFormField"}}}}}},"HostPublishedForms":{"type":"object","required":["origin","forms"],"properties":{"origin":{"type":"string","format":"uri"},"forms":{"type":"array","items":{"type":"object","required":["path","updatedAt"],"properties":{"path":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}}}}},"PublishedFormField":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"}}},"SubmitFormRequest":{"type":"object","required":["answers"],"properties":{"answers":{"type":"object","description":"Map of field id to answer value.","additionalProperties":true},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"respondentEmail":{"type":"string","format":"email"},"captchaId":{"type":"string"},"captchaAnswer":{"type":"string"},"recaptchaToken":{"type":"string"},"website":{"type":"string","description":"Honeypot. Leave empty."}}},"SubmitAck":{"type":"object","required":["id","formId"],"properties":{"id":{"type":"string"},"formId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"FormSummary":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"published":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"}}},"FormSummaryList":{"type":"array","items":{"$ref":"#/components/schemas/FormSummary"}},"FormResponseSummary":{"type":"object","required":["id","formId","createdAt"],"properties":{"id":{"type":"string"},"formId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"answers":{"type":"object","description":"Map of field id to stored answer.","additionalProperties":true}}},"FormResponseSummaryList":{"type":"array","items":{"$ref":"#/components/schemas/FormResponseSummary"}},"V1Ok":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}},"V1Page":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}},"V1CurrentUser":{"type":"object","required":["id","email","organizationId","subscriptionPlan"],"properties":{"id":{"type":"string"},"email":{"type":"string","format":"email"},"organizationId":{"type":"string"},"subscriptionPlan":{"type":"string"}}},"V1UserList":{"type":"array","items":{"$ref":"#/components/schemas/V1CurrentUser"}},"V1Invite":{"type":"object","required":["id","email","status"],"properties":{"id":{"type":"string"},"email":{"type":"string","format":"email"},"status":{"type":"string"}}},"V1InviteList":{"type":"array","items":{"$ref":"#/components/schemas/V1Invite"}},"V1CreateInviteRequest":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["ADMIN","MEMBER"]}}},"V1Workspace":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}}},"V1WorkspacePage":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/V1Workspace"}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}},"V1CreateWorkspaceRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"V1Folder":{"type":"object","required":["id","name","workspaceId"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string"},"parentId":{"type":"string"}}},"V1FolderList":{"type":"array","items":{"$ref":"#/components/schemas/V1Folder"}},"V1CreateFolderRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"parentId":{"type":"string"}}},"V1Form":{"type":"object","required":["id","title","workspaceId","status"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string"},"status":{"type":"string"},"numberOfSubmissions":{"type":"integer"}}},"V1FormPage":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/V1Form"}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}},"V1FormDetail":{"type":"object","required":["id","title","blocks"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"blocks":{"type":"array","items":{"type":"object"}}}},"V1CreateFormRequest":{"type":"object","properties":{"title":{"type":"string"},"name":{"type":"string"},"blocks":{"type":"array","items":{"type":"object"}},"status":{"type":"string","enum":["BLANK","DRAFT","PUBLISHED"]}}},"V1QuestionList":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"}}}},"V1SubmissionPage":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"items":{"type":"array","items":{"type":"object"}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}},"V1SubmissionDetail":{"type":"object","required":["id","formId"],"properties":{"id":{"type":"string"},"formId":{"type":"string"},"answers":{"type":"object"}}},"V1FormMetrics":{"type":"object","required":["formId","views","submissions"],"properties":{"formId":{"type":"string"},"views":{"type":"integer"},"submissions":{"type":"integer"}}},"V1FormVisits":{"type":"object","required":["formId","items"],"properties":{"formId":{"type":"string"},"items":{"type":"array","items":{"type":"object"}}}},"V1FormSubmissionSeries":{"type":"object","required":["formId","items"],"properties":{"formId":{"type":"string"},"items":{"type":"array","items":{"type":"object"}}}},"V1FormDimensions":{"type":"object","required":["formId"],"properties":{"formId":{"type":"string"}}},"V1FormDropOff":{"type":"object","required":["formId","funnel"],"properties":{"formId":{"type":"string"},"funnel":{"type":"array","items":{"type":"object"}}}},"V1Webhook":{"type":"object","required":["id","formId","url"],"properties":{"id":{"type":"string"},"formId":{"type":"string"},"url":{"type":"string"}}},"V1WebhookPage":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/V1Webhook"}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}},"V1CreateWebhookRequest":{"type":"object","required":["formId","url"],"properties":{"formId":{"type":"string"},"url":{"type":"string"}}},"V1WebhookEvent":{"type":"object","required":["id","formId"],"properties":{"id":{"type":"string"},"formId":{"type":"string"},"statusCode":{"type":"integer"}}},"V1WebhookEventPage":{"type":"object","required":["items","page","limit","total","hasMore"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/V1WebhookEvent"}},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"hasMore":{"type":"boolean"}}}}}}