Fetching Data
Learn how to filter and paginate the Kombo GET
endpoints. This will help you understand how to implement syncs and more.
General Response Format
All GET endpoints of Kombo follow the same principle. All of them return a list of results and a next cursor. All results follow the same basic structure with the following properties:
id
: An ID generated by Kombo, which is globally unique.remote_id
: The ID of the object in the remote system. This can be null for some objects.changed_at
: Part of Kombo’s change tracking — this is the timestamp of the last change that was detected by Kombo.remote_deleted_at
: Part of Kombo’s change tracking — this is the timestamp where the object was not found anymore in the remote system.
Other properties are model specific.
Pagination
Each request returns either a value on the next
field or null
. The
value will be a cursor which you can use to get the next page of results. Use
the cursor
query parameter to request the next page.
In addition, you can use the page_size
parameter to specify the number of results per page.
curl --request GET \
--url 'https://api.kombo.dev/v1/hris/employees?cursor=eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0&page_size=100' \
--header 'Authorization: Bearer <YOUR_API_KEY>'
Filtering
All models provide the same filters in addition to some model-specific filters. The following filters apply to all models:
updated_after
: Only return objects where thechanged_at
value is after the given timestamp. This can be used to sync data incrementally. This filter also includes all expanded relations — so if only they have changed (but none of the primary attributes of the object), this will still count as the object having changed and it will still be returned.include_deleted
: By default, all values with aremote_deleted_at
value are not returned. If you want to include them, set this totrue
. This is helpful if you want to remove them from your database.ids
: List of comma-separated ids. Only return objects with these ids.remote_ids
: List of comma-separated remote ids. Only return objects with these remote ids.