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