Gloat Roles API
The Roles API from Gloat — 4 operation(s) for roles.
The Roles API from Gloat — 4 operation(s) for roles.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/gloat:gloat-roles-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 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