openapi: 3.0.3 info: title: Engagedly Activities Permissions API description: 'REST API for the Engagedly people strategy execution platform. Provides endpoints for managing users, departments, locations, job titles, business units, permissions, user attributes, and employee activities such as praises and recognition. Supports performance review workflows, goal management, and organizational data integration using header-based authentication with ClientKey and SecretKey. ' version: beta contact: url: https://engagedly.com license: name: Proprietary servers: - url: https://api.engagedly.com/beta description: Production API server security: - clientKeyAuth: [] secretKeyAuth: [] tags: - name: Permissions description: List available permission roles paths: /permissions: get: operationId: listPermissions summary: List all permissions description: Returns a paginated list of all permission roles available in the system. tags: - Permissions parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/sizeParam' responses: '200': description: Paginated list of permissions content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Permission: type: object properties: id: type: integer name: type: string example: Site Administrator is_admin: type: boolean nullable: true description: type: string PermissionListResponse: type: object properties: success: type: boolean pagination: $ref: '#/components/schemas/Pagination' data: type: array items: $ref: '#/components/schemas/Permission' ErrorResponse: type: object properties: error_type: type: string enum: - api_connection_error - authentication_error - invalid_request_error - validation_error example: validation_error errors: type: array items: $ref: '#/components/schemas/ErrorDetail' ErrorDetail: type: object properties: field: type: string example: name message: type: string example: Mandatory attribute missing code: type: string example: missing_field Pagination: type: object properties: page: type: integer example: 1 size: type: integer example: 25 has_more: type: boolean example: false total_records: type: integer example: 42 responses: Unauthorized: description: Unauthorized — invalid or missing ClientKey/SecretKey content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: pageParam: name: page in: query description: Page number (starts at 1) schema: type: integer minimum: 1 default: 1 sizeParam: name: size in: query description: Number of records per page (maximum 50) schema: type: integer minimum: 1 maximum: 50 default: 25 securitySchemes: clientKeyAuth: type: apiKey in: header name: ClientKey description: Client key obtained from the Engagedly portal under Integrations > Engagedly API secretKeyAuth: type: apiKey in: header name: SecretKey description: Secret key obtained from the Engagedly portal. Shown only once upon generation.