canonical: https://jentic.com/apis/bonusly.com/bonusly

# Bonusly API

Jentic publishes the only available OpenAPI specification for Bonusly API, keeping it validated and agent-ready. Bonusly is an employee recognition and rewards platform that lets coworkers give each other small bonuses tied to company values. The API exposes 23 endpoints covering bonuses, users, redemptions, achievements, webhooks, and analytics. Use it to send bonuses programmatically, deactivate users when they leave, redeem points for rewards, and pull hashtag trends and leaderboards into HR dashboards.

## For AI agents

Send peer-to-peer bonuses, manage employees and redemptions, subscribe to recognition webhooks, and pull recognition analytics through Bonusly.

## Scope

Does not handle payroll, performance reviews, or external customer reviews - use for Bonusly internal recognition, redemptions, and recognition analytics only.

## Capabilities

- Send a peer-to-peer bonus from one employee to another with a hashtag and message
- Manage the employee roster with create, update, and deactivate operations
- Issue a redemption on behalf of a user against the configured rewards catalogue
- Subscribe to webhooks to react to new bonuses and redemptions in real time
- Pull hashtag trends, leaderboards, and popular words for HR analytics dashboards
- List achievements an employee has unlocked through the recognition program

## Use cases

### Automated Recognition from CI/CD Events

Send a Bonusly bonus automatically when a meaningful event happens - for example, the engineer who closed the most pull requests this sprint, or the support agent with the highest CSAT. POST /v1/bonuses creates the bonus with the giver, receiver, amount, and a hashtag like #craftsmanship. Removes the friction of remembering to recognise in the moment.

Example prompt: POST /v1/bonuses with giver_email lead@example.com, receiver_email engineer@example.com, amount 50, reason '#craftsmanship great PR review'

### HRIS-Driven User Lifecycle

Keep the Bonusly user list in sync with the HR system of record. POST /v1/users when someone joins, PUT /v1/users/{id} when their role or manager changes, and DELETE /v1/users/{id} when they leave. Removes the manual offboarding work that often leaves former employees in recognition tools.

Example prompt: DELETE /v1/users/usr_8821 to deactivate the user who left on 2026-06-01

### Recognition Analytics Dashboard

Build an internal dashboard that surfaces who is being recognised, around which company values, and which teams are highest engaged. GET /v1/analytics/trends, /v1/analytics/leaderboards, and /v1/analytics/words feed a Looker or internal BI dashboard. Useful for People Ops teams measuring culture programs.

Example prompt: GET /v1/analytics/leaderboards for the last 90 days and write the result to the recognition_leaderboard table

### AI Agent People Ops Assistant

An AI agent uses Jentic to discover Bonusly operations, sends bonuses on behalf of managers, and pulls leaderboard data for People Ops reviews. Bonusly bearer credentials live in your Jentic One instance so the agent never holds the raw key. Replaces manual recognition admin with a single search-load-execute cycle per action.

Example prompt: Search Jentic for 'send a Bonusly bonus', load the operation, and execute it for the named giver and receiver

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/bonuses | Create a bonus |
| GET | /v1/bonuses | List bonuses |
| POST | /v1/users | Create a user |
| DELETE | /v1/users/{id} | Deactivate a user |
| POST | /v1/users/{id}/redemptions | Create a redemption for a user |
| POST | /v1/webhooks | Create a webhook |
| GET | /v1/analytics/leaderboards | Get recognition leaderboards |
| GET | /v1/analytics/trends | Get hashtag trends |

## Key resources

- **Bonuses** — Create, retrieve, list, update, and delete recognition bonuses
- **Users** — Manage the employee roster including current user lookup and autocomplete
- **Redemptions** — Create and list reward redemptions for users
- **Achievements** — List achievements unlocked through recognition activity
- **Webhooks** — Subscribe to real-time recognition events
- **Analytics** — Hashtag trends, leaderboards, and popular words across the company

## Why Jentic

- **Setup:** Wiring Bonusly by hand means implementing its bearer auth and mapping the recognition, redemption, and analytics endpoints yourself. Through Jentic you install once, import Bonusly from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Bonusly sends bonuses and redemptions through request-body fields (/v1/bonuses, /v1/users/{id}/redemptions), so limit the agent to the operations it needs, such as giving a bonus or reading leaderboards. You choose that set, so deleting a user is not included unless you add it.
- **Credential handling:** Your Bonusly access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'give a Bonusly bonus' or 'list recognition leaderboards', and Jentic returns the matching Bonusly operation with its input schema so the agent calls the right endpoint without browsing the Bonusly developer docs.

## Related APIs

- **Boast API** — Boast collects external customer testimonials while Bonusly captures internal peer recognition.
- **Bolna API** — Reward SDRs in Bonusly when their Bolna voice agents book qualified meetings.
- **BoldSign API** — Send a Bonusly recognition bonus when a BoldSign contract closes.

## FAQ

### Why is there no official OpenAPI spec for Bonusly API?

Bonusly does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Bonusly API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Bonusly API use?

Bonusly uses HTTP Bearer authentication - send Authorization: Bearer <token> on every request. Through Jentic the token is held in the encrypted vault and the agent only ever sees a scoped, short-lived bearer.

### Can I send a bonus from one user to another with the Bonusly API?

Yes. POST /v1/bonuses with the giver, receiver, amount, and reason (which can include hashtags tied to company values). The bonus appears in both users' feeds and the receiving user's point balance increases.

### How do I deactivate a user who has left the company through Jentic?

Search Jentic for 'deactivate a Bonusly user', load the DELETE /v1/users/{id} operation, then execute it with the user's id. The user is removed from active recognition without losing their historical bonuses.

### What are the rate limits for the Bonusly API?

The OpenAPI spec does not declare formal rate limits. For high-volume use cases like full HRIS sync, batch user operations rather than firing thousands of /v1/users calls in quick succession.

### Can I pull recognition analytics into my BI tool?

Yes. GET /v1/analytics/leaderboards, /v1/analytics/trends, and /v1/analytics/words return aggregated data suitable for a Looker, Mode, or internal BI dashboard. The endpoints accept date range parameters.

### Can I limit what my agent is allowed to do with the Bonusly API?

Yes. Because you run Jentic One yourself, your own rules decide which Bonusly operations and credentials the agent may use, so you can allow only what it needs, such as sending a bonus with POST /v1/bonuses or reading GET /v1/analytics/leaderboards. Since you choose that set, a destructive operation like DELETE /v1/users/{id} is excluded unless you explicitly add it. The stored bearer token is injected only when a permitted operation runs, so the agent can never call an endpoint you left out.
