Gloat Roles API

The Roles API from Gloat — 4 operation(s) for roles.

Operations 9

GET /api/authorization/v1/roles Get all roles #
POST /api/authorization/v1/roles Create role #
GET /api/authorization/v1/roles/{role_id} Get role by ID #
PATCH /api/authorization/v1/roles/{role_id} Update role #
DELETE /api/authorization/v1/roles/{role_id} Delete role #
GET /api/authorization/v1/roles/{role_id}/users Get users by role #
POST /api/authorization/v1/roles/{role_id}/users Assign role to multiple users #
POST /api/authorization/v1/roles/{role_id}/users/{user_id} Assign role to user #
DELETE /api/authorization/v1/roles/{role_id}/users/{user_id} Revoke role #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-role-get-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-role-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-group-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-role-request-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-access-rule-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-paginated-apiresponse-access-rule-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-xapi-action-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-xapi-statement-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-application-file-status-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-application-get-schema-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-certification-get-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-identity-provider-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-api-key-get-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-api-key-read-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-learning-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-user-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-project-role-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-project-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-detail-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-code-read-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-code-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-code-write-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-simple-retrieval-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-title-read-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gloat/refs/heads/main/json-schema/gloat-job-title-write-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gloat:gloat-roles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gloat-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Authorization Roles API
  version: 0.1.0
