All docs
2 min read

REST API overview

A clean JSON REST API at https://formspring.io/api/v1. Bearer-token auth. Ability-scoped per token. Versioned.

The full machine-readable spec is at /api/v1/openapi.json, and the interactive reference page lives at /api/v1/docs.

Interactive API reference page

Endpoint groups

Group Resource
Account GET /me
Forms GET/POST/PUT/DELETE /forms, /forms/{form}/publish, /unpublish, /restore, /force
Submissions GET /forms/{form}/submissions, PUT/DELETE /forms/{form}/submissions/{id}, /bulk, /export, /files/{file}
Webhooks GET/POST/PUT/DELETE /forms/{form}/webhooks/..., /deliveries, /deliveries/{id}/replay
Billing GET /billing/team, /plan, /usage, /subscription, /invoices
AI Insights GET /ai-insights, POST /ai-insights/regenerate
Tokens GET/POST/DELETE /tokens

Each endpoint lists the ability it requires. See Tokens & abilities →.

Authentication

Pass your token in Authorization: Bearer <token>. See Authentication →.

Versioning

The current version is v1. Backwards-incompatible changes ship as v2 with a separate URL prefix, never as silent breaks to v1. Fields may be added; existing fields and shapes don't change.

Quickstart

TOKEN="..."

# List your forms
curl -H "Authorization: Bearer $TOKEN" \
  https://formspring.io/api/v1/forms

# Create a form
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Contact form","notification_emails":["ops@example.com"]}' \
  https://formspring.io/api/v1/forms

# Read submissions
curl -H "Authorization: Bearer $TOKEN" \
  "https://formspring.io/api/v1/forms/{form_id}/submissions?per_page=50"

What's next