TextQL RBAC Service API

RBAC service for managing roles, permissions, and access control

Operations 37

POST /textql.rpc.public.rbac.RBACService/ApproveAccessRequest ApproveAccessRequest #
POST /textql.rpc.public.rbac.RBACService/AssignPermissionToRole AssignPermissionToRole #
POST /textql.rpc.public.rbac.RBACService/AssignRoleToMember AssignRoleToMember #
POST /textql.rpc.public.rbac.RBACService/CreateApiKey CreateApiKey #
POST /textql.rpc.public.rbac.RBACService/CreatePersonalApiKey CreatePersonalApiKey #
POST /textql.rpc.public.rbac.RBACService/CreateRole Role management #
POST /textql.rpc.public.rbac.RBACService/CreateServiceAccount CreateServiceAccount #
POST /textql.rpc.public.rbac.RBACService/CreateServiceAccountApiKey CreateServiceAccountApiKey #
POST /textql.rpc.public.rbac.RBACService/DeleteRole DeleteRole #
POST /textql.rpc.public.rbac.RBACService/DeleteServiceAccount DeleteServiceAccount #
POST /textql.rpc.public.rbac.RBACService/GetCurrentMemberRolesAndPermissions GetCurrentMemberRolesAndPermissions #
POST /textql.rpc.public.rbac.RBACService/GetEmbedUserApiKey GetEmbedUserApiKey #
POST /textql.rpc.public.rbac.RBACService/GetMemberRoles GetMemberRoles #
POST /textql.rpc.public.rbac.RBACService/GetObjectAccess GetObjectAccess #
POST /textql.rpc.public.rbac.RBACService/GetRole GetRole #
POST /textql.rpc.public.rbac.RBACService/GetRolePermissions GetRolePermissions #
POST /textql.rpc.public.rbac.RBACService/HasObjectAccess HasObjectAccess #
POST /textql.rpc.public.rbac.RBACService/ListAccessRequests ListAccessRequests #
POST /textql.rpc.public.rbac.RBACService/ListApiKeys ListApiKeys #
POST /textql.rpc.public.rbac.RBACService/ListPermissions Permission management #
POST /textql.rpc.public.rbac.RBACService/ListRoles ListRoles #
POST /textql.rpc.public.rbac.RBACService/ListServiceAccounts ListServiceAccounts #
POST /textql.rpc.public.rbac.RBACService/RejectAccessRequest SCIM group-mapping migration tooling: one-time rolegroup conversion, internal… #
POST /textql.rpc.public.rbac.RBACService/RemovePermissionFromRole RemovePermissionFromRole #
POST /textql.rpc.public.rbac.RBACService/RemoveRoleFromMember Member role assignment #
POST /textql.rpc.public.rbac.RBACService/RequestAccess RequestAccess #
POST /textql.rpc.public.rbac.RBACService/RevokeApiKey Object sharing and access control #
POST /textql.rpc.public.rbac.RBACService/RevokeObjectAccess RevokeObjectAccess #
POST /textql.rpc.public.rbac.RBACService/RotateApiKey RotateApiKey #
POST /textql.rpc.public.rbac.RBACService/SetRolePermissions Bulk add/remove permissions on a role in one call, producing a single audit… #
POST /textql.rpc.public.rbac.RBACService/ShareObject Describe what a key is allowed to do #
POST /textql.rpc.public.rbac.RBACService/ShareObjectWithRole Group management. Internal only #
POST /textql.rpc.public.rbac.RBACService/UpdateObjectAccess UpdateObjectAccess #
POST /textql.rpc.public.rbac.RBACService/UpdateObjectVisibility UpdateObjectVisibility #
POST /textql.rpc.public.rbac.RBACService/UpdateRole UpdateRole #
POST /textql.rpc.public.rbac.RBACService/WhoAmI Get current member roles and permissions #

Documentation

Specifications

Other Resources

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/textql-rbac-service-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

textql-rbac-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TextQL RBAC Service API
  version: 1.0.0
  description: 'TextQL public API. Generated from protobuf service definitions; internal

    endpoints are excluded via google.api.visibility / file_visibility.'
servers:
- url: https://app.textql.com/rpc/public
security:
- apiKey: []
tags:
- name: RBAC Service
  description: RBAC service for managing roles, permissions, and access control
