API mocks

On this page

Baserow

A test-only database API subset for a no-code table. Create Baserow under Systems → No-code, alongside Airtable. No Baserow workspace or external database is contacted.

Testlie is independent of Baserow. The name identifies compatibility, not affiliation or certification.

Connect and schema

Replace the Baserow API host with your system's base URL. Send Authorization: Token <databaseToken> using the generated test token. Rotation invalidates the previous token. The displayed tableId identifies one fixed empty test table.

GET /api/database/fields/table/{tableId} returns three fields:

Field ID Name Type
1 Name text, primary
2 Notes long_text
3 Active boolean

Default row keys are field_1, field_2, field_3. With ?user_field_names=true, use Name, Notes, Active instead. Text values are limited to 4,000 characters; Active requires a JSON boolean. Omitted text defaults to an empty string and Active to false. Unknown fields are rejected; ID/order are read-only.

Schema creation, JWT/password login, token permission configuration, workspaces/databases, table discovery, files, views, formulas, linked records and webhooks are outside this subset. The generated token has full access to this one test table; real Baserow has more granular permissions.

Rows

Use /api/database/rows/table/{tableId} to POST/GET and append /{rowId} to GET/PATCH/DELETE. Creation/read/update return the row directly (200); delete returns 204 and subsequent reads return ERROR_ROW_DOES_NOT_EXIST. IDs and decimal order strings are generated locally. Moving/batch-writing/restoring rows is unsupported.

json
{ "Name": "Sample row", "Notes": "Test fixture", "Active": true }

Use ?user_field_names=true for that example. Paths without a trailing slash are canonical on Testlie; clients following redirects can also use the vendor's trailing-slash paths.

Listing

Lists return { "count": 1, "next": null, "previous": null, "results": [...] }.

  • page: starts at 1; size: 1–200, default 100. Follow next/previous URLs with the same token.
  • search: literal case-insensitive substring across row values (255 characters maximum).
  • order_by: one field key/name, optional - descending or + ascending. Text sorting is lexical. Default ordering uses creation order; concurrent creates can share an order value.
  • include/exclude: comma-separated field IDs or field keys; with user_field_names, use names.
  • Text filters: filter__field_1__equal, __not_equal, __contains (and field 2).
  • Boolean filter: filter__field_3__boolean=true or false.
  • filter_type=AND (default) or OR, up to twelve filters.

Advanced JSON filters, arbitrary operators and multi-field sorting are unsupported. Error bodies use { "error": "ERROR_...", "detail": "..." }.

Limits and scenarios

At most 500 active rows and 128 KB per request; plan retention/object limits also apply. Updates use compare-and-swap; conflicting writes return 409. Rate-limit, server-error and delay scenarios apply. Decline rejects creates/updates. No interactive Require action or webhook delivery exists. Inspect captures and rows through Testlie's existing UI/API. Use test data only.

Contract: Baserow database API.