Bonusly

Bonusly is an employee recognition and rewards platform that lets coworkers give each other small, frequent, public bonuses tied to company values, which recipients redeem for gift cards, custom rewards, donations, and more. The Bonusly REST API (base https://bonus.ly/api/v1) exposes the same surface the product is built on - bonuses, users, the reward catalog, redemptions, awards, company settings, and analytics - authenticated with a Bearer personal access token. API access is available on paid plans; tokens are minted by admins with fine-grained read / write / administer scopes.

6 APIs 0 Features
Employee RecognitionRewardsEmployee EngagementHRCompany CultureBonuses

APIs

Bonusly Bonuses API

Create, list, retrieve, update, and delete bonuses - the public peer-to-peer recognition posts that carry points, a reason, hashtags, and one or more receivers. Includes an Atom...

Bonusly Users API

Manage company members - create, list, retrieve, update, and deactivate users; fetch the authenticated user via /me; autocomplete users by name; and pull a user's bonuses, redem...

Bonusly Rewards API

Browse the redemption catalog - the gift cards, donations, and custom company rewards a user can spend earned points on, filterable by country and reward request.

Bonusly Redemptions API

List and retrieve redemptions where users convert earned points into rewards, create a user redemption, and manage the custom-reward redemption workflow - listing, approving, an...

Bonusly Analytics API

Queue and read analytics snapshots for recognition activity - request an asynchronous snapshot of analytics users or recognition events, poll its status, and list the resulting ...

Bonusly Company API

Retrieve and update company-level settings and read company achievements - the account configuration that governs allowances, values, and recognition behavior across the organiz...

Collections

Pricing Plans

Bonusly Plans Pricing

4 plans

PLANS

Rate Limits

Bonusly Rate Limits

3 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Bonusly API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Bonuses
    type: folder
  items:
  - info:
      name: List bonuses.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/bonuses
    docs: Lists bonuses, most recent first, with optional user, hashtag, and date filters.
  - info:
      name: Create a bonus.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/bonuses
      body:
        type: json
        data: "{\n  \"reason\": \"+10 @alice for shipping the release #teamwork\"\n}"
    docs: Creates a bonus. The reason names one or more receivers, an amount, and a hashtag.
  - info:
      name: Retrieve a bonus.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/bonuses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the bonus.
    docs: Retrieves a single bonus by ID.
  - info:
      name: Update a bonus.
      type: http
    http:
      method: PUT
      url: https://bonus.ly/api/v1/bonuses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the bonus.
      body:
        type: json
        data: "{\n  \"reason\": \"+10 @alice for the release #teamwork\"\n}"
    docs: Updates the reason text of an existing bonus.
  - info:
      name: Delete a bonus.
      type: http
    http:
      method: DELETE
      url: https://bonus.ly/api/v1/bonuses/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the bonus.
    docs: Deletes a bonus by ID.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: List users.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users
    docs: Lists users in the company.
  - info:
      name: Create a user.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/users
      body:
        type: json
        data: "{\n  \"email\": \"new.user@example.com\",\n  \"first_name\": \"New\",\n  \"last_name\": \"User\"\n}"
    docs: Invites a new user. Requires an administrator-scoped token.
  - info:
      name: Retrieve the authenticated user.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users/me
    docs: Returns the user tied to the access token.
  - info:
      name: Retrieve a user.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the user.
    docs: Retrieves a single user by ID.
  - info:
      name: Update a user.
      type: http
    http:
      method: PUT
      url: https://bonus.ly/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the user.
      body:
        type: json
        data: "{\n  \"display_name\": \"Updated Name\"\n}"
    docs: Updates a user's profile. Requires an administrator-scoped token.
  - info:
      name: Deactivate a user.
      type: http
    http:
      method: DELETE
      url: https://bonus.ly/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the user.
    docs: Deactivates (archives) a user. Requires an administrator-scoped token.
  - info:
      name: Autocomplete users.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users/autocomplete
      params:
      - name: query
        value: al
        type: query
        description: Partial name or email to match.
    docs: Returns users matching a partial name or email.
  - info:
      name: List a user's bonuses.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users/:id/bonuses
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the user.
    docs: Lists bonuses given or received by a user.
  - info:
      name: List a user's redemptions.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/users/:id/redemptions
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the user.
    docs: Lists redemptions made by a user.
- info:
    name: Rewards
    type: folder
  items:
  - info:
      name: List rewards.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/rewards
      params:
      - name: country
        value: US
        type: query
        description: ISO country code scoping the gift-card catalog.
    docs: Lists rewards in the redemption catalog - gift cards, donations, and custom rewards - filterable by country.
- info:
    name: Redemptions
    type: folder
  items:
  - info:
      name: List redemptions.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/redemptions
    docs: Lists redemptions across the company.
  - info:
      name: Retrieve a redemption.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/redemptions/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the redemption.
    docs: Retrieves a single redemption by ID.
  - info:
      name: Create a user redemption.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/user_redemptions
      body:
        type: json
        data: "{\n  \"user_id\": \"\",\n  \"reward_request\": \"\",\n  \"denomination\": 25\n}"
    docs: Redeems a reward for a user, spending points from their balance.
  - info:
      name: List custom reward redemptions.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/custom_reward_redemptions
    docs: Lists redemptions of custom company rewards.
  - info:
      name: Approve custom reward redemptions.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/custom_reward_redemptions/approve
      body:
        type: json
        data: "{\n  \"ids\": []\n}"
    docs: Approves pending custom reward redemptions. Requires an administrator-scoped token.
  - info:
      name: Fulfill custom reward redemptions.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/custom_reward_redemptions/fulfill
      body:
        type: json
        data: "{\n  \"ids\": []\n}"
    docs: Marks approved custom reward redemptions as fulfilled. Requires an administrator-scoped token.
- info:
    name: Analytics
    type: folder
  items:
  - info:
      name: Analytics healthcheck.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/analytics/health
    docs: Returns the availability status of the analytics subsystem.
  - info:
      name: Queue a recognition events snapshot.
      type: http
    http:
      method: POST
      url: https://bonus.ly/api/v1/analytics/snapshots/recognition_events
    docs: Queues an asynchronous snapshot of recognition events; returns a snapshot ID to poll.
  - info:
      name: Get snapshot status.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/analytics/snapshots/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the snapshot.
    docs: Returns the processing status of a queued analytics snapshot.
  - info:
      name: List recognition events.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/analytics/recognition_events
    docs: Lists the rows of a completed recognition events snapshot.
- info:
    name: Company
    type: folder
  items:
  - info:
      name: Retrieve company.
      type: http
    http:
      method: GET
      url: https://bonus.ly/api/v1/company
    docs: Retrieves company-level settings for the account tied to the token.
  - info:
      name: Update company.
      type: http
    http:
      method: PUT
      url: https://bonus.ly/api/v1/company
      body:
        type: json
        data: '{}'
    docs: Updates company-level settings. Requires an administrator-scoped token.