Data

Insert new data records

post

Creates one or more new records in the specified schema. The payload contains a list of records, each with a unique ID and column values mapped to their respective field IDs.

Important considerations:

  • Each record must include a unique UUID as its id

  • Column values are identified by the field's UUID, not its name

  • Required fields (as defined in the schema) must be provided

  • Unique field constraints are validated before insertion

  • Records can be inserted in batch for better performance

The response indicates which records were successfully inserted and which failed validation.

Body
schemaIdstring · uuidOptional
Responses
post
/api/data/add

Delete data records

post

Permanently deletes one or more records from the specified schema. This operation cannot be undone.

Considerations:

  • Deleted records cannot be recovered

  • Associated files (FileField) may need to be deleted separately

  • If the schema is auditable, the deletion is recorded in the activity log

  • References to deleted records in other schemas may become orphaned

Body
idsstring · uuid[]Optional
schemaIdstring · uuidOptional
Responses
200

Records deleted successfully

application/json
Responseobject
post
/api/data/delete

Filter and query data records

post

Queries and filters data records from a schema based on the provided criteria. This is the primary endpoint for retrieving data with support for:

  • Filtering: Apply conditions using various comparison operators (EQUAL, NOT_EQUAL, GREATER, LESS, CONTAINS, RANGE, ANY_OF, IS_EMPTY, IS_NOT_EMPTY)

  • Column Selection: Specify which fields to return in the response

  • Sorting: Order results by one or more fields in ascending or descending order

  • Pagination: Use startRow and endRow for efficient data loading

  • Grouping: Group results by specific fields with aggregation functions (COUNT, SUM, AVERAGE, MIN, MAX)

  • Pivot Mode: Transform grouped data into a pivot table format

The response includes a X-Total-Count header with the total number of matching records before pagination.

Body
schemaIdstring · uuidOptional
recordIdstring · uuidOptional
columnsstring[]Optional
groupBystring[]Optional
pivotBystring[]Optional
pivotModebooleanOptional
startRowinteger · int32Optional
endRowinteger · int32Optional
Responses
200

Data retrieved successfully

application/json
post
/api/data/filter

Update existing data records

put

Updates one or more existing records in the specified schema. The structure is identical to the insert operation, but the record IDs must correspond to existing records.

Key behaviors:

  • Only provided fields are updated; omitted fields retain their current values

  • The previousValue field in columns can be used for optimistic locking

  • If the schema is auditable, changes are recorded in the activity log

  • Unique field constraints are validated before update

Body
schemaIdstring · uuidOptional
Responses
200

Records updated successfully

application/json
put
/api/data/update

Last updated

Was this helpful?