Overview

Introduction to the Formfex Public API


Introduction

The Formfex Public API lets you programmatically manage forms, retrieve responses, trigger AI-powered analytics, and configure webhooks. All endpoints are RESTful and return JSON responses.

Base URL:

https://api.formfex.com/api/v1/public

Authentication

All requests must include an API key in the Authorization header as a Bearer token:

bash
curl -H "Authorization: Bearer fxk_live_<keyId>.<secret>" \
  https://api.formfex.com/api/v1/public/forms

API keys are scoped — each key only has access to the endpoints allowed by its assigned scopes. See Authentication for details on creating and managing keys.

Response Format

All responses are wrapped in a consistent envelope:

json
{
  "message": "Human-readable status message",
  "data": { },
  "error": null
}
FieldTypeDescription
messagestringTranslated status message
dataT | nullResponse payload (varies by endpoint)
errorstring | nullError details when applicable

Available Endpoints

Forms

MethodEndpointDescriptionScope
GET/formsList all formsFORMS_READ
GET/forms/:idGet a single formFORMS_READ
POST/formsCreate a new formFORMS_WRITE
PATCH/forms/:idUpdate a formFORMS_WRITE
DELETE/forms/:idDelete a formFORMS_WRITE
POST/forms/:id/publishPublish a formFORMS_WRITE
POST/forms/:id/unpublishUnpublish a formFORMS_WRITE
POST/forms/:id/fieldsAdd a fieldFORMS_WRITE
PATCH/forms/:id/fields/:fieldIdUpdate a fieldFORMS_WRITE
DELETE/forms/:id/fields/:fieldIdDelete a fieldFORMS_WRITE

Responses

MethodEndpointDescriptionScope
GET/forms/:id/responsesList form responsesRESPONSES_READ
GET/forms/:id/responses/:responseIdGet a single responseRESPONSES_READ
GET/forms/:id/responses/countCount responsesRESPONSES_READ

Analytics

MethodEndpointDescriptionScope
POST/forms/:id/smart-analyticsTrigger smart analyticsANALYTICS_READ
POST/forms/:id/analytics-chatAnalytics chatANALYTICS_READ

Account

MethodEndpointDescriptionScope
GET/meGet account infoFORMS_READ

Rate Limits

The API enforces per-minute, per-hour, and monthly rate limits based on your plan. Every response includes rate limit headers so you can track usage. See Rate Limits for details.

Error Handling

Common error status codes across all endpoints:

StatusDescription
400 Bad RequestInvalid request body or query parameters
401 UnauthorizedMissing, invalid, revoked, or expired API key
403 ForbiddenInsufficient scope or plan restriction
404 Not FoundResource not found
429 Too Many RequestsRate limit or monthly quota exceeded

Rate Limit Headers

Check the Retry-After header on 429 responses for the exact number of seconds to wait before retrying.