Skip to main content
All Collections endpoints sit under /api/brands/{brand}/collections/ with moduleAccess:collections middleware. Authenticate with EF-Access-Key.
Collections are dynamic form schemas. Each collection has a set of typed fields, and every form submission creates an entry validated against that schema.

List Collections

number
Results per page (1–100, default: 25)
string
Search by name or code
string
newest (default), oldest, created_at, updated_at
cURL

List Collections (Unpaginated)

Returns id, name, code only — useful for dropdowns.

Get Collection

Returns the full collection schema including all field definitions.
string
required
Collection numeric ID or code slug
cURL

Get Collection Fields

Returns the raw field list for a collection (numeric ID only for this route).

Create Collection

string
required
Collection name (max 255 chars)
array
required
Array of field definition objects (at least one)
string
required
Field label (max 255)
string
required
text, email, number, checkbox, password, textarea, select, or hidden
boolean
Whether the field is required on submission
string
Input placeholder (max 255)
array
Required when type is select — array of option strings (at least one)
string
Default value for the field (max 255)
number
Display order (integer, min 0)
boolean
Whether entries can be searched by this field
boolean
Hide field from public-facing builder views
boolean
Allow public CSV download of entries
string
send_admin_email, send_email_to, or create_new_ticket
string
Required when on_new_entry is send_email_to. Valid email address.
cURL

Update Collection

number
required
Collection numeric ID
Same body as Create. To update an existing field, include its id; to delete a field, pass "deleted": true on the field object.

Delete Collection


List Entries

number
required
Collection numeric ID
number
Results per page (default: 30)
string
Search entry titles
cURL

Get Entry

Returns a single entry with all field values flattened to top-level keys.

Create Entry

The request body is validated dynamically against the collection’s field schema. Field codes (e.g. email, full_name) become the body keys. Required fields and type rules are enforced per field definition.
string | number | boolean
One key per collection field, using the field’s code as the key. Type rules: email → valid email, number → numeric, checkbox → boolean, select → must be one of the defined options, all others → string.
cURL

Update Entry

Same body as Create — only provided fields are merged into the existing entry.

Delete Entry


Bulk Delete Entries

array
required
Array of entry IDs to delete

Export Entries

Queue a CSV export of all entries in a collection. The results are emailed to the specified address.
string
required
Email address to send the export to
array
required
Array of field codes to include in the export
boolean
Export only new entries since last export
cURL