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).