Reform · Authentication Profile

Reform Authentication

Authentication

Reform issues no API credentials. There is no public REST API, no developer portal, no API-key page, no OAuth authorization server and no OpenAPI securitySchemes to derive from — derive-authentication.py produced no profile because the repo holds no spec, and the help centre's only "API key" articles are about pasting THIRD-PARTY keys (Close CRM, Google reCAPTCHA) INTO Reform. The one credential Reform hands a developer is a per-webhook signing secret, used to verify inbound deliveries; it authenticates Reform to the customer, not the customer to Reform.

Reform declares 3 security scheme(s) across its OpenAPI definitions.

FormsForm BuilderLead GenerationHeadless FormsWebhookNo-CodeIntegrationCRMConversion Rate OptimizationEmbeddable Components
Methods: Schemes: 3 OAuth flows: API key in:

Security Schemes

message-signature
none
interactive-login

Source

Authentication Profile

reform-authentication.yml Raw ↑
generated: '2026-08-14'
method: searched
source: https://docs.reform.app/article/7-webhooks
docs:
  - https://docs.reform.app/article/7-webhooks
  - https://docs.reform.app/article/65-close
  - https://docs.reform.app/article/38-how-to-set-up-google-recaptcha-integration
  - https://docs.reform.app/article/15-using-your-own-html-form
description: >-
  Reform issues no API credentials. There is no public REST API, no developer
  portal, no API-key page, no OAuth authorization server and no OpenAPI
  securitySchemes to derive from — derive-authentication.py produced no profile
  because the repo holds no spec, and the help centre's only "API key" articles
  are about pasting THIRD-PARTY keys (Close CRM, Google reCAPTCHA) INTO Reform.
  The one credential Reform hands a developer is a per-webhook signing secret,
  used to verify inbound deliveries; it authenticates Reform to the customer,
  not the customer to Reform.
api_credentials_issued: false
oauth2: false
openid_connect: false
mutual_tls: false
schemes:
  - id: webhook-hmac-signature
    type: message-signature
    direction: reform-to-customer
    algorithm: HMAC-SHA256
    header: Signature
    credential: per-webhook secret, retrieved from the dashboard (form → Integrations → Webhook → lock icon)
    verification: >-
      Recompute HMAC-SHA256 over the raw request body with the webhook secret
      and compare the hex digest to the Signature header. Reform publishes a PHP
      reference implementation.
    docs: https://docs.reform.app/article/7-webhooks
    note: >-
      This is the only cryptographic credential Reform gives a developer. It
      authenticates Reform's outbound webhook, it does NOT grant access to any
      Reform endpoint.
  - id: unauthenticated-form-post
    type: none
    direction: customer-to-reform
    description: >-
      The headless-forms flow posts a plain HTML form to the Reform-generated
      form action on forms.reform.app with fields named answers[<block-id>].
      No key, token or signature is involved; the form's own URL is the
      capability. Spam control is delegated to Google reCAPTCHA (the customer
      supplies their own Site Key/Secret) and to Reform's email-validation and
      free-email-provider blocking features.
    docs: https://docs.reform.app/article/15-using-your-own-html-form
  - id: dashboard-session
    type: interactive-login
    endpoint: https://dashboard.reform.app/login
    description: >-
      Human login to the Reform application. Reform's security page states MFA
      is required for Reform employees and that strong passwords are required
      for platform users; no customer-facing SSO/SAML or MFA feature is
      documented in the help centre, and no OIDC discovery document is served
      (see well-known/reform-well-known.yml).
third_party_credentials_stored:
  - {integration: Close CRM, credential: Close API key, note: generated in Close, pasted into Reform}
  - {integration: Google reCAPTCHA, credential: Site Key + Site Secret, note: generated in the reCAPTCHA admin panel, pasted into Reform}
  - {integration: HubSpot / ConvertKit (Kit) / Notion / Google Sheets / Slack, credential: OAuth or account connection performed inside the Reform dashboard, note: mechanics not documented publicly}
gaps:
  - No published API key, token, or OAuth flow for programmatic access to Reform data.
  - No /.well-known/openid-configuration or /.well-known/oauth-authorization-server on any Reform host (all 404 or 403).
  - No documented rotation policy, expiry, or scope model for the webhook signing secret.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/reform-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.