Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/heyform-auth-api"
All apis
curl "https://apis.io/api/v1/apis?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.
OpenAPI Specification
openapi: 3.2.0
info:
title: HeyForm Auth API
description: HeyForm is an open-source conversational form builder providing REST and GraphQL endpoints for managing forms, submissions, workspaces, integrations, and webhooks. The primary data API uses GraphQL; this document covers the publicly accessible REST endpoints discovered in the open-source codebase.
version: 1.0.0
contact:
name: HeyForm Support
url: https://docs.heyform.net
license:
name: AGPL-3.0
url: https://github.com/heyform/heyform/blob/main/LICENSE
servers:
- url: https://api.heyform.net
description: HeyForm Cloud API
- url: http://localhost:8000
description: Self-hosted HeyForm instance (default port)
tags:
- name: Auth
description: Authentication and social login (OAuth)
paths:
/connect/{kind}:
get:
operationId: socialLoginInitiate
summary: Initiate social login (OAuth)
description: Redirects the user to the OAuth provider's authorization URL. Supported providers include Google, GitHub, and Apple.
tags:
- Auth
parameters:
- name: kind
in: path
required: true
description: The OAuth provider identifier (e.g. google, github, apple).
schema:
type: string
enum:
- google
- github
- apple
example: google
- name: state
in: query
required: true
description: Browser ID / CSRF state token generated by the client to correlate the callback.
schema:
type: string
example: DMbcJqLJ
- name: redirect_uri
in: query
required: false
description: Optional URI to redirect to after successful login.
schema:
type: string
format: uri
responses:
'302':
description: Redirect to OAuth provider authorization URL
headers:
Location:
schema:
type: string
format: uri
'200':
description: Error page rendered in HTML when the state is missing or the provider is unsupported.
content:
text/html:
schema:
type: string
/connect/{kind}/callback:
get:
operationId: socialLoginCallbackGet
summary: Handle OAuth callback (GET)
description: Receives the OAuth authorization code from the provider (GET variant, used by most providers). Validates state, exchanges code for tokens, and logs the user in.
tags:
- Auth
parameters:
- name: kind
in: path
required: true
description: The OAuth provider identifier.
schema:
type: string
enum:
- google
- github
- apple
example: google
- name: code
in: query
required: false
description: Authorization code returned by the OAuth provider.
schema:
type: string
- name: state
in: query
required: true
description: CSRF state token to verify.
schema:
type: string
responses:
'302':
description: Redirect to dashboard after successful login
headers:
Location:
schema:
type: string
'200':
description: Error page on failure
content:
text/html:
schema:
type: string
post:
operationId: socialLoginCallbackPost
summary: Handle OAuth callback (POST)
description: Receives the OAuth authorization code from the provider via POST (used by Sign in with Apple which posts directly to the backend).
tags:
- Auth
parameters:
- name: kind
in: path
required: true
description: The OAuth provider identifier.
schema:
type: string
enum:
- apple
example: apple
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
code:
type: string
description: Authorization code from Apple.
state:
type: string
description: CSRF state token.
responses:
'302':
description: Redirect to dashboard after successful login
'200':
description: Error page on failure
content:
text/html:
schema:
type: string
components:
securitySchemes:
cookieAuth:
type: apiKey
in: cookie
name: heyform_sid
description: Session cookie set by the login mutation or OAuth callback. All authenticated GraphQL mutations and the CSV export endpoint require this cookie.
externalDocs:
description: HeyForm Documentation
url: https://docs.heyform.net