Developer API · Coming soon

Issue rewards from your own systems

Push metrics and issue spot bonuses over a small REST API. Every request is idempotent, and every issuance shows up in the same run log your team already uses.

API requests

Last hour

  • POST/v1/issuances/spot-bonus20284 ms
  • POST/v1/metrics20241 ms
  • POST/v1/metrics20238 ms
  • GET/v1/openapi.json20022 ms
  • GET/v1/health2009 ms

Retries with the same idempotency key never double-pay.

POST /v1/issuances/spot-bonus
const acceptance = await fetch('https://api.teambrite.com/v1/issuances/spot-bonus', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    employeeId: '051f210b-5a1a-4cb7-b7d4-c82fb291d29f',
    amountMinor: 5000,
    currency: 'cad',
    reason: 'Outstanding customer support',
    categoryId: '8ee9b14d-e26d-44d2-a28b-b7a0cb893e63',
    notificationChannels: ['email', 'in_app'],
    idempotencyKey: 'support-award-2026-08-avery',
  }),
}).then(response => response.json())

console.log(acceptance.runId, acceptance.itemId, acceptance.status)
  • Idempotent by default

    Every issuance carries an idempotency key, so retries from your side never double-pay an employee.

  • Asynchronous processing

    Requests are accepted immediately and processed by the same issuance engine that runs scheduled policies.

  • Same audit trail as the dashboard

    API-driven issuances appear in run logs alongside everything else, with the API key recorded as the actor.

  • OpenAPI spec and TypeScript types

    The contract is published as OpenAPI. Generate a client in your language, or use our TypeScript SDK when it ships.

Endpoints

The v1 surface is deliberately small. Requests and responses are JSON, and the full contract is published as an OpenAPI document.

v1

JSON over HTTPS

  • GET/v1

    API version and published resources

  • GET/v1/health

    API and database health

  • GET/v1/openapi.json

    Current OpenAPI specification

  • POST/v1/metrics

    Push performance metrics for an employee

  • POST/v1/issuances/spot-bonus

    Accept an idempotent spot bonus for asynchronous processing

Webhooks · Planned

Get told when a reward goes out

Subscribe an HTTPS endpoint and receive a signed event each time an issuance changes state. Failed deliveries are retried.

  • reward.issuedAn issuance was completed
  • reward.failedAn issuance could not be completed
  • metric.recordedA pushed metric was accepted
reward.issued application/json
{
  "id": "evt_93fd2a1c",
  "type": "reward.issued",
  "createdAt": "2026-08-14T15:02:11Z",
  "data": {
    "runId": "run_6b1e0f",
    "itemId": "itm_3c9a77",
    "employeeId": "051f210b-5a1a-4cb7-b7d4-c82fb291d29f",
    "amountMinor": 5000,
    "currency": "cad"
  }
}

Want early access to the API?

Join the waitlist and we'll reach out when keys are available for your account.