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. (Please note that you still need to add the relevant filters while paginating.)

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 the changed_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 a remote_deleted_at value are not returned. If you want to include them, set this to true. 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.