OpenAPI Specification
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