tags:
- name: Roles
paths:
  /api/authorization/v1/roles:
    get:
      tags:
      - Roles
      summary: Get all roles
      description: Retrieve a list of all existing roles.
      operationId: get_all_roles_api_authorization_v1_roles_get
      security:
      - HTTPBearer: []
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 5000
          default: 20
          title: Limit
      - name: include_count
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Count
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAPIResponse_RoleGetResponse_'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Roles
      summary: Create role
      description: Create a new role.
      operationId: create_role_api_authorization_v1_roles_post
      security:
      - HTTPBearer: []
      parameters:
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleRequestBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/authorization/v1/roles/{role_id}:
    get:
      tags:
      - Roles
      summary: Get role by ID
      description: Retrieve details of a specific role.
      operationId: get_role_api_authorization_v1_roles__role_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleGetResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Roles
      summary: Update role
      description: Update an existing role (name, description, or permissions).
      operationId: update_role_api_authorization_v1_roles__role_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleRequestBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Roles
      summary: Delete role
      description: Delete a role.
      operationId: delete_role_api_authorization_v1_roles__role_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/authorization/v1/roles/{role_id}/users:
    get:
      tags:
      - Roles
      summary: Get users by role
      description: Return all users who have this role (direct or dynamic).
      operationId: get_role_users_api_authorization_v1_roles__role_id__users_get
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: assignment_type
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/RoleAssignmentType'
          description: Filter by user assignment type (Dynamic, Direct, or All)
          default: All
        description: Filter by user assignment type (Dynamic, Direct, or All)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 5000
          default: 20
          title: Limit
      - name: include_count
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Count
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAPIResponse_dict_'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Roles
      summary: Assign role to multiple users
      description: Assign a role to multiple users.
      operationId: assign_role_to_multiple_users_api_authorization_v1_roles__role_id__users_post
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleMultipleUsersAssignmentRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleMultipleUsersAssignmentResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/authorization/v1/roles/{role_id}/users/{user_id}:
    post:
      tags:
      - Roles
      summary: Assign role to user
      description: Assign a role to a single user.
      operationId: assign_role_to_user_api_authorization_v1_roles__role_id__users__user_id__post
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the user
          title: User Id
        description: The unique identifier of the user
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleUserAssignmentResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Roles
      summary: Revoke role
      description: Remove one user from a role.
      operationId: revoke_user_from_role_api_authorization_v1_roles__role_id__users__user_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the role
          title: Role Id
        description: The unique identifier of the role
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          description: The unique identifier of the user
          title: User Id
        description: The unique identifier of the user
      - name: validate_company_exists
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Validate Company Exists
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleUserAssignmentResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    RoleAssignmentType:
      type: string
      enum:
      - Dynamic
      - Direct
      - All
      title: RoleAssignmentType
    RoleMetadataUserFacingEntry:
      properties:
        key:
          type: string
          title: Key
        value:
          anyOf:
          - type: string
          - type: 'null'
          title: Value
      type: object
      required:
      - key
      title: RoleMetadataUserFacingEntry
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    PaginatedAPIResponse_dict_:
      properties:
        items:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Items
        page:
          type: integer
          title: Page
        has_next:
          type: boolean
          title: Has Next
        total_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Count
      type: object
      required:
      - page
      - has_next
      title: PaginatedAPIResponse[dict]
    RoleMultipleUsersAssignmentRequest:
      properties:
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
          default: []
      type: object
      title: RoleMultipleUsersAssignmentRequest
    RoleRequestBody:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        permissions:
          anyOf:
          - items:
              $ref: '#/components/schemas/PermissionRequestBody'
            type: array
          - type: 'null'
          title: Permissions
        role_metadata:
          anyOf:
          - items:
              $ref: '#/components/schemas/RoleMetadataUserFacingEntry'
            type: array
          - type: 'null'
          title: Role Metadata
      type: object
      title: RoleRequestBody
    ErrorResponse:
      properties:
        status:
          type: string
          title: Status
          default: error
        message:
          type: string
          title: Message
        code:
          type: string
          title: Code
      type: object
      required:
      - message
      - code
      title: ErrorResponse
    RoleGetResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          default: ''
        is_ootb_role:
          type: boolean
          title: Is Ootb Role
        num_members:
          type: integer
          title: Num Members
        permissions:
          items:
            $ref: '#/components/schemas/PermissionResponse'
          type: array
          title: Permissions
          default: []
        role_metadata:
          anyOf:
          - items:
              $ref: '#/components/schemas/RoleMetadataUserFacingEntry'
            type: array
          - type: 'null'
          title: Role Metadata
        date_created:
          type: string
          title: Date Created
      type: object
      required:
      - id
      - name
      - is_ootb_role
      - num_members
      - date_created
      title: RoleGetResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RoleResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          default: ''
        is_ootb_role:
          type: boolean
          title: Is Ootb Role
        num_members:
          type: integer
          title: Num Members
        permissions:
          items:
            $ref: '#/components/schemas/PermissionRequestBody'
          type: array
          title: Permissions
          default: []
        role_metadata:
          anyOf:
          - items:
              $ref: '#/components/schemas/RoleMetadataUserFacingEntry'
            type: array
          - type: 'null'
          title: Role Metadata
        date_created:
          type: string
          title: Date Created
      type: object
      required:
      - id
      - name
      - is_ootb_role
      - num_members
      - date_created
      title: RoleResponse
    RoleUserAssignmentResponse:
      properties:
        role_id:
          type: string
          title: Role Id
        user_id:
          type: string
          title: User Id
      type: object
      required:
      - role_id
      - user_id
      title: RoleUserAssignmentResponse
    PermissionResponse:
      properties:
        id:
          type: string
          title: Id
        access:
          type: string
          title: Access
      type: object
      required:
      - id
      - access
      title: PermissionResponse
    PaginatedAPIResponse_RoleGetResponse_:
      properties:
        items:
          anyOf:
          - items:
              $ref: '#/components/schemas/RoleGetResponse'
            type: array
          - type: 'null'
          title: Items
        page:
          type: integer
          title: Page
        has_next:
          type: boolean
          title: Has Next
        total_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Count
      type: object
      required:
      - page
      - has_next
      title: PaginatedAPIResponse[RoleGetResponse]
    RoleMultipleUsersAssignmentResponse:
      properties:
        id:
          type: string
          title: Id
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
          default: []
      type: object
      required:
      - id
      title: RoleMultipleUsersAssignmentResponse
    PermissionRequestBody:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        access:
          type: string
          title: Access
      type: object
      required:
      - id
      - access
      title: PermissionRequestBody
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-provenance:
  method: searched
  source: https://developer.gloat.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developer.gloat.com/reference/assign_role_to_multiple_users_api_authorization_v1_roles__role_id__users_post.md
  - https://developer.gloat.com/reference/assign_role_to_user_api_authorization_v1_roles__role_id__users__user_id__post.md
  - https://developer.gloat.com/reference/create_role_api_authorization_v1_roles_post.md
  - https://developer.gloat.com/reference/delete_role_api_authorization_v1_roles__role_id__delete.md
  - https://developer.gloat.com/reference/get_access_rule_api_authorization_v1_access_rules__access_rule_id__get.md
  - https://developer.gloat.com/reference/get_access_rules_api_authorization_v1_access_rules_get.md
  - https://developer.gloat.com/reference/get_admin_console_access_api_authorization_v1_admin_console_access_get.md
  - https://developer.gloat.com/reference/get_all_available_permissions_api_authorization_v1_permissions_get.md
  - https://developer.gloat.com/reference/get_all_groups_api_authorization_v1_groups_get.md
  - https://developer.gloat.com/reference/get_all_roles_api_authorization_v1_roles_get.md
  - https://developer.gloat.com/reference/get_group_api_authorization_v1_groups__group_id__get.md
  - https://developer.gloat.com/reference/get_group_users_api_authorization_v1_groups__group_id__users_get.md
  - https://developer.gloat.com/reference/get_permission_users_api_authorization_v1_permissions__permission__users_get.md
  - https://developer.gloat.com/reference/get_role_api_authorization_v1_roles__role_id__get.md
  - https://developer.gloat.com/reference/get_role_users_api_authorization_v1_roles__role_id__users_get.md
  - https://developer.gloat.com/reference/get_user_api_authorization_v1_users__user_id__get.md
  - https://developer.gloat.com/reference/revoke_user_from_role_api_authorization_v1_roles__role_id__users__user_id__delete.md
  - https://developer.gloat.com/reference/update_role_api_authorization_v1_roles__role_id__patch.md
  merge:
    pages: 18
    deduped: 89
    conflicts_kept_first: 0