Yes, we are providing a graphql API that you can find "documented" here: https://docs.twenty.com/graphql/
Right now, you need to provide a JWT token that you can get at login or refresh against a refresh_token (90days expiration). In the future, we plan to also support API keys which would ease a lot headless work.
Regarding filters and search, we have added filtering and search features on app.twenty.com. They are directly leveraging the graphql API.
GQL query example:
``` query ExampleQuery($where: CompanyWhereInput) { findManyCompany(where: $where) { id } } ```
GQL variables:
``` { "where": { "address": { "contains": "example" }, "accountOwner": { "is": { "id": { "equals": "user-id" } } } } } ```