Skip to main content

API clients

Prefer clicking to curl? Import a ready-made collection. Each one is the same set of example requests from Examples, pointed at the single POST {baseUrl}/api/graphql endpoint, with the Authorization: Bearer {{apiKey}} header already in place. You import once, set two variables, and send.

Downloads​

ClientFile
Postman — collectionhoneybase.postman_collection.json
Postman — environmenthoneybase.postman_environment.json
Insomnia — export (collection + environment)honeybase.insomnia.json

The Insomnia file bundles its environment, so it is a single import. Postman keeps the collection and the environment separate — import both.

What's inside​

Every request is a POST to {{baseUrl}}/api/graphql carrying a GraphQL body. The collection covers the main namespaces:

  • List open tasks — tasks { listTasks(includeCompleted: false) }
  • Get a task by id — tasks { getTask(taskId:) }
  • Create a task — tasks { createTaskWithAssignment(...) } (needs canManageTasks)
  • Update task metadata (JsonString) — tasks { updateTaskMetadata(...) }
  • List process runs — processes { listProcessRuns(...) }
  • List members — users { listMembers }
  • List teams — teams { listTeams }
  • List schedules — schedules { listSchedules(from:, to:) }

These are the same queries and variables as the curl calls in Examples — one source of truth in spirit, so the two never drift.

Set the two variables​

Both collections read from two variables:

VariableWhat it isDefault
baseUrlYour organization's server, no trailing slashhttps://app.honeybase.ai
apiKeyAn organization API key (hbk_...)empty — you fill it in

Set baseUrl to http://localhost:8080 when running Honeybase locally, or to your hosted server otherwise.

Postman. After importing, pick the Honeybase environment in the top-right selector, open its variables, and paste your key into apiKey (it is marked as a secret, so Postman masks it). baseUrl is already filled.

Insomnia. Open Manage Environments (the environment dropdown), and set apiKey in the base environment. baseUrl is already filled.

Getting a key​

The apiKey value is an organization API key — see Authentication for how to create one and what it is (and is not) allowed to do. A key is shown once, at creation; store it the way you store any other credential.

Browser alternative​

If you would rather not install anything, the hosted GraphQL playground lets you run the same operations from the browser with autocompletion over the live schema: the in-browser playground.

Regenerating these files​

The collections are generated from a shared operation list, not hand-maintained:

npm --prefix web/docs-site run docs:collections

Editing the list in scripts/generate-api-collections.mjs and rerunning updates all three files at once, so Postman and Insomnia can never disagree.