paths:
  /textql.rpc.public.rbac.RBACService/ApproveAccessRequest:
    post:
      tags:
      - RBAC Service
      summary: ApproveAccessRequest
      operationId: RBACService_ApproveAccessRequest
      x-speakeasy-group: rbac
      x-speakeasy-name-override: approveAccessRequest
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.ApproveAccessRequestRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.ApproveAccessRequestResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.approveAccessRequest({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.approve_access_request()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/AssignPermissionToRole:
    post:
      tags:
      - RBAC Service
      summary: AssignPermissionToRole
      operationId: RBACService_AssignPermissionToRole
      x-speakeasy-group: rbac
      x-speakeasy-name-override: assignPermissionToRole
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.AssignPermissionToRoleRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.AssignPermissionToRoleResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.assignPermissionToRole({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.assign_permission_to_role()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/AssignRoleToMember:
    post:
      tags:
      - RBAC Service
      summary: AssignRoleToMember
      operationId: RBACService_AssignRoleToMember
      x-speakeasy-group: rbac
      x-speakeasy-name-override: assignRoleToMember
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.AssignRoleToMemberRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.AssignRoleToMemberResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.assignRoleToMember({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.assign_role_to_member()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/CreateApiKey:
    post:
      tags:
      - RBAC Service
      summary: CreateApiKey
      operationId: RBACService_CreateApiKey
      x-speakeasy-group: rbac
      x-speakeasy-name-override: createApiKey
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.CreateApiKeyRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.CreateApiKeyResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.createApiKey({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.create_api_key()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/CreatePersonalApiKey:
    post:
      tags:
      - RBAC Service
      summary: CreatePersonalApiKey
      operationId: RBACService_CreatePersonalApiKey
      x-speakeasy-group: rbac
      x-speakeasy-name-override: createPersonalApiKey
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.CreatePersonalApiKeyRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.CreateApiKeyResult'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.createPersonalApiKey({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.create_personal_api_key()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/CreateRole:
    post:
      tags:
      - RBAC Service
      summary: Role management
      operationId: RBACService_CreateRole
      x-speakeasy-group: rbac
      x-speakeasy-name-override: createRole
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.CreateRoleRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.CreateRoleResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.createRole({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.create_role()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/CreateServiceAccount:
    post:
      tags:
      - RBAC Service
      summary: CreateServiceAccount
      operationId: RBACService_CreateServiceAccount
      x-speakeasy-group: rbac
      x-speakeasy-name-override: createServiceAccount
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.CreateServiceAccountRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.CreateServiceAccountResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.createServiceAccount({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.create_service_account()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/CreateServiceAccountApiKey:
    post:
      tags:
      - RBAC Service
      summary: CreateServiceAccountApiKey
      operationId: RBACService_CreateServiceAccountApiKey
      x-speakeasy-group: rbac
      x-speakeasy-name-override: createServiceAccountApiKey
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.CreateServiceAccountApiKeyRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.CreateApiKeyResult'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.createServiceAccountApiKey({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.create_service_account_api_key()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/DeleteRole:
    post:
      tags:
      - RBAC Service
      summary: DeleteRole
      operationId: RBACService_DeleteRole
      x-speakeasy-group: rbac
      x-speakeasy-name-override: deleteRole
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.DeleteRoleRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.DeleteRoleResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.deleteRole({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.delete_role()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/DeleteServiceAccount:
    post:
      tags:
      - RBAC Service
      summary: DeleteServiceAccount
      operationId: RBACService_DeleteServiceAccount
      x-speakeasy-group: rbac
      x-speakeasy-name-override: deleteServiceAccount
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.DeleteServiceAccountRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.DeleteServiceAccountResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.deleteServiceAccount({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.delete_service_account()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GenerateShareLink:
    post:
      tags:
      - RBAC Service
      summary: GenerateShareLink
      operationId: RBACService_GenerateShareLink
      x-speakeasy-group: rbac
      x-speakeasy-name-override: generateShareLink
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GenerateShareLinkRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GenerateShareLinkResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.generateShareLink({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.generate_share_link()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetCurrentMemberRolesAndPermissions:
    post:
      tags:
      - RBAC Service
      summary: GetCurrentMemberRolesAndPermissions
      operationId: RBACService_GetCurrentMemberRolesAndPermissions
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getCurrentMemberRolesAndPermissions
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetCurrentMemberRolesAndPermissionsRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetCurrentMemberRolesAndPermissionsResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getCurrentMemberRolesAndPermissions({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_current_member_roles_and_permissions(body={})\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetEmbedUserApiKey:
    post:
      tags:
      - RBAC Service
      summary: GetEmbedUserApiKey
      operationId: RBACService_GetEmbedUserApiKey
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getEmbedUserApiKey
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetEmbedUserApiKeyRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetEmbedUserApiKeyResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getEmbedUserApiKey({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_embed_user_api_key()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetMemberRoles:
    post:
      tags:
      - RBAC Service
      summary: GetMemberRoles
      operationId: RBACService_GetMemberRoles
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getMemberRoles
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetMemberRolesRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetMemberRolesResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getMemberRoles({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_member_roles()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetObjectAccess:
    post:
      tags:
      - RBAC Service
      summary: GetObjectAccess
      operationId: RBACService_GetObjectAccess
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getObjectAccess
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetObjectAccessRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetObjectAccessResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getObjectAccess({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_object_access()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetRole:
    post:
      tags:
      - RBAC Service
      summary: GetRole
      operationId: RBACService_GetRole
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getRole
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetRoleRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetRoleResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getRole({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_role()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/GetRolePermissions:
    post:
      tags:
      - RBAC Service
      summary: GetRolePermissions
      operationId: RBACService_GetRolePermissions
      x-speakeasy-group: rbac
      x-speakeasy-name-override: getRolePermissions
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.GetRolePermissionsRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.GetRolePermissionsResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n  apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await textql.rbac.getRolePermissions({\n    body: {},\n  });\n\n  console.log(result);\n}\n\nrun();"
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n    api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n    res = textql.rbac.get_role_permissions()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.rbac.RBACService/HasObjectAccess:
    post:
      tags:
      - RBAC Service
      summary: HasObjectAccess
      operationId: RBACService_HasObjectAccess
      x-speakeasy-group: rbac
      x-speakeasy-name-override: hasObjectAccess
      parameters:
      - name: Connect-Protocol-Version
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/connect-protocol-version'
      - name: Connect-Timeout-Ms
        in: header
        schema:
          $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/textql.rpc.public.rbac.HasObjectAccessRequest'
        required: true
      responses:
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/textql.rpc.public.rbac.HasObjectAccessResponse'
      x-codeSamples:
      - lang: typescript
        label: TypeScript (SDK)
        source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({

# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/textql/refs/heads/main/openapi/textql-rbac-service-api-openapi.yml