Workleap GoodVibes API

GoodVibes recognition items and collections

OpenAPI Specification

workleap-goodvibes-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Workleap Attributes GoodVibes API
  description: 'The Workleap REST API provides programmatic access to user and group management, provisioning workflows, engagement scores, pulse survey feedback, GoodVibes recognition data, and organizational attributes across the Workleap platform. It supports both one-time management actions and recurring HRIS-synced provisioning via JSON or CSV-based connections. Authentication uses an API key passed via the workleap-subscription-key header, and API access is available on the Pro and Enterprise subscription plans.

    '
  version: 1.0.0
  contact:
    url: https://docs.api.workleap.com/docs/getting-started
  termsOfService: https://workleap.com/legal/terms-of-service
  license:
    name: Proprietary
servers:
- url: https://api.workleap.com/public
  description: Workleap Production API
security:
- SubscriptionKey: []
tags:
- name: GoodVibes
  description: GoodVibes recognition items and collections
paths:
  /goodvibes/{goodVibeId}:
    get:
      operationId: getGoodVibe
      summary: Get GoodVibe
      description: Get GoodVibe by Id
      tags:
      - GoodVibes
      parameters:
      - name: goodVibeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: The unique identifier of the GoodVibe
      responses:
        '200':
          description: Successful response with the GoodVibe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodVibe'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /goodvibes:
    get:
      operationId: getGoodVibes
      summary: Get GoodVibes
      description: Get GoodVibes with filters
      tags:
      - GoodVibes
      parameters:
      - name: teamId
        in: query
        schema:
          type: string
        description: Filter GoodVibes by team ID
      - name: startDate
        in: query
        schema:
          type: string
          format: date
        description: Start date for filtering GoodVibes
      - name: endDate
        in: query
        schema:
          type: string
          format: date
        description: End date for filtering GoodVibes
      responses:
        '200':
          description: Successful response with GoodVibes
          content:
            application/json:
              schema:
                type: object
                properties:
                  goodVibes:
                    type: array
                    items:
                      $ref: '#/components/schemas/GoodVibe'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /goodvibes/collections:
    get:
      operationId: getGoodVibesCollections
      summary: Get GoodVibes Collections
      description: Get Officevibe and Custom GoodVibes Collections
      tags:
      - GoodVibes
      responses:
        '200':
          description: Successful response with GoodVibes collections
          content:
            application/json:
              schema:
                type: object
                properties:
                  officevibe:
                    type: array
                    items:
                      $ref: '#/components/schemas/GoodVibeCollection'
                  custom:
                    type: array
                    items:
                      $ref: '#/components/schemas/GoodVibeCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
    GoodVibe:
      type: object
      properties:
        goodVibeId:
          type: string
          format: uuid
          description: The unique identifier of the GoodVibe
        senderId:
          type: string
          format: uuid
          description: The user ID of the sender
        recipientId:
          type: string
          format: uuid
          description: The user ID of the recipient
        collectionId:
          type: string
          format: uuid
          description: The collection this GoodVibe belongs to
        message:
          type: string
          description: The GoodVibe message
        createdAt:
          type: string
          format: date-time
          description: When the GoodVibe was created
    GoodVibeCollection:
      type: object
      properties:
        collectionId:
          type: string
          format: uuid
          description: The unique identifier of the collection
        name:
          type: string
          description: The name of the collection
        description:
          type: string
          description: The description of the collection
        isCustom:
          type: boolean
          description: Whether this is a custom or Officevibe collection
  responses:
    Forbidden:
      description: Forbidden - insufficient permissions or plan restrictions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found - the requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    SubscriptionKey:
      type: apiKey
      in: header
      name: workleap-subscription-key
      description: API key for authenticating requests to the Workleap API