Skip to content
Finerlise
Esc
↑↓navigate↵open⌘Jpreview
On this page

REST API quickstart

Read your forms and completed responses with the Finerlise REST API.

Base URL: https://finerlise.com/api/v1. All requests need an Authorization: Bearer … header. See Authentication.

1. Check your token

curl https://finerlise.com/api/v1/me \
  -H "Authorization: Bearer $FINERLISE_API_KEY"
{
  "workspace": { "id": "…", "name": "Acme", "slug": "acme" },
  "user": null,
  "scope": "responses:read"
}

2. List a form’s latest responses

curl "https://finerlise.com/api/v1/forms/$FORM_ID/responses?limit=25" \
  -H "Authorization: Bearer $FINERLISE_API_KEY"
const res = await fetch(
  `https://finerlise.com/api/v1/forms/${formId}/responses?limit=25`,
  { headers: { Authorization: `Bearer ${process.env.FINERLISE_API_KEY}` } }
);
const { data } = await res.json();
import os, requests

res = requests.get(
    f"https://finerlise.com/api/v1/forms/{form_id}/responses",
    params={"limit": 25},
    headers={"Authorization": f"Bearer {os.environ['FINERLISE_API_KEY']}"},
)
data = res.json()["data"]

Returns the most recent completed responses, newest first. limit is 1–25 (default 10). Each item has the same shape as the data object of a response.completed webhook.

3. Get one response

curl https://finerlise.com/api/v1/responses/$RESPONSE_ID \
  -H "Authorization: Bearer $FINERLISE_API_KEY"

Endpoints

Method Path Scope Description
GET /me any The workspace (and user, for OAuth) the token acts as.
GET /forms forms:read The workspace’s forms, most recently updated first. Paginate with limit (1–100, default 50) and cursor (the nextCursor from the previous page).
GET /forms/{formId}/responses responses:read Latest completed responses for a form.
GET /responses/{responseId} responses:read One completed response.
POST /hooks hooks:write Subscribe a URL to new responses (OAuth apps).
DELETE /hooks/{hookId} hooks:write Remove a subscription.

IDs are UUIDs. For full schemas, see the API reference.

Was this page helpful?