NimbusNexus V1:keystone:roles API
The v1:keystone:roles API from NimbusNexus — 5 operation(s) for v1:keystone:roles.
The v1:keystone:roles API from NimbusNexus — 5 operation(s) for v1:keystone: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/nimbusnexus:nimbusnexus-v1-keystone-roles-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: NimbusNexus API — External V1:keystone:roles API
description: 'External (public) API intended for client-facing integrations and the web portal.
Authentication:
- This API uses JWT Bearer authentication.
- In Swagger UI, click ''Authorize'' and sign in via the configured token endpoint.
- Swagger will automatically attach the header: Authorization: Bearer .'
version: test
servers:
- url: /
description: Current host
- url: https://fastapi.dev.nimbusnexus.net
description: Development
security:
- SwaggerLogin: []
- ApiKeyAuth: []
tags:
- name: v1:keystone:roles
paths:
/api/v1/roles/assignments:
get:
tags:
- v1:keystone:roles
summary: Get Role Assignments
description: List role assignments visible in the caller's scope, including direct user, group-derived and domain-level assignments.
operationId: get_role_assignments_api_v1_roles_assignments_get
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: admin_domain
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Admin Domain
- name: admin_project
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Admin Project
- name: role
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Role
- name: user
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User
- name: group
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Group
- name: project
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Project
- name: domain
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Domain
- name: system
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: System
- name: effective
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
default: false
title: Effective
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RoleAssignmentSuccessOut'
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
/api/v1/roles/grant:
post:
tags:
- v1:keystone:roles
summary: Grant Role
description: Grant one or more roles to users or groups on the specified system, domain or project targets.
operationId: grant_role_api_v1_roles_grant_post
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/website__schemas__api__roles_base__Assignment'
type: array
title: Json Body
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseSuccessOutBase'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Forbidden
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
code: 429
message: Too many requests
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Internal Server Error
security:
- SwaggerLogin: []
- ApiKeyAuth: []
/api/v1/roles/revoke:
post:
tags:
- v1:keystone:roles
summary: Revoke Role
description: Revoke one or more roles from users or groups on the specified system, domain or project targets.
operationId: revoke_role_api_v1_roles_revoke_post
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/website__schemas__api__roles_base__Assignment'
type: array
title: Json Body
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseSuccessOutBase'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Forbidden
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
code: 429
message: Too many requests
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Internal Server Error
security:
- SwaggerLogin: []
- ApiKeyAuth: []
/api/v1/roles/:
get:
tags:
- v1:keystone:roles
summary: List Roles
description: List roles available to the caller, combining workspace-scoped and global roles, with optional name search.
operationId: list_roles_api_v1_roles__get
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: search
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Search
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RolesSuccessOut'
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
post:
tags:
- v1:keystone:roles
summary: Create Role
description: Create a new role within the caller's workspace.
operationId: create_role_api_v1_roles__post
security:
- SwaggerLogin: []
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRole'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RoleSuccessOut'
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
/api/v1/roles/{role_id}:
get:
tags:
- v1:keystone:roles
summary: Get Role
description: Retrieve a single role by ID, scoped to the caller's workspace or global roles.
operationId: get_role_api_v1_roles__role_id__get
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: role_id
in: path
required: true
schema:
type: string
title: Role Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RoleSuccessOut'
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
patch:
tags:
- v1:keystone:roles
summary: Update Role
description: Update the name or description of a role within the caller's workspace.
operationId: update_role_api_v1_roles__role_id__patch
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: role_id
in: path
required: true
schema:
type: string
title: Role Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRole'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RoleSuccessOut'
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
delete:
tags:
- v1:keystone:roles
summary: Delete Role
description: Delete a workspace-scoped role by ID.
operationId: delete_role_api_v1_roles__role_id__delete
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: role_id
in: path
required: true
schema:
type: string
title: Role Id
responses:
'204':
description: Successful Response
'422':
description: Validation error
content:
application/json:
example:
success: false
errors:
field:
- Invalid value
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
'400':
description: Bad Request
content:
application/json:
example:
success: false
message: Bad Request
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'401':
description: Unauthorized
content:
application/json:
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'403':
description: Forbidden
content:
application/json:
example:
success: false
message: Forbidden
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'404':
description: Not Found
content:
application/json:
example:
success: false
message: Not Found
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'409':
description: Conflict
content:
application/json:
example:
success: false
message: Conflict
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
example:
code: 429
message: Too many requests
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
components:
schemas:
UpdateRole:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
type: object
title: UpdateRole
CreateRole:
properties:
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
type: object
required:
- name
title: CreateRole
website__schemas__api__roles_base__Assignment:
properties:
role:
type: string
title: Role
user:
anyOf:
- type: string
- type: 'null'
title: User
group:
anyOf:
- type: string
- type: 'null'
title: Group
project:
anyOf:
- type: string
- type: 'null'
title: Project
domain:
anyOf:
- type: string
- type: 'null'
title: Domain
system:
anyOf:
- type: string
- type: 'null'
title: System
type: object
required:
- role
title: Assignment
RolesSuccessOut:
properties:
success:
type: boolean
title: Success
default: true
data:
items:
$ref: '#/components/schemas/Role'
type: array
title: Data
type: object
required:
- data
title: RolesSuccessOut
ResponseBaseErrorOut:
properties:
success:
type: boolean
title: Success
default: false
message:
type: string
title: Message
type: object
required:
- message
title: ResponseBaseErrorOut
ResponseSuccessOutBase:
properties:
success:
type: boolean
title: Success
default: true
type: object
title: ResponseSuccessOutBase
ResponseValidationErrorOut:
properties:
success:
type: boolean
title: Success
default: false
errors:
additionalProperties:
items:
type: string
type: array
type: object
title: Errors
type: object
required:
- errors
title: ResponseValidationErrorOut
RoleSuccessOut:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/Role'
type: object
required:
- data
title: RoleSuccessOut
RoleAssignmentSuccessOut:
properties:
success:
type: boolean
title: Success
default: true
data:
items:
type: object
type: array
title: Data
type: object
required:
- data
title: RoleAssignmentSuccessOut
Role:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
is_global:
type: boolean
title: Is Global
default: false
type: object
required:
- id
- name
title: Role
securitySchemes:
HTTPBearer:
type: http
scheme: bearer
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key
SwaggerLogin:
type: oauth2
flows:
password:
tokenUrl: /api/v1/account/login_swagger
scopes: {}
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API Key format - base64('<id>:<secret>')