Replace {native-api-path} with the actual Baserow API endpoint path. The gateway proxies requests to api.baserow.io and automatically injects your API token.
Authentication
All requests require the Maton API key in the Authorization header:
Authorization: Bearer $MATON_API_KEY
Environment Variable: Set your API key as MATON_API_KEY:
After uploading, use the file object in a file field:
POST /baserow/api/database/rows/table/{table_id}/?user_field_names=true
Content-Type: application/json
{
"Attachment": [{"name": "abc123_image.png"}]
}
Filtering
Use filter parameters to query rows:
filter__{field}__{operator}={value}
With user_field_names=true:
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&filter__Assignee+Name__contains=Alice
Multiple filters use AND logic by default. Use filter_type=OR to change to OR logic.
Filter Operators
Text Filters
Operator
Description
equal
Exact match
not_equal
Not equal
contains
Contains substring
contains_not
Does not contain substring
contains_word
Contains whole word
doesnt_contain_word
Does not contain whole word
length_is_lower_than
Text length is less than value
Numeric Filters
Operator
Description
higher_than
Greater than
higher_than_or_equal
Greater than or equal
lower_than
Less than
lower_than_or_equal
Less than or equal
is_even_and_whole
Value is even and whole number
Date Filters
Operator
Description
date_is
Date equals (use with timezone)
date_is_not
Date does not equal
date_is_before
Date is before
date_is_on_or_before
Date is on or before
date_is_after
Date is after
date_is_on_or_after
Date is on or after
date_is_within
Date is within period
date_equal
Date equals (legacy)
date_not_equal
Date does not equal (legacy)
date_equals_today
Date is today
date_before_today
Date is before today
date_after_today
Date is after today
date_within_days
Date within X days
date_within_weeks
Date within X weeks
date_within_months
Date within X months
date_equals_days_ago
Date equals X days ago
date_equals_weeks_ago
Date equals X weeks ago
date_equals_months_ago
Date equals X months ago
date_equals_years_ago
Date equals X years ago
date_equals_day_of_month
Date equals specific day of month
date_before_or_equal
Date is before or equal (legacy)
date_after_or_equal
Date is after or equal (legacy)
Boolean Filters
Operator
Description
boolean
Boolean equals (true/false)
Link Row Filters
Operator
Description
link_row_has
Has linked row with ID
link_row_has_not
Does not have linked row with ID
link_row_contains
Linked row contains text
link_row_not_contains
Linked row does not contain text
Single Select Filters
Operator
Description
single_select_equal
Single select equals option ID
single_select_not_equal
Single select does not equal option ID
single_select_is_any_of
Single select is any of option IDs
single_select_is_none_of
Single select is none of option IDs
Multiple Select Filters
Operator
Description
multiple_select_has
Has option selected
multiple_select_has_not
Does not have option selected
multiple_select_is_exactly
Exactly these options selected
Collaborator Filters
Operator
Description
multiple_collaborators_has
Has collaborator
multiple_collaborators_has_not
Does not have collaborator
File Filters
Operator
Description
filename_contains
File name contains
has_file_type
Has file of type (image, document)
files_lower_than
Number of files less than
Empty/Not Empty Filters
Operator
Description
empty
Field is empty (value: true)
not_empty
Field is not empty (value: true)
User Filters
Operator
Description
user_is
User field equals user ID
user_is_not
User field does not equal user ID
Filter Examples
Text contains:
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&filter__Name__contains=John
Date within last 7 days:
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&filter__Created__date_within_days=7
Multiple filters (AND):
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&filter__Status__single_select_equal=1&filter__Priority__higher_than=3
Multiple filters (OR):
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&filter_type=OR&filter__Status__equal=Active&filter__Status__equal=Pending
Sorting
Use order_by parameter:
# Sort ascending by field name
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&order_by=Assignee+Name
# Sort descending (prefix with -)
GET /baserow/api/database/rows/table/{table_id}/?user_field_names=true&order_by=-Assignee+Name
Pagination
Use size and page parameters:
GET /baserow/api/database/rows/table/{table_id}/?size=25&page=2