NexGen Cloud RBAC Role API

RBAC role endpoints create, list, update, and delete custom roles. A role is a named bundle of permissions that you can assign to organization members. Built-in roles (`admin`, `member`, `viewer`) cover most cases, create custom roles for finer control.

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/nexgen-cloud-rbac-role-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 email required.

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

OpenAPI Specification

nexgen-cloud-rbac-role-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nexgen Cloud RBAC Role API
  version: '1.0'
  description: 'Operations tagged RBAC Role across 2 of this provider''s published API definitions: nexgen-cloud-hyperstack-openapi.json, nexgen-cloud-infrahub-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://infrahub-api.nexgencloud.com/v1
tags:
- name: RBAC Role
  description: RBAC role endpoints create, list, update, and delete custom roles. A role is a named bundle of permissions that you can assign to organization members. Built-in roles (`admin`, `member`, `viewer`) cover most cases, create custom roles for finer control.
paths:
  /auth/roles:
    get:
      tags:
      - RBAC Role
      summary: List RBAC roles
      description: Returns a list of existing [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) roles that can be assigned to users, granting them permissions and policies associated with the role, enabling them to execute specific resource actions.
      operationId: List_RBAC_Roles
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRbacRolesResponseModel'
              example:
                status: true
                message: Getting RBAC roles success
                roles:
                - id: 3287
                  name: example-role
                  description: Example role
                  policies: []
                  permissions: []
                  created_at: '2026-05-06T16:04:09Z'
              examples:
                default:
                  summary: Successful response
                  value:
                    status: true
                    message: Getting RBAC roles success
                    roles:
                    - id: 3287
                      name: example-role
                      description: Example role
                      policies: []
                      permissions: []
                      created_at: '2026-05-06T16:04:09Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              examples: {}
      security:
      - apiKey: []
    post:
      tags:
      - RBAC Role
      summary: Create RBAC role
      description: 'Creates a [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role that can be assigned to users in your organization. Provide the role configuration, including its name, description, and list of permission and policy IDs, in the request body.


        **Required fields:** The request must include at least one valid ID for either the `policies` or `permissions` field.'
      operationId: Create_RBAC_Role
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateRbacRolePayload'
              example:
                name: example-role
                description: Example role
                policies: []
                permissions: []
              properties: {}
            example:
              description: Example role
              name: example-role
              policies: []
              permissions: []
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RbacRoleDetailResponseModel'
              example:
                status: true
                message: Creating RBAC role success
                role:
                  id: 8429
                  name: example-role
                  description: Example role
                  policies: []
                  permissions: []
                  created_at: '2026-05-07T09:21:55Z'
              examples:
                default:
                  summary: Successful response
                  value:
                    status: true
                    message: Creating RBAC role success
                    role:
                      id: 8429
                      name: example-role
                      description: Example role
                      policies: []
                      permissions: []
                      created_at: '2026-05-07T09:21:55Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              examples: {}
      security:
      - apiKey: []
    servers:
    - url: https://infrahub-api.nexgencloud.com/v1
  /auth/roles/{id}:
    get:
      tags:
      - RBAC Role
      summary: Retrieve RBAC role details
      description: Retrieves the details of a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) including the permissions and policies associated with the role. Include the ID of the role in the path to retrieve its details.
      operationId: Retrieve_RBAC_Role_Details
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the role.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RbacRoleDetailResponseModel'
              example:
                status: true
                message: Getting RBAC role detail success
                roles:
                  id: 9876
                  name: example-role
                  description: Example role
                  policies: []
                  permissions: []
                  created_at: '2026-05-07T09:21:55Z'
              examples:
                default:
                  summary: Successful response
                  value:
                    status: true
                    message: Getting RBAC role detail success
                    roles:
                      id: 9876
                      name: example-role
                      description: Example role
                      policies: []
                      permissions: []
                      created_at: '2026-05-07T09:21:55Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              examples: {}
      security:
      - apiKey: []
    put:
      tags:
      - RBAC Role
      summary: Update RBAC role
      description: 'Updates the configuration of a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role, including its permissions, policies, name, and description.


        **Required fields:** The request must include at least one valid ID for either the `policies` or `permissions` field.'
      operationId: Update_RBAC_Role
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the role.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateRbacRolePayload'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RbacRoleDetailResponseModel'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
        '500':
          description: Internal Server Error
          content: {}
      security:
      - apiKey: []
    delete:
      tags:
      - RBAC Role
      summary: Delete RBAC role
      description: Deletes a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role. Include the ID of the role to be deleted in the path.
      operationId: Delete_RBAC_Role
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the role.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonResponseModel'
              example:
                status: true
                message: RBAC Role deleted successfully
              examples:
                default:
                  summary: Successful response
                  value:
                    status: true
                    message: RBAC Role deleted successfully
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
              examples: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              examples: {}
      security:
      - apiKey: []
    servers:
    - url: https://infrahub-api.nexgencloud.com/v1
