Collection API Reference

All requests go to https://yourdomain.com/api/apic.php via POST only (GET always returns error -5). See Authentication for required auth parameters.

Every call requires: u (user ID), k (API key), r (collection ref), g (GX group), f (function).

Response Envelope

{
  "error":    "0",
  "fn":       "readone",
  "version":  "1.0",
  "datetime": "2026-05-18 10:00:00",
  "fields":   "5",
  "data": { "fnerr": 0 }
}

“error”: “0” means the request reached the function. Check data.fnerr for function-level results.

Reading

Function Purpose Key params
crosslist Browse or filter records dxField + dxValue, or filter JSON
readone Get one record by ID dxId required
search Full-text keyword search q={keyword}
count Count matching records filter JSON optional
readlist Distinct values of one column dxField required
export Like crosslist with field header; supports CSV format=csv or format=json
myrecords Records owned by authenticated user none
listarchived Soft-deleted records none

Writing

Function Purpose Key params
create Create a new record field columns + optional notes
update Update a record (partial — omitted fields unchanged) dxId + field columns
transition Execute a workflow action dxId + actionId
bulkcreate Create multiple records in one call JSON array of record objects
bulkupdate Update multiple records in one call JSON array of {dxId, fields} objects
duplicaterecord Clone an existing record dxId required
archiverecord Soft-delete a record (reversible) dxId required
restorerecord Restore an archived record dxId required
gdprwipe Permanently wipe PII from a record dxId required; irreversible
transferownership Reassign ownership dxId + intLogin_Id
allocaterecord RLS-aware assignment dxId + intLogin_Id

Interactions (Audit Trail / Notes)

Function Purpose Key params
interactionlist Full audit trail for a record dxId required
addinteraction Add a note dxId + notes
readinteraction Read a specific interaction ixId required
updateinteraction Edit an interaction note ixId + notes
deleteinteraction Remove an interaction ixId required

Transitions

Function Purpose Key params
transitions List valid workflow actions for a record dxId optional
transition Execute a workflow action dxId + actionId

Important: Pass actionId (not intAction_Id). When completing a record, pass strD5_1_5=True explicitly.

Webhooks

Function Purpose Key params
webhook Register a new webhook url + event (create/update/delete)
webhooks List all registered webhooks none
deletewebhook Remove a webhook webhookId required

Webhooks fire on create, update, or delete events. The payload mirrors the record's field values at event time.

Bulk & Bootstrap Operations

Function Purpose Key params
bulkcreate Create multiple records in one call JSON array
bulkupdate Update multiple records JSON array of {dxId, fields}
bootstrap Initialise a collection from a template templateId
applytemplate Apply a template to an existing collection templateId

Swimlane Groups

Function Purpose Key params
createitemgroup Create a swimlane group name required
listitemgroups List all swimlane groups none
updateitemgroup Rename or reorder a group groupId + fields
deleteitemgroup Delete a group (records stay) groupId required
movetogroup Move a record into a group dxId + groupId

Row-Level Security (RLS)

Function Purpose Key params
enablerls Enable RLS on a collection mode (Owner / Custom / None)
setrls Set RLS permissions for a record dxId + user/group params
getrls Get current RLS settings dxId required

Use Owner mode so each record is only visible to its creator. Use Custom for per-user or per-group access grants.

Record Linking

Function Purpose Key params
linkrecords Link two records dxId + dxId2 + optional notes
unlink Remove a link dxId + dxId2
getlinks Get all linked records dxId required

Filtering

Simple

dxField=strD5_1_25&dxValue=High

Advanced (multi-condition JSON)

[
  {"field": "strD5_1_25", "op": "eq",   "value": "High"},
  {"field": "strD5_1_6",  "op": "like", "value": "Dev"}
]

Operators: eq, neq, like, gt, lt, in, notin, empty

Pagination

Works on crosslist, search, export:

  • Offset-based: page=N&per_page=N — response includes total, pages, page, per_page
  • Cursor-based: cursor={next_cursor} from previous response
  • Max per_page: 500 for crosslist/search, 1000 for export

Schema Inspection

Function Purpose
describe Field schema — columns, types, options
meta Full schema — fields, views, actions, functions
fieldlist Raw FX field definitions
actionlist Available actions

Analytics

Function Purpose Key params
aggregate Count/sum/groupby across a group groupBy, agg params