Guusto Account Budget API

Retrieve available reward budget balances.

OpenAPI Specification

guusto-account-budget-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Guusto Gifts Account Budget API
  description: The Guusto Gifts API lets you programmatically send digital gifts, track order status, retrieve reward budgets, and pull recognition activity and manager-insight reports from the Guusto employee recognition and rewards platform. API access is available on the Guusto Premium plan. All requests are authenticated with a Bearer API token and an X-Workspace-id header. This document models Guusto's publicly documented REST surface (docs.guusto.com); request and response schemas are summarized from the published API reference and may not capture every field.
  version: '1.0'
  contact:
    name: Guusto
    url: https://guusto.com
  termsOfService: https://guusto.com/terms
servers:
- url: https://api.guusto.com/api/v1
  description: Production
- url: https://api-demo.guusto.io/api/v1
  description: Demo / Test
security:
- bearerAuth: []
tags:
- name: Account Budget
  description: Retrieve available reward budget balances.
paths:
  /balances/workspaces/currencies/{currency}:
    get:
      tags:
      - Account Budget
      summary: Get workspace budget
      description: Retrieve the available reward budget balance for the workspace.
      operationId: getWorkspaceBudget
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/Currency'
      responses:
        '200':
          description: Available workspace budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Balance'
  /balances/members/{employeeNumber}/currencies/{currency}:
    get:
      tags:
      - Account Budget
      summary: Get member budget
      description: Retrieve the available reward budget balance for a single member.
      operationId: getMemberBudget
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: employeeNumber
        in: path
        required: true
        description: The member's employee number.
        schema:
          type: string
      - $ref: '#/components/parameters/Currency'
      responses:
        '200':
          description: Available member budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Balance'
  /balances/members/currencies/{currency}:
    get:
      tags:
      - Account Budget
      summary: Get all member budgets
      description: Retrieve paginated available reward budget balances for all members.
      operationId: listMemberBudgets
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/Currency'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      responses:
        '200':
          description: Paginated member budgets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberBalancePage'
components:
  parameters:
    Currency:
      name: currency
      in: path
      required: true
      description: ISO currency code supported by Guusto.
      schema:
        type: string
        enum:
        - CAD
        - USD
    Size:
      name: size
      in: query
      required: false
      description: Page size.
      schema:
        type: integer
        default: 20
    Page:
      name: page
      in: query
      required: false
      description: Zero-based page index.
      schema:
        type: integer
        default: 0
    WorkspaceId:
      name: X-Workspace-id
      in: header
      required: true
      description: The workspace the request is scoped to.
      schema:
        type: string
  schemas:
    Balance:
      type: object
      properties:
        amount:
          type: number
          description: Available budget amount.
        currency:
          type: string
          enum:
          - CAD
          - USD
    Page:
      type: object
      properties:
        page:
          type: integer
        size:
          type: integer
        totalElements:
          type: integer
        totalPages:
          type: integer
    MemberBalancePage:
      allOf:
      - $ref: '#/components/schemas/Page'
      - type: object
        properties:
          memberBalanceResponses:
            type: array
            items:
              type: object
              properties:
                amount:
                  type: number
                employeeNumber:
                  type: string
                user:
                  type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer API token issued from the Guusto workspace (Premium plan).