components:
  schemas:
    CommonResponseModel:
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request succeeded.
          example: false
        message:
          type: string
          description: Human-readable description of the result.
          example: Not found
    RbacRoleDetailResponseModel:
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request succeeded.
          example: true
        message:
          type: string
          description: Human-readable description of the result.
          example: Creating RBAC role success
        role:
          $ref: '#/components/schemas/RbacRoleFields'
          description: Role assigned to nodes in the group, for example, `worker`.
    CreateUpdateRbacRolePayload:
      required:
      - description
      - name
      type: object
      properties:
        description:
          type: string
          description: New description for the RBAC role.
        name:
          maxLength: 200
          type: string
          description: New name for the RBAC role.
        policies:
          type: array
          items:
            type: integer
            description: List of policy IDs.
          description: IDs of the [**policies**](https://docs.hyperstack.cloud/docs/api-reference/list-policies) to assign to the RBAC role.
        permissions:
          type: array
          items:
            type: integer
            description: List of permission IDs.
          description: IDs of the [**permissions**](https://docs.hyperstack.cloud/docs/api-reference/list-permissions) to assign to the RBAC role.
    RbacRoleFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique numeric identifier.
          example: 7613
        name:
          type: string
          description: Name of the RBAC role.
          example: example-role
        description:
          type: string
          description: Human-readable description of the resource.
          example: example
        policies:
          type: array
          items:
            $ref: '#/components/schemas/RolePolicyFields'
          description: Authorization policies assigned to the role.
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/RolePermissionFields'
          description: Permissions granted by the role.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 UTC timestamp marking when the resource was created.
          example: '2026-05-06T15:18:42Z'
    RolePermissionFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique numeric identifier.
        resource:
          type: string
          description: Resource the entry refers to.
        permission:
          type: string
          description: Permission grant on the resource.
    GetRbacRolesResponseModel:
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request succeeded.
          example: true
        message:
          type: string
          description: Human-readable description of the result.
          example: Getting RBAC roles success
        roles:
          type: array
          items:
            $ref: '#/components/schemas/RbacRoleFields'
          description: An array of `roles` objects containing details about the permissions and policies associated with each role.
    RolePolicyFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique numeric identifier.
        name:
          type: string
          description: Name of the policy.
        description:
          type: string
          description: Human-readable description of the resource.
    ErrorResponseModel:
      type: object
      properties:
        status:
          type: boolean
          default: false
          description: Whether the request succeeded.
        message:
          type: string
          description: Human-readable description of the result.
        error_reason:
          type: string
          description: Short machine-readable reason code when the request fails.
    CommonResponseModel_2:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
    RbacRoleDetailResponseModel_2:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        role:
          $ref: '#/components/schemas/RbacRoleFields_2'
    CreateUpdateRbacRolePayload_2:
      required:
      - description
      - name
      type: object
      properties:
        name:
          maxLength: 200
          type: string
          description: Name of the RBAC role.
        description:
          type: string
          description: Description of the role.
        policies:
          type: array
          items:
            type: integer
            description: List of policy IDs.
        permissions:
          type: array
          items:
            type: integer
            description: List of permission IDs.
    RbacRoleFields_2:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        description:
          type: string
        policies:
          type: array
          items:
            $ref: '#/components/schemas/RolePolicyFields_2'
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/RolePermissionFields_2'
        created_at:
          type: string
          format: date-time
    RolePermissionFields_2:
      type: object
      properties:
        id:
          type: integer
        resource:
          type: string
        permission:
          type: string
    GetRbacRolesResponseModel_2:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        roles:
          type: array
          items:
            $ref: '#/components/schemas/RbacRoleFields_2'
    RolePolicyFields_2:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        description:
          type: string
    ErrorResponseModel_2:
      type: object
      properties:
        status:
          type: boolean
          default: false
        message:
          type: string
        error_reason:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      name: api_key
      in: header
      description: 'API-key authentication. Pass your API key as the `api_key` header value (e.g., `api_key: YOUR_API_KEY`, no prefix). [Generate a key in the Hyperstack console](https://console.hyperstack.cloud/api-keys). The key is personal to your user account and works across every environment and region in your organization.'
    accessToken:
      type: apiKey
      description: Bearer Token
      name: Authorization
      in: header
x-refined-from:
- nexgen-cloud-hyperstack-openapi.json
- nexgen-cloud-infrahub-api-openapi.json