API reference
Org-scoped REST API for Zapier and other automation clients. Authenticate with API keys, list forms, send form links, and read submissions.
Base URL
https://api.refiles.io/api/v1Overview
This cookie-free surface lives under /api/v1. Every request must include a Bearer organization API key. Keys are created in the app under Settings → Integrations.
Authentication
Send your key in the Authorization header. Keys start with refiles_.
Header
Authorization: Bearer refiles_…
GET
/meReturns the organization and API key name for the authenticated key.
Request
curl -s "https://api.refiles.io/api/v1/me" \ -H "Authorization: Bearer refiles_YOUR_KEY"
Response
{
"organizationId": "00000000-0000-4000-8000-000000000001",
"organizationName": "Example Co",
"apiKeyName": "Zapier"
}GET
/formsLists published forms for the organization.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
limit | query | No | Max forms to return (1-200, default 100). |
Request
curl -s "https://api.refiles.io/api/v1/forms?limit=100" \ -H "Authorization: Bearer refiles_YOUR_KEY"
Response
{
"forms": [
{
"id": "00000000-0000-4000-8000-000000000002",
"title": "Skydive waiver",
"slug": "skydive-waiver",
"status": "published"
}
]
}POST
/forms/:formId/send-linkEmails a public form link to a recipient.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
formId | path | Yes | Form UUID. |
to | body | Yes | Recipient email address. |
recipient_name | body | No | Optional display name for the recipient. |
additional_info | body | No | Optional JSON value passed through with the send. |
Request
curl -s -X POST "https://api.refiles.io/api/v1/forms/FORM_UUID/send-link" \
-H "Authorization: Bearer refiles_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"guest@example.com","recipient_name":"Alex Guest"}'Response
{
"ok": true,
"formUrl": "https://app.refiles.io/f/skydive-waiver"
}GET
/forms/:formId/submissionsLists form submissions newest first.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
formId | path | Yes | Form UUID. |
limit | query | No | Page size (1-100, default 50). |
cursor | query | No | Opaque cursor from a previous nextCursor value. |
Request
curl -s "https://api.refiles.io/api/v1/forms/FORM_UUID/submissions?limit=50" \ -H "Authorization: Bearer refiles_YOUR_KEY"
Response
{
"submissions": [
{
"id": "00000000-0000-4000-8000-000000000003",
"formId": "00000000-0000-4000-8000-000000000002",
"submittedAt": "2026-10-19T12:00:00.000Z",
"status": "completed",
"answers": {}
}
],
"nextCursor": null,
"hasMore": false
}Errors
Failed requests return JSON with an error string.
| Status | Meaning |
|---|---|
401 | Missing or invalid API key. |
404 | Form not found for this organization. |
422 | Invalid request body. |
429 | Rate limited on send-link. |
503 | Email is not configured. |
Docs updated November 15, 2026