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

per_page
number
Results per page (1–100, default: 25)
q
string
Search by name or code
sort
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.
collection
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

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

Update Collection

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

collection
number
required
Collection numeric ID
per_page
number
Results per page (default: 30)
q
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.
{field_code}
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

ids
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.
email
string
required
Email address to send the export to
fields
array
required
Array of field codes to include in the export
new_only
boolean
Export only new entries since last export
cURL