Corva AI Alert RBAC API

The AlertRBAC API from Corva AI — 6 operation(s) for alertrbac.

Operations 9

GET /v2/alert_abilities List Assignable Alert Abilities #
GET /v2/companies/{company_id}/alert_roles List Alert Roles #
POST /v2/companies/{company_id}/alert_roles Create Alert Role #
GET /v2/companies/{company_id}/alert_roles/{id} Get Alert Role #
PATCH /v2/companies/{company_id}/alert_roles/{id} Update Alert Role #
DELETE /v2/companies/{company_id}/alert_roles/{id} Delete Alert Role #
PUT /v2/companies/{company_id}/alert_roles/{id}/abilities Replace Alert Role Abilities #
POST /v2/companies/{company_id}/alert_rbac/enable Enable Alert RBAC #
POST /v2/companies/{company_id}/alert_rbac/disable Disable Alert RBAC #

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/corva-ai-alertrbac-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

corva-ai-alertrbac-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2.222.1
  title: Corva Alert RBAC API
  description: 'The Corva API is a powerful interface providing great flexibility and extensibility with Corva. Whether your needs are simple UI visualizations, data entry, replication/sync tasks, real-time stream processing, or complex machine learning CPU-intensive apps, the Corva API is the way to make it happen. Our concepts are split into three distinct silos: data apps, visualization apps, and a REST API'
  termsOfService: https://www.corva.ai/terms-and-conditions/
  contact:
    name: Corva API Team
    email: support@corva.ai
security:
- api_key: []
tags:
- name: AlertRBAC
paths:
  /v2/alert_abilities:
    get:
      summary: List Assignable Alert Abilities
      tags:
      - AlertRBAC
      description: Static, platform-defined catalog of every assignable alert ability with its resource class and a localized display name. Identical for every company; readable by any authenticated user. Used by the matrix UI to render the assignment grid.
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: Ability catalog
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertAbilityCatalog'
      parameters:
      - in: query
        name: locale
        description: Display-name language; unknown/unsupported locales fall back to English
        required: false
        schema:
          type: string
      operationId: getV2AlertAbilities
      x-operation-id-source: derived
  /v2/companies/{company_id}/alert_roles:
    get:
      summary: List Alert Roles
      tags:
      - AlertRBAC
      description: Company-defined alert roles. Gated by `update Company` (company admins only).
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: List of alert roles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRoleList'
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      - in: query
        name: page
        description: Page number
        required: false
        schema:
          type: integer
      - in: query
        name: per_page
        description: Items per page
        required: false
        schema:
          type: integer
      operationId: getV2CompaniesByCompanyIdAlertRoles
      x-operation-id-source: derived
    post:
      summary: Create Alert Role
      tags:
      - AlertRBAC
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: Created alert role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRoleSingle'
        '400':
          description: Validation error (e.g. blank or duplicate name)
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRolePayload'
        required: true
      operationId: postV2CompaniesByCompanyIdAlertRoles
      x-operation-id-source: derived
  /v2/companies/{company_id}/alert_roles/{id}:
    get:
      summary: Get Alert Role
      tags:
      - AlertRBAC
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Role not found in this company
        '200':
          description: Alert role details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRoleSingle'
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: id
        description: Alert role ID
        required: true
        schema:
          type: integer
          format: int64
      operationId: getV2CompaniesByCompanyIdAlertRolesById
      x-operation-id-source: derived
    patch:
      summary: Update Alert Role
      tags:
      - AlertRBAC
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: Updated alert role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRoleSingle'
        '400':
          description: Validation error
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: id
        description: Alert role ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRolePayload'
        required: true
      operationId: patchV2CompaniesByCompanyIdAlertRolesById
      x-operation-id-source: derived
    delete:
      summary: Delete Alert Role
      tags:
      - AlertRBAC
      description: Deletes the role. Rejected with 403 if any group membership still references it (detach members first).
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin, or the role is still assigned to members
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: Deleted
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: id
        description: Alert role ID
        required: true
        schema:
          type: integer
          format: int64
      operationId: deleteV2CompaniesByCompanyIdAlertRolesById
      x-operation-id-source: derived
  /v2/companies/{company_id}/alert_roles/{id}/abilities:
    put:
      summary: Replace Alert Role Abilities
      tags:
      - AlertRBAC
      description: Atomically replaces the full set of ability grants on the role. A single invalid entry rolls back the whole change and leaves the prior matrix intact. An explicit empty array clears every grant; a missing or malformed `abilities` key is rejected with 400.
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: Role with its updated abilities
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRoleSingle'
        '400':
          description: Missing or malformed abilities payload, or an ability is not valid for its resource class; no change applied
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: id
        description: Alert role ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRoleAbilitiesPayload'
        required: true
      operationId: putV2CompaniesByCompanyIdAlertRolesByIdAbilities
      x-operation-id-source: derived
  /v2/companies/{company_id}/alert_rbac/enable:
    post:
      summary: Enable Alert RBAC
      tags:
      - AlertRBAC
      description: Turns on per-company alert RBAC enforcement. Rejected with 422 unless at least one alert role exists, so a company can never lock every alert action.
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: RBAC enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRbacStatus'
        '422':
          description: No alert role exists yet
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      operationId: postV2CompaniesByCompanyIdAlertRbacEnable
      x-operation-id-source: derived
  /v2/companies/{company_id}/alert_rbac/disable:
    post:
      summary: Disable Alert RBAC
      tags:
      - AlertRBAC
      description: Turns off enforcement. Always permitted (independent of RBAC state) so a company can never lock itself out.
      responses:
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Caller is not a company admin
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '200':
          description: RBAC disabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRbacStatus'
      parameters:
      - in: path
        name: company_id
        description: Company ID
        required: true
        schema:
          type: integer
          format: int64
      operationId: postV2CompaniesByCompanyIdAlertRbacDisable
      x-operation-id-source: derived
