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

# List Custom Roles

> Get all Custom Roles for your organization.




## OpenAPI

````yaml /assets/openapi/openapi-bundled.yaml get /custom_role
openapi: 3.1.0
info:
  title: Partoo Rest API
  version: v2
  license:
    name: © Copyright Partoo
    url: https://www.partoo.co/en/gtu-api/
  x-logo:
    url: >-
      https://partoo-client-images.s3.amazonaws.com/logo-partoo-restapi-white.png
  description: >
    ## Introduction

    The Partoo Rest API allows you to automate all the actions that are possible
    to do in the Partoo Web Application.


    The Partoo Rest API can be used for many different purposes:
      - Create/update/delete your businesses & users if you are a client.
      - Create/subscribe/manage organizations, businesses & users if you are a reseller.
      - Retrieve data on businesses you have access to if you are a publisher.
      - ...
servers:
  - url: https://api.partoo.co/v2
    description: Production server
  - url: https://api.sandbox.partoo.co/v2
    description: Sandbox server (dev environment for clients & partners)
security:
  - ApiKeyAuth: []
paths:
  /custom_role:
    get:
      tags:
        - Custom Roles
      summary: List Custom Roles
      description: |
        Get all Custom Roles for your organization.
      operationId: customRoles
      parameters:
        - $ref: '#/components/parameters/query_page'
        - $ref: '#/components/parameters/query_per_page_1_100'
        - $ref: '#/components/parameters/query_org_id'
        - name: only_available_roles
          in: query
          description: >
            If `true`: only return roles for which the requesting user has *all*
            required permissions (Custom Fields permissions are also taken into
            account).
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomRoleGetResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
components:
  parameters:
    query_page:
      in: query
      name: page
      schema:
        type: integer
        default: 1
      description: |
        Page number.
        Starts at 1. Any value lower than 1 will be considered as 1.
        For the number of items per page, see the `per_page` query parameter.
    query_per_page_1_100:
      in: query
      name: per_page
      schema:
        type: integer
        default: 30
        minimum: 1
        maximum: 100
      description: Number of items to return per page. Currently limited to 100.
    query_org_id:
      in: query
      name: org_id
      schema:
        type: integer
      required: false
      description: >
        Organization ID. Only `PROVIDER` users can specify a different
        organization. If not provided, defaults to your own organization.
  schemas:
    CustomRoleGetResponse:
      description: A list of Custom Roles is returned upon success.
      type: object
      properties:
        page:
          $ref: '#/components/schemas/current_page'
        max_page:
          $ref: '#/components/schemas/max_page'
        count:
          description: Total number of Custom Roles found.
          type: integer
          example: 3
        custom_roles:
          description: The list of Custom Roles.
          type: array
          items:
            $ref: '#/components/schemas/CustomRoleListItem'
    current_page:
      type: integer
      description: Current page number
      example: 1
    max_page:
      type: integer
      description: Last page number
      example: 10
    CustomRoleListItem:
      description: Compact representation of a Custom Role in lists
      allOf:
        - $ref: '#/components/schemas/CustomRoleBase'
        - type: object
          properties: {}
    CustomRoleBase:
      type: object
      properties:
        name:
          type: string
          description: >-
            Name of the Custom Role. Cannot contain any of the following
            characters: `,;/\|<>`.
          example: This is My Custom Role
        api_id:
          type: string
          description: >-
            API identifier of the Custom Role. Cannot contain any of the
            following characters: `,;/\|<>`.
          example: this_is_my_custom_role
        description:
          type: string
          example: It has a custom permission configuration!
        org_id:
          oneOf:
            - $ref: '#/components/schemas/OrgId'
            - type: 'null'
        is_builtin:
          type: boolean
          example: false
    OrgId:
      description: Unique identifier of an organization in Partoo.
      type: integer
      example: 42
  responses:
    '401':
      description: You are not authenticated
      content:
        application/json:
          schema:
            description: Error that occurs when you are not authenticated
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  authentication:
                    type: string
                    default: User not authenticated
    '403':
      description: |
        You are not allowed to perform this action
      content:
        application/json:
          schema:
            description: >
              Error that occurs when you are authenticated but you are trying to
              perform an action you are not allowed to perform
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  authorization:
                    type: string
                    default: Operation not allowed
  securitySchemes:
    ApiKeyAuth:
      description: >
        The authentication system on Partoo API is using API Key that should be
        put in the header of the request (the name of the header is `x-APIKey`).
        An api_key is linked to a user. This user's role will give you different
        access level to the API features.
      type: apiKey
      in: header
      name: x-APIKey

````