Workleap Feedback API

Feedback retrieval and management

OpenAPI Specification

workleap-feedback-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Workleap Attributes Feedback 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: Feedback
  description: Feedback retrieval and management
paths:
  /feedbacks/{feedbackId}:
    get:
      operationId: getFeedbackById
      summary: Get feedback
      description: Get feedback by its unique identifier
      tags:
      - Feedback
      parameters:
      - name: feedbackId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: The unique identifier of the feedback
      responses:
        '200':
          description: Successful response with the feedback
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /feedbacks/labels:
    get:
      operationId: getFeedbacksLabels
      summary: Get feedbacks labels
      description: Get organization's custom feedback labels
      tags:
      - Feedback
      responses:
        '200':
          description: Successful response with feedback labels
          content:
            application/json:
              schema:
                type: object
                properties:
                  labels:
                    type: array
                    items:
                      $ref: '#/components/schemas/FeedbackLabel'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /feedbacks/search:
    post:
      operationId: searchFeedbacks
      summary: Search feedbacks
      description: Filters feedback by team name, metric, tone, label and date range
      tags:
      - Feedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackSearchRequest'
      responses:
        '200':
          description: Successful response with filtered feedbacks
          content:
            application/json:
              schema:
                type: object
                properties:
                  feedbacks:
                    type: array
                    items:
                      $ref: '#/components/schemas/Feedback'
                  totalCount:
                    type: integer
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    Feedback:
      type: object
      properties:
        feedbackId:
          type: string
          format: uuid
          description: The unique identifier of the feedback
        teamId:
          type: string
          format: uuid
          description: The team the feedback belongs to
        teamName:
          type: string
          description: The name of the team
        metric:
          type: string
          description: The engagement metric this feedback relates to
        tone:
          type: string
          enum:
          - positive
          - neutral
          - negative
          description: The tone of the feedback
        message:
          type: string
          description: The feedback message text
        labels:
          type: array
          items:
            type: string
          description: Custom labels applied to the feedback
        createdAt:
          type: string
          format: date-time
          description: When the feedback was created
    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
    FeedbackSearchRequest:
      type: object
      properties:
        teamName:
          type: string
          description: Filter by team name
        metric:
          type: string
          description: Filter by engagement metric
        tone:
          type: string
          enum:
          - positive
          - neutral
          - negative
          description: Filter by feedback tone
        label:
          type: string
          description: Filter by custom label
        startDate:
          type: string
          format: date
          description: Start date for the date range filter
        endDate:
          type: string
          format: date
          description: End date for the date range filter
        page:
          type: integer
          default: 1
          description: Page number for pagination
        pageSize:
          type: integer
          default: 25
          description: Number of results per page
    FeedbackLabel:
      type: object
      properties:
        labelId:
          type: string
          format: uuid
          description: The unique identifier of the label
        name:
          type: string
          description: The name of the label
        color:
          type: string
          description: The color associated with the label
  responses:
    Unauthorized:
      description: Unauthorized - missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters or request body
      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'
    Forbidden:
      description: Forbidden - insufficient permissions or plan restrictions
      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