components:
  schemas:
    AuthorizationError:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      example:
        code: 403
        message: Access denied
    NotFoundError:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      example:
        code: 404
        message: Not found
    AlertRolePayload:
      properties:
        alert_role:
          type: object
          required:
          - name
          properties:
            name:
              type: string
            description:
              type: string
    AlertAbilityCatalogItem:
      required:
      - resource_class
      - ability
      - name
      properties:
        resource_class:
          type: string
          description: Resource the ability applies to
          enum:
          - Alert
        ability:
          type: string
          description: Assignable ability key (e.g. acknowledge, close, escalate)
        name:
          type: string
          description: Localized display name for the matrix UI
    AuthenticationError:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      example:
        code: 401
        message: Missing authentication. Please try again.
    AlertRole:
      properties:
        id:
          type: string
        type:
          type: string
          description: Always 'alert_role'
        attributes:
          type: object
          required:
          - id
          - name
          - company_id
          properties:
            id:
              type: integer
              format: int64
            name:
              type: string
            description:
              type: string
            company_id:
              type: integer
              format: int64
            member_count:
              type: integer
              description: Number of group memberships assigned this role
            abilities:
              type: array
              description: The ability grants attached to this role
              items:
                properties:
                  ability:
                    type: string
                  resource_class:
                    type: string
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
    AlertRoleAbilitiesPayload:
      properties:
        abilities:
          type: array
          description: Full replacement set of ability grants for the role; applied atomically
          items:
            required:
            - ability
            - resource_class
            properties:
              ability:
                type: string
                description: Ability key from the catalog (GET /v2/alert_abilities)
              resource_class:
                type: string
                description: Resource class for the ability
                enum:
                - Alert
    AlertAbilityCatalog:
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AlertAbilityCatalogItem'
    AlertRoleList:
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AlertRole'
    AlertRoleSingle:
      properties:
        data:
          type: object
          $ref: '#/components/schemas/AlertRole'
    AlertRbacStatus:
      properties:
        alert_rbac_enabled:
          type: boolean
          description: Whether per-company alert RBAC enforcement is on
  securitySchemes:
    api_key:
      type: apiKey
      name: authorization
      in: header