formtoDashboard

API reference

The REST API lives at https://api.formto.io/v2. The full, machine-readable description is the OpenAPI spec, generated from the same route definitions the API runs.

Authentication

Send a token in the Authorization header and nowhere else: tokens in URLs are refused.

sh
curl -fsS https://api.formto.io/v2/me -H "Authorization: Bearer $FORMTO_TOKEN"
  • fta_… agent tokens act for one workspace with the scopes you picked. Create them under API keys or with npx -y https://formto.io/dl/cli-latest.tgz login.
  • fto_live_… and fto_test_… project keys are for server-side integrations.
  • Remote MCP clients use OAuth instead; see Connect an AI agent.

Scopes

forms:read, forms:write, submissions:read, submissions:write, submissions:delete, connections:manage, views:write and org:admin. A call without the scope it needs is 403.

Errors

Errors are JSON { "error": "<code>", "message": "…" } with the HTTP status: 400 invalid input, 401 missing or refused token, 402 not on your plan (with upgradeUrl), 403 missing scope or role, 404 not found (including another workspace's ids) and 409 a conflict such as replaying a delivery that is still being sent.

Submitting

POST https://api.formto.io/f/<form id> takes form-encoded, multipart (with files) or JSON bodies and needs no token. Ask for JSON with Accept: application/json.