Records, comments and field discovery endpoints
A key reaches: the connection’s identity, discovering units and their fields, reading, writing, assigning and deleting records, and record comments. The keys in a write body are field IDs (slugs), not field names.
How it works
The base path: https://{HOST}/api/v1.
Discovery
GET /object/activeGET /object/field/active/:objectSlugreadReading (read.{unit})
GET /object/data/:objectSlugGET /object/data/:objectSlug/:dataSlugPOST /object/data/:objectSlug/searchGET /object/data/:objectSlug/lookupGET /object/data/facets/:objectSlugGET /object/data/:objectSlug/field-options/:fieldSlugGET /object/data/select-options/:objectSlug/:fieldSlugGET /object/data/:objectSlug/:dataSlug/relations/:relationSlugGET /object/data/:objectSlug/:dataSlug/logsWriting
POST /object/data/:objectSlugcreatePUT /object/data/:objectSlug/:dataSlugupdatePOST /object/data/:objectSlug/bulk-updateupdatePATCH /object/data/:objectSlug/:dataSlug/assigneesassignPOST /object/data/:objectSlug/bulk-assignassignDELETE /object/data/:objectSlug/:dataSlugdeletePOST /object/data/:objectSlug/bulk-deletedeleteDELETE /object/data/:objectSlug/bulk/alldeleteThe write body: { "data": { "name-8fk2": "Sara", "phone-p0zx": "+9665..." } }. Use the field ID from discovery. The display name may be refused in a required field.
Records created through the API take their fields’ default values.
If you send admin_slug in a PUT without the permission to assign, the rest is saved and an ASSIGN_SCOPE_DENIED notice comes back in warnings. Match on code, not on the text.
Comments (all read.{unit})
GET/POST /comments/:objectSlug/:dataSlugPUT/DELETE /comments/:objectSlug/:dataSlug/:commentGET /comments/.../:comment/repliesPOST /comments/.../:comment/replyPOST /comments/.../:comment/reactA comment is written under the name of the key’s member. Editing and deleting are for the writer only, and a key doesn’t get the owner’s override.
Ad campaign fields
Only with a key can you write the campaign, ad set, ad and lead form fields, for example for clients of an ad platform with no direct connection. Send the ID of an existing option, { "id": "...", "name": "..." }, or a text name. The name is up to 255 characters.
If something goes wrong
400 on a required field403 on assigneesassign scope is missing.404 for a commentdropped_fieldsA real example
The in-house maintenance system needs to create a monthly visit for every active contract.
- The system read the “Visits” fields from discovery and saved their IDs.
- It creates a visit for each contract, and assigns it to the technician through the assignees endpoint, with a Write-level key.
Visits show for technicians in Corteksa at the start of every month, with no manual entry.