SIMBA Chain Roles API

The Roles API from SIMBA Chain — 6 operation(s) for roles.

Operations 10

GET /roles/ Get Roles #
GET /roles/{role_id} Get Role #
POST /custom_system_roles/ Create Custom System Role #
PUT /custom_system_roles/{role_id} Update Custom System Role #
DELETE /custom_system_roles/{role_id} Delete Custom System Role #
POST /organisations/{organisation_name}/roles/ Create Org Scoped Role #
GET /organisations/{organisation_name}/roles/ Get Org Scoped Roles #
GET /organisations/{organisation_name}/roles/{role_id} Get Org Scoped Role #
PUT /organisations/{organisation_name}/roles/{role_id} Update Org Scoped Role #
DELETE /organisations/{organisation_name}/roles/{role_id} Delete Org Scoped Role #

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/simba-chain-roles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

simba-chain-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Member Service Roles API
  version: 2.10.1
tags:
- name: Roles
paths:
  /roles/:
    get:
      tags:
      - Roles
      summary: Get Roles
      operationId: get_roles_roles__get
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 50
          title: Size
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      - name: is_custom_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Custom Role
      - name: is_global
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Global
      - name: is_org_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Org Role
      - name: is_domain_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Domain Role
      - name: organisation_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Organisation Id
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: created_at
          title: Order By
      - name: permission__name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Name
      - name: permission__description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Description
      - name: permission__effect
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Effect
      - name: permission__service
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Service
      - name: permission__resource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Resource
      - name: permission__action
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Action
      - name: permission__order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: created_at
          title: Permission  Order By
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page_RoleWithFlags_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
  /roles/{role_id}:
    get:
      tags:
      - Roles
      summary: Get Role
      operationId: get_role_roles__role_id__get
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
  /custom_system_roles/:
    post:
      tags:
      - Roles
      summary: Create Custom System Role
      operationId: create_custom_system_role_custom_system_roles__post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomSystemRoleInput'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: string
                format: uuid
                title: Response Create Custom System Role Custom System Roles  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
  /custom_system_roles/{role_id}:
    put:
      tags:
      - Roles
      summary: Update Custom System Role
      operationId: update_custom_system_role_custom_system_roles__role_id__put
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomRoleInput'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: string
                format: uuid
                title: Response Update Custom System Role Custom System Roles  Role Id  Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
    delete:
      tags:
      - Roles
      summary: Delete Custom System Role
      operationId: delete_custom_system_role_custom_system_roles__role_id__delete
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
  /organisations/{organisation_name}/roles/:
    post:
      tags:
      - Roles
      summary: Create Org Scoped Role
      operationId: create_org_scoped_role_organisations__organisation_name__roles__post
      parameters:
      - name: organisation_name
        in: path
        required: true
        schema:
          type: string
          title: Organisation Name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomOrgRoleInput'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: string
                format: uuid
                title: Response Create Org Scoped Role Organisations  Organisation Name  Roles  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
    get:
      tags:
      - Roles
      summary: Get Org Scoped Roles
      operationId: get_org_scoped_roles_organisations__organisation_name__roles__get
      parameters:
      - name: organisation_name
        in: path
        required: true
        schema:
          type: string
          title: Organisation Name
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 50
          title: Size
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      - name: is_custom_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Custom Role
      - name: is_global
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Global
      - name: is_org_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Org Role
      - name: is_domain_role
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Domain Role
      - name: organisation_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Organisation Id
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: created_at
          title: Order By
      - name: permission__name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Name
      - name: permission__description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Description
      - name: permission__effect
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Effect
      - name: permission__service
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Service
      - name: permission__resource
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Resource
      - name: permission__action
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Permission  Action
      - name: permission__order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: created_at
          title: Permission  Order By
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page_RoleWithoutPermissions_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
  /organisations/{organisation_name}/roles/{role_id}:
    get:
      tags:
      - Roles
      summary: Get Org Scoped Role
      operationId: get_org_scoped_role_organisations__organisation_name__roles__role_id__get
      parameters:
      - name: organisation_name
        in: path
        required: true
        schema:
          type: string
          title: Organisation Name
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
    put:
      tags:
      - Roles
      summary: Update Org Scoped Role
      operationId: update_org_scoped_role_organisations__organisation_name__roles__role_id__put
      parameters:
      - name: organisation_name
        in: path
        required: true
        schema:
          type: string
          title: Organisation Name
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomRoleInput'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: string
                format: uuid
                title: Response Update Org Scoped Role Organisations  Organisation Name  Roles  Role Id  Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
    delete:
      tags:
      - Roles
      summary: Delete Org Scoped Role
      operationId: delete_org_scoped_role_organisations__organisation_name__roles__role_id__delete
      parameters:
      - name: organisation_name
        in: path
        required: true
        schema:
          type: string
          title: Organisation Name
      - name: role_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Role Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2AuthorizationCodeBearer: []
