Skip to content

API reference and webhooks

LiveFor: DeveloperAccess: Developer

Contacts, work items, time entries, invoices, users and webhook subscriptions.

API documentation on the API Applications page lists every endpoint, what it does and the scope it needs. Download the OpenAPI document gives the same in a machine-readable file.

The BMS REST API documentation: the base URL, an example request with Authorization and AccessKey headers, notes on filtering, sorting and paging, and a table of Contacts endpoints with method, path, description and scope.
API documentation.
  • Send both credentials with every request: Authorization: Bearer {authorization token} and AccessKey: {access key}. JSON bodies use application/json.
  • The base URL is your BMS address. The documentation page shows the address of the server you are on.
  • Lists return @odata.count and value, plus @odata.nextLink when there is more. They accept $filter, $orderby, $top (at most 100) and $skip.
  • Each application may make 120 requests a minute; beyond that the answer is 429 with Retry-After.

Subscribe with POST /v3/WebhookSubscriptions, or from the application’s Manage page.

  • Changes are sent after a 60-second window, as a POST of {ResourcePermaKey, ResourceType, ActionType, TimeStamp}.
  • If the subscription has a signing key, a Signature header carries a hex HMAC-SHA256 of the body.
  • A failed delivery is retried with growing waits. Ten failures in a row cancel the subscription.