https://api.hermios.app/rest. Objects use their plural API name (companies, people, opportunities, dealReviews, …).
Routes
Filtering
filter=field[operator]:value
eq, neq, in, containsAny, is (NULL / NOT_NULL), gt, gte, lt, lte, startsWith, endsWith, like, ilike.
Combine with and(...), or(...) and not(...). Several comma-separated conditions without a wrapper are combined with and. Composite fields use a dot path, for example name.firstName[ilike]:"%ada%" or emails.primaryEmail[eq]:"ada@acme.com".
Sorting
order_by=field[Direction],otherField[Direction], with AscNullsFirst (default), AscNullsLast, DescNullsFirst or DescNullsLast. id is always added as a final tiebreaker so pages are stable.
Pagination
Related records
depth=0 (default) returns the record’s own fields and relation ids. depth=1 also returns related records one level deep (up to 60 per relation). There is no field-selection parameter: use GraphQL when you need specific fields.
Responses
OpenAPI
Every workspace has its own OpenAPI 3 document:GET https://api.hermios.app/rest/open-api/core(records)GET https://api.hermios.app/rest/open-api/metadata(data model)
Data model over REST
GET /rest/metadata/objects lists objects and fields, including custom ones. Creating or changing objects and fields needs a role with data model permission.