Leapsome feedback API

The feedback API from Leapsome — 4 operation(s) for feedback.

OpenAPI Specification

leapsome-feedback-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  version: 1.0.1
  title: Leapsome absences feedback API
  contact:
    name: Support
    url: https://leapsome.zendesk.com
  description: The Content API enables you to export some raw data from Leapsome for usage within your own systems and beyond what the Leapsome application offers natively. Usage is restricted to a maximum of 20 requests per second when making requests in parallel. If you exceed this limit, you will receive a 429 status code.
servers:
- url: https://api.leapsome.com/v1
tags:
- name: feedback
paths:
  /feedback:
    get:
      summary: List feedback
      description: 'Get a paginated list of instant feedback and praise items. Supports filtering by

        type (praise or instantFeedback), sender, and receiver.

        '
      operationId: listFeedback
      security:
      - bearerAuth: []
      tags:
      - feedback
      parameters:
      - name: type
        in: query
        required: false
        description: Filter by feedback type
        schema:
          type: string
          enum:
          - praise
          - instantFeedback
      - name: receiverId
        in: query
        required: false
        description: Filter by receiver user ID
        schema:
          type: string
          pattern: ^[0-9a-f]{24}$
      - name: senderId
        in: query
        required: false
        description: Filter by sender user ID
        schema:
          type: string
          pattern: ^[0-9a-f]{24}$
      - name: offset
        in: query
        required: false
        description: Number of results to skip
        schema:
          type: integer
          minimum: 0
          default: 0
      - name: limit
        in: query
        required: false
        description: Maximum number of results to return
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 100
      responses:
        '200':
          description: A list of feedback items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackList'
        '401':
          description: Authorization failed. Token is missing or invalid.
  /feedback/praise:
    post:
      summary: Create praise
      description: 'Create a new praise item. Requires the instant feedback praise permission.

        Returns the ID of the created feedback.

        '
      operationId: createPraise
      security:
      - bearerAuth: []
      tags:
      - feedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePraiseRequest'
      responses:
        '201':
          description: Praise created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePraiseResponse'
        '401':
          description: Authorization failed. Token is missing or invalid.
        '403':
          description: Insufficient permissions. Praise permission is required.
  /feedback/instant:
    post:
      summary: Create instant feedback
      description: 'Create instant feedback for a user. By default only visible to the receiver.

        Requires the instant feedback permission.

        '
      operationId: createInstantFeedback
      security:
      - bearerAuth: []
      tags:
      - feedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstantFeedbackRequest'
      responses:
        '201':
          description: Instant feedback created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFeedbackResponse'
        '401':
          description: Authorization failed. Token is missing or invalid.
        '403':
          description: Insufficient permissions. Instant feedback permission is required.
  /feedback/private-note:
    post:
      summary: Create private note
      description: 'Create a private note about a user. Private notes are only visible to the

        sender and cannot be seen by the receiver or anyone else.

        '
      operationId: createPrivateNote
      security:
      - bearerAuth: []
      tags:
      - feedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePrivateNoteRequest'
      responses:
        '201':
          description: Private note created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFeedbackResponse'
        '401':
          description: Authorization failed. Token is missing or invalid.
components:
  schemas:
    CreateFeedbackResponse:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: ID of the created feedback item
    FeedbackList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FeedbackItem'
        meta:
          type: object
          properties:
            offset:
              type: integer
              description: Number of results skipped
            limit:
              type: integer
              description: Maximum number of results returned
            totalCount:
              type: integer
              description: Total number of feedback items
    CreatePraiseResponse:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: ID of the created feedback item
    CreateInstantFeedbackRequest:
      type: object
      required:
      - senderId
      - receiverId
      - message
      properties:
        senderId:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: User ID of the sender
        receiverId:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: User ID of the feedback receiver
        message:
          type: string
          minLength: 1
          description: The feedback message content
        visibility:
          type: string
          enum:
          - public
          - receiver
          - manager
          - senderOnly
          default: receiver
          description: Visibility level of the feedback
    CreatePraiseRequest:
      type: object
      required:
      - senderId
      - receiverIds
      - message
      properties:
        senderId:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: User ID of the sender
        receiverIds:
          type: array
          items:
            type: string
            pattern: ^[0-9a-f]{24}$
          minItems: 1
          description: User IDs of the praise receivers
        message:
          type: string
          minLength: 1
          description: The praise message content
        visibility:
          type: string
          enum:
          - public
          - receiver
          default: public
          description: Visibility level of the praise
    CreatePrivateNoteRequest:
      type: object
      required:
      - senderId
      - receiverId
      - message
      properties:
        senderId:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: User ID of the sender
        receiverId:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: User ID the private note is about
        message:
          type: string
          minLength: 1
          description: The private note content
    FeedbackItem:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          example: 58d55e3ffdc2eb20547edd0a
          description: Feedback item ID
        type:
          type: string
          enum:
          - praise
          - instantFeedback
          description: Type of feedback
        sender:
          type: object
          nullable: true
          properties:
            id:
              type: string
              pattern: ^[0-9a-f]{24}$
              nullable: true
              description: Sender user ID (null if anonymous)
            name:
              type: string
              description: Sender display name ("Anonymous" if anonymous)
          description: The user who sent the feedback
        receivers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^[0-9a-f]{24}$
                description: Receiver user or team ID
              name:
                type: string
                description: Receiver display name
          description: Users or teams who received the feedback
        message:
          type: string
          nullable: true
          description: The feedback message content
        badge:
          type: object
          nullable: true
          properties:
            name:
              type: string
              description: Badge name
            icon:
              type: string
              description: Badge icon path
          description: Badge attached to the feedback (praise only)
        visibility:
          type: string
          enum:
          - public
          - receiver
          - senderOnly
          description: Visibility level of the feedback
        createdAt:
          type: string
          format: date-time
          description: When the feedback was created
        likesCount:
          type: integer
          description: Number of likes on the feedback
        commentsCount:
          type: integer
          description: Number of comments on the feedback
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT