openapi: 3.1.0 info: title: Strapi Admin Panel Admin Authentication Roles API description: The Strapi Admin Panel API powers the back-office interface used to manage content-types, content entries, media assets, and administrator accounts. It provides endpoints for the Content-Type Builder, Content Manager, Media Library, and role-based access control configuration. The API supports three default administrator roles (Super Admin, Editor, and Author) with granular permission management, allowing organizations to control which administrative functions each role can access. version: 5.0.0 contact: name: Strapi Support url: https://strapi.io/support termsOfService: https://strapi.io/terms servers: - url: https://{host} description: Strapi Server variables: host: default: localhost:1337 description: The hostname and port of your Strapi instance security: - adminBearerAuth: [] tags: - name: Roles description: Endpoints for managing user roles and their associated permissions. paths: /api/users-permissions/roles: get: operationId: listRoles summary: List roles description: Returns a list of all roles defined in the Users and Permissions plugin, including their associated permissions. tags: - Roles responses: '200': description: A list of roles content: application/json: schema: type: object properties: roles: type: array items: $ref: '#/components/schemas/Role' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /api/users-permissions/roles/{id}: get: operationId: getRole summary: Get a role description: Returns a single role by its ID, including its associated permissions. tags: - Roles parameters: - name: id in: path required: true description: The ID of the role schema: type: string responses: '200': description: The role details content: application/json: schema: type: object properties: role: $ref: '#/components/schemas/Role' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: responses: Forbidden: description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized - missing or invalid authentication 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' schemas: Role: type: object properties: id: type: integer description: The unique ID of the role name: type: string description: The display name of the role description: type: string description: A description of the role's purpose type: type: string description: The role type identifier (e.g., authenticated, public) permissions: type: object description: The permissions assigned to this role, grouped by plugin and controller action additionalProperties: true Error: type: object properties: data: nullable: true error: type: object properties: status: type: integer description: The HTTP status code name: type: string description: The error name message: type: string description: A human-readable error message details: type: object description: Additional error details securitySchemes: adminBearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'Admin JWT token obtained from the /admin/login endpoint. Include as Authorization: Bearer {token}.' externalDocs: description: Strapi Admin Panel Documentation url: https://docs.strapi.io/cms/features/admin-panel