components:
  schemas:
    Permission:
      properties:
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        service:
          type: string
          title: Service
        resource:
          type: string
          title: Resource
        action:
          type: string
          title: Action
        is_org_scoped:
          type: boolean
          title: Is Org Scoped
        resource_attributes:
          additionalProperties: true
          type: object
          title: Resource Attributes
        urls:
          items:
            type: string
          type: array
          title: Urls
          default: []
        effect:
          $ref: '#/components/schemas/Effect'
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
      type: object
      required:
      - name
      - description
      - service
      - resource
      - action
      - is_org_scoped
      - resource_attributes
      - effect
      title: Permission
      description: A model representing a permission.
    RoleWithoutPermissions:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        organisation:
          anyOf:
          - $ref: '#/components/schemas/Organisation'
          - type: 'null'
      type: object
      required:
      - name
      title: RoleWithoutPermissions
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Page_RoleWithoutPermissions_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RoleWithoutPermissions'
          type: array
          title: Items
        total:
          type: integer
          minimum: 0.0
          title: Total
        page:
          type: integer
          minimum: 1.0
          title: Page
        size:
          type: integer
          minimum: 1.0
          title: Size
        pages:
          type: integer
          minimum: 0.0
          title: Pages
      type: object
      required:
      - items
      - total
      - page
      - size
      - pages
      title: Page[RoleWithoutPermissions]
    SystemTypes:
      type: string
      enum:
      - ensure
      - build
      - dpp
      - see
      title: SystemTypes
    CreateCustomSystemRoleInput:
      properties:
        is_org_role:
          type: boolean
          title: Is Org Role
        is_domain_role:
          type: boolean
          title: Is Domain Role
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Description
        inherited_roles:
          items:
            type: string
          type: array
          title: Inherited Roles
          default: []
        is_global:
          type: boolean
          title: Is Global
      type: object
      required:
      - is_org_role
      - is_domain_role
      - name
      - is_global
      title: CreateCustomSystemRoleInput
    CreateCustomOrgRoleInput:
      properties:
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Description
        inherited_roles:
          items:
            type: string
          type: array
          title: Inherited Roles
          default: []
      type: object
      required:
      - name
      title: CreateCustomOrgRoleInput
    Organisation:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        name:
          type: string
          title: Name
        display_name:
          type: string
          title: Display Name
        is_domain:
          type: boolean
          title: Is Domain
        system_type:
          anyOf:
          - $ref: '#/components/schemas/SystemTypes'
          - type: 'null'
      type: object
      required:
      - name
      - display_name
      - is_domain
      title: Organisation
      description: 'A model representing an organisation.


        The field `name` is unique.'
    Effect:
      type: string
      enum:
      - allow
      title: Effect
    UpdateCustomRoleInput:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        display_name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Description
        inherited_roles:
          items:
            type: string
          type: array
          title: Inherited Roles
          default: []
      type: object
      title: UpdateCustomRoleInput
    Role:
      properties:
        is_org_role:
          type: boolean
          title: Is Org Role
        is_domain_role:
          type: boolean
          title: Is Domain Role
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Description
        is_global:
          type: boolean
          title: Is Global
        is_custom_role:
          type: boolean
          title: Is Custom Role
        organisation:
          anyOf:
          - $ref: '#/components/schemas/Organisation'
          - type: 'null'
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        inherited_roles:
          items:
            type: string
          type: array
          title: Inherited Roles
        permissions:
          items:
            $ref: '#/components/schemas/Permission'
          type: array
          title: Permissions
      type: object
      required:
      - is_org_role
      - is_domain_role
      - name
      - is_global
      - is_custom_role
      - permissions
      title: Role
      description: A model representing a role.
    Page_RoleWithFlags_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RoleWithFlags'
          type: array
          title: Items
        total:
          type: integer
          minimum: 0.0
          title: Total
        page:
          type: integer
          minimum: 1.0
          title: Page
        size:
          type: integer
          minimum: 1.0
          title: Size
        pages:
          type: integer
          minimum: 0.0
          title: Pages
      type: object
      required:
      - items
      - total
      - page
      - size
      - pages
      title: Page[RoleWithFlags]
    RoleWithFlags:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        name:
          type: string
          title: Name
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        organisation:
          anyOf:
          - $ref: '#/components/schemas/Organisation'
          - type: 'null'
        is_org_role:
          type: boolean
          title: Is Org Role
        is_domain_role:
          type: boolean
          title: Is Domain Role
        is_global:
          type: boolean
          title: Is Global
        is_custom_role:
          type: boolean
          title: Is Custom Role
      type: object
      required:
      - name
      - is_org_role
      - is_domain_role
      - is_global
      - is_custom_role
      title: RoleWithFlags
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
  securitySchemes:
    OAuth2AuthorizationCodeBearer:
      type: oauth2
      flows:
        authorizationCode:
          scopes: {}
          authorizationUrl: https://blocks.simbachain.com/api/member-service-validator/oauth/authorize
          tokenUrl: https://blocks.simbachain.com/api/member-service-validator/oauth/token