openapi: 3.0.0 info: description: The Small Improvements REST API (v2) provides programmatic access to the core performance management platform, covering users, feedback cycles, review questionnaires, objectives, 1:1 meetings, pulse surveys, praise, messages, and administrative settings. Authentication uses personal Bearer access tokens generated from user profile settings. version: '2.0' title: Small Improvements action-item-resource praise-resource API contact: url: https://www.small-improvements.com name: Small Improvements x-api-id: small-improvements-rest-api servers: - url: https://app.small-improvements.com/api description: Small Improvements API security: - BearerAuth: [] tags: - name: praise-resource description: Praise Resource paths: /v2/praise: get: tags: - praise-resource summary: getPraiseList operationId: getPraiseListUsingGET parameters: - name: authorId in: query required: false schema: type: string - name: endDate in: query required: false schema: type: string format: date-time - name: limit in: query required: false schema: type: integer format: int32 - name: offset in: query required: false schema: type: integer format: int32 - name: recipientId in: query required: false schema: type: string - name: startDate in: query required: false schema: type: string format: date-time responses: '200': description: OK content: application/json;charset=UTF-8: schema: type: array items: $ref: '#/components/schemas/MessageDto' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found post: tags: - praise-resource summary: createPraise operationId: createPraiseUsingPOST parameters: - name: source in: query description: source required: false schema: type: string enum: - GMAIL - HIPCHAT - SLACK - WEBAPP default: WEBAPP requestBody: content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/PraiseCreateCommand' description: command required: true responses: '201': description: Created content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found /v2/praise-export: post: tags: - praise-resource summary: triggerExport operationId: triggerExportUsingPOST_1 parameters: - name: format in: query description: format required: true schema: type: string enum: - CSV - EXCEL - name: from in: query description: from required: true schema: type: string - name: until in: query description: until required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/DownloadableFileDto' '201': description: Created '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found /v2/praise/preview/{id}: get: tags: - praise-resource summary: getPreview operationId: getPreviewUsingGET_4 parameters: - name: id in: path description: id required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessagePreviewWithStatus' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found /v2/praise/{praiseId}: get: tags: - praise-resource summary: getPraiseItem operationId: getPraiseItemUsingGET parameters: - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found put: tags: - praise-resource summary: editMessage operationId: editMessageUsingPUT_1 parameters: - name: praiseId in: path description: praiseId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PraiseEditCommand' description: command required: true responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '201': description: Created '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found delete: tags: - praise-resource summary: delete operationId: deleteUsingDELETE_11 parameters: - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK '204': description: No Content '401': description: Unauthorized '403': description: Forbidden /v2/praise/{praiseId}/comments: get: tags: - praise-resource summary: getComments operationId: getCommentsUsingGET_1 parameters: - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: type: array items: $ref: '#/components/schemas/MessageDto' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found post: tags: - praise-resource summary: createComment operationId: createCommentUsingPOST parameters: - name: praiseId in: path description: praiseId required: true schema: type: string requestBody: $ref: '#/components/requestBodies/MessageDTO' responses: '201': description: Created content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found /v2/praise/{praiseId}/comments/{commentId}: put: tags: - praise-resource summary: updateComment operationId: updateCommentUsingPUT parameters: - name: commentId in: path description: commentId required: true schema: type: string - name: praiseId in: path description: praiseId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageDTO' description: comment required: true responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '201': description: Created '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found delete: tags: - praise-resource summary: deleteComment operationId: deleteCommentUsingDELETE parameters: - name: commentId in: path description: commentId required: true schema: type: string - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK '204': description: No Content '401': description: Unauthorized '403': description: Forbidden /v2/praise/{praiseId}/downvote: put: tags: - praise-resource summary: downvote operationId: downvoteUsingPUT parameters: - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '201': description: Created '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found /v2/praise/{praiseId}/upvote: put: tags: - praise-resource summary: upvote operationId: upvoteUsingPUT parameters: - name: praiseId in: path description: praiseId required: true schema: type: string responses: '200': description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDto' '201': description: Created '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found components: schemas: PraiseCreateCommand: type: object title: PraiseCreateCommand MessagePreviewWithStatus: type: object title: MessagePreviewWithStatus MessageDTO: type: object title: MessageDTO PraiseEditCommand: type: object title: PraiseEditCommand MessageDto: type: object title: MessageDto DownloadableFileDto: type: object title: DownloadableFileDto requestBodies: MessageDTO: content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/MessageDTO' description: dto required: true securitySchemes: BearerAuth: type: http scheme: bearer description: Personal access token generated from user profile settings