> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# List Roles

> Retrieves all Roles with pagination.



## OpenAPI

````yaml /pt/openapi/v3-current/AM-identity.yaml get /v1/roles
openapi: 3.0.1
info:
  contact: {}
  description: This is a swagger documentation for the Identity API
  termsOfService: http://swagger.io/terms/
  title: Identity API
  version: 1.0.0
servers:
  - url: //localhost:4001/
security: []
paths:
  /v1/roles:
    get:
      tags:
        - Roles
      summary: List Roles
      description: Retrieves all Roles with pagination.
      parameters:
        - description: Page number
          in: query
          name: page
          schema:
            default: 1
            type: integer
        - description: Items per page
          in: query
          name: limit
          schema:
            default: 10
            type: integer
        - description: Filter by name (case-insensitive substring)
          in: query
          name: name
          schema:
            type: string
        - description: Filter by user ID (relational listing)
          in: query
          name: userId
          schema:
            type: string
        - description: Filter by group ID (relational listing)
          in: query
          name: groupId
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_3'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pkg.HTTPError'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pkg.HTTPError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pkg.HTTPError'
          description: Internal Server Error
      security:
        - BearerAuth: []
components:
  schemas:
    inline_response_200_3:
      example:
        Pagination:
          total: 10
          limit: 10
          page: 1
          items: '{}'
        items:
          - isSystem: false
            createdAt: '2026-06-24T10:00:00.000Z'
            isEnabled: true
            roles:
              - roles
              - roles
            name: Custom Editor
            description: A custom editor role
            groups:
              - groups
              - groups
            id: custom-editor
            users:
              - users
              - users
          - isSystem: false
            createdAt: '2026-06-24T10:00:00.000Z'
            isEnabled: true
            roles:
              - roles
              - roles
            name: Custom Editor
            description: A custom editor role
            groups:
              - groups
              - groups
            id: custom-editor
            users:
              - users
              - users
      properties:
        Pagination:
          $ref: '#/components/schemas/Pagination'
        items:
          items:
            $ref: '#/components/schemas/RoleResponse'
          type: array
      type: object
    pkg.HTTPError:
      properties:
        code:
          type: string
        entityType:
          type: string
        err:
          type: object
        message:
          type: string
        title:
          type: string
      type: object
    Pagination:
      description: >-
        Pagination is the struct designed to store the pagination data of an
        entity list.
      example:
        total: 10
        limit: 10
        page: 1
        items: '{}'
      properties:
        items:
          type: object
        limit:
          example: 10
          type: integer
        page:
          example: 1
          type: integer
        total:
          example: 10
          type: integer
      type: object
    RoleResponse:
      description: RoleResponse payload
      example:
        isSystem: false
        createdAt: '2026-06-24T10:00:00.000Z'
        isEnabled: true
        roles:
          - roles
          - roles
        name: Custom Editor
        description: A custom editor role
        groups:
          - groups
          - groups
        id: custom-editor
        users:
          - users
          - users
      properties:
        createdAt:
          example: '2026-06-24T10:00:00.000Z'
          type: string
        description:
          example: A custom editor role
          type: string
        groups:
          items:
            type: string
          type: array
        id:
          example: custom-editor
          type: string
        isEnabled:
          example: true
          type: boolean
        isSystem:
          description: >-
            Whether the role is a platform-managed system role, immutable
            through this API.

            Never omitempty: false must travel so a consumer does not read a
            missing key

            as "not a system role".
          example: false
          type: boolean
        name:
          example: Custom Editor
          type: string
        roles:
          items:
            type: string
          type: array
        users:
          items:
            type: string
          type: array
      type: object
  securitySchemes:
    BearerAuth:
      description: 'Bearer authentication. Send Authorization: Bearer <token>.'
      in: header
      name: Authorization
      type: apiKey

````