Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: Formstep Methods API
version: '1'
summary: Create requests, read answers, and manage forms in Formstep.
description: 'The Formstep REST API is one JSON-RPC style endpoint. Every call is `POST https://api.formstep.io/api/v1` with a JSON body `{"method": "...", "params": {...}}` and an `Authorization: Bearer fs_...` header. The request body schema is a union over every method, discriminated on `method`; each method has a `Params` and a `Result` schema.
Every response is an envelope: `{"ok": true, "data": ...}` on success, `{"ok": false, "error": {"code", "message", "details"}}` on failure.
**Conventions**
- `params` may be omitted; it defaults to `{}`. An unknown method is `404 METHOD_NOT_FOUND`.
- A token is bound to one workspace. Naming another workspace, or a form in one, is `403 FORBIDDEN` even when you belong to both.
- Pagination: list methods return `{ items, nextCursor, hasMore }`; most also return `canPaginate`. Pass `nextCursor` back as `cursor`. `limit` is 1–100, default 20, except `requests.list`, whose default is 25.
- Rate limits: 120 calls per minute per token, shared with the MCP server; `requests.create` has its own 60 per minute. Failed authentication is limited separately, 30 per 15 minutes per IP, after which bad tokens see `RATE_LIMITED` instead of `UNAUTHORIZED`.
- Body size: 1 MiB. Larger bodies are rejected with `VALIDATION_ERROR`.
- Versioning: the path carries the version. Breaking changes ship as `/api/v2`; new methods and new response fields do not.
`methods.list` returns every method name the deployment serves and is the authoritative answer when this description and the server disagree.'
contact:
name: Formstep
url: https://formstep.io
servers:
- url: https://api.formstep.io
description: Production
security:
- bearerToken: []
tags:
# --- truncated at 32 KB (109 KB total) ---
# Full source: https://artifacts.apis.io/formstep-io/openapi/formstep-io-methods-api-openapi.yml