Certifyos Role API

Endpoints for managing roles.

Business capability
Identity & Access Management BC-620.20

Operations 8

GET /roles Get All Roles #
POST /roles Create Role #
PATCH /roles/{roleId} Update Role #
GET /roles/{roleId} Get Role by ID #
DELETE /roles/{roleId} Delete Role #
GET /roles/{roleId}/permissions Get Role Permissions #
POST /roles/{roleId}/permissions Add Permissions to Role #
PATCH /roles/{roleId}/permissions/bulk Bulk Update Role Permissions #

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/certifyos-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

certifyos-role-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Certify application
  title: Certify API Layer Role API
  version: 1.0.0
servers:
- url: http://localhost:9000
  description: Local Development Server
- url: https://api-service.staging.certifyos.com
  description: Staging Server
- url: https://api-service.internal.certifyos.com
  description: Internal Server
- url: https://api-service.test.certifyos.com
  description: Test Server
- url: https://api-service.demo.certifyos.com
  description: Demo Server
- url: https://api-service.certifyos.com
  description: Production Server
tags:
- name: Role
  description: Endpoints for managing roles.
paths:
  /roles:
    get:
      summary: Get All Roles
      description: Returns all roles for the current tenant
      operationId: getAllRoles
      tags:
      - Role
      parameters:
      - name: tenant-id
        in: header
        schema:
          type: string
      responses:
        '200':
          description: Roles retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleListResponseDto'
        '400':
          description: Bad request - Invalid request parameters or missing required headers
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to read roles
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
    post:
      summary: Create Role
      description: Creates a new role
      operationId: createRole
      tags:
      - Role
      parameters:
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleCreateRequest'
        required: true
      responses:
        '201':
          description: Role created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponseDto'
        '400':
          description: Bad request - Invalid request data or missing required fields
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to create roles
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
  /roles/{roleId}:
    patch:
      summary: Update Role
      description: Updates an existing role
      operationId: updateRole
      tags:
      - Role
      parameters:
      - name: roleId
        in: path
        required: true
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleUpdateRequest'
        required: true
      responses:
        '200':
          description: Role updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponseDto'
        '400':
          description: Bad request - Invalid request parameters or missing required headers
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to update roles
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
    get:
      summary: Get Role by ID
      description: Retrieves a specific role by its ID
      operationId: getRoleById
      tags:
      - Role
      parameters:
      - description: ID of Role to fetch
        required: true
        name: roleId
        in: path
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      responses:
        '200':
          description: Role retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponseDto'
        '400':
          description: Bad request - Invalid request parameters or missing required headers
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to read roles
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
    delete:
      summary: Delete Role
      description: Deletes a role by its ID
      operationId: deleteRole
      tags:
      - Role
      parameters:
      - name: roleId
        in: path
        required: true
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      responses:
        '204':
          description: Role deleted successfully
        '400':
          description: Bad request - Invalid request parameters or missing required headers
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to delete roles
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
  /roles/{roleId}/permissions:
    get:
      summary: Get Role Permissions
      description: Returns all permissions assigned to a role with permission details
      operationId: getRolePermissions
      tags:
      - Role
      parameters:
      - name: roleId
        in: path
        required: true
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      responses:
        '200':
          description: Permissions retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionResponseDto'
        '400':
          description: Bad request - Invalid request parameters or missing required headers
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to read role permissions
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
    post:
      summary: Add Permissions to Role
      description: Adds permissions to a role without removing existing ones
      operationId: addRolePermissions
      tags:
      - Role
      parameters:
      - name: roleId
        in: path
        required: true
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RolePermissionAddRequest'
        required: true
      responses:
        '200':
          description: Permissions added successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionResponseDto'
        '400':
          description: Bad request - Invalid request data or missing required fields
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to update role permissions
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
  /roles/{roleId}/permissions/bulk:
    patch:
      summary: Bulk Update Role Permissions
      description: Adds and/or removes permissions from a role in a single operation. Returns all permissions with details.
      operationId: bulkUpdateRolePermissions
      tags:
      - Role
      parameters:
      - name: roleId
        in: path
        required: true
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RolePermissionBulkUpdateRequest'
        required: true
      responses:
        '200':
          description: Permissions updated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionResponseDto'
        '400':
          description: Bad request - Invalid request data or missing required fields
        '401':
          description: Authentication required - Valid authentication token is missing or invalid
        '403':
          description: Forbidden - User does not have the required permissions to update role permissions
        '404':
          description: Role not found - The specified role ID does not exist
        '500':
          description: Internal server error - An unexpected error occurred while processing the request
      security:
      - jwt: []
components:
  schemas:
    PageLinks1:
      type: object
      properties:
        self:
          type: string
        next:
          type: string
        prev:
          type: string
    RoleResponseDto:
      type: object
      description: Role information response
      properties:
        id:
          type: string
          description: Role ID
          examples:
          - role-123-456-789
        name:
          type: string
          description: Role name
          examples:
          - Business Admin
        tenantId:
          type: string
          description: Tenant ID
          examples:
          - tenant-123-456-789
        description:
          type: string
          description: Role description
          examples:
          - Full access to all operations
        createdAt:
          description: Creation timestamp
          type: string
          $ref: '#/components/schemas/OffsetDateTime'
        updatedAt:
          description: Last update timestamp
          type: string
          $ref: '#/components/schemas/OffsetDateTime'
        createdBy:
          type: string
          description: Created by
          examples:
          - user-123-456-789
        updatedBy:
          type: string
          description: Updated by
          examples:
          - user-123-456-789
    RoleCreateRequest:
      description: Request body for creating a new role
      type: object
      properties:
        name:
          type: string
          maxLength: 100
          description: Role name
          examples:
          - Business Admin
        description:
          type: string
          maxLength: 500
          description: Role description
          examples:
          - Full access to all operations
    RoleListResponseDto:
      description: Paginated list of roles
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RoleResponseDto'
          description: List of roles
        totalCount:
          type: integer
          format: int64
          description: Total number of roles
        links:
          description: Pagination links
          type: object
          $ref: '#/components/schemas/PageLinks1'
    RolePermissionAddRequest:
      type: object
      properties:
        permissionIds:
          type: array
          items:
            type: string
    RolePermissionBulkUpdateRequest:
      type: object
      properties:
        add:
          type: array
          items:
            type: string
        remove:
          type: array
          items:
            type: string
    RoleUpdateRequest:
      description: Request body for updating a role
      type: object
      properties:
        name:
          type: string
          maxLength: 100
          description: Role name
          examples:
          - Business Admin
        description:
          type: string
          maxLength: 500
          description: Role description
          examples:
          - Full access to all operations
    OffsetDateTime:
      type: string
      format: date-time
      examples:
      - '2022-03-10T12:15:50-04:00'
    PermissionResponseDto:
      type: object
      description: Permission information response
      properties:
        id:
          type: string
          description: Permission ID
          examples:
          - perm-123-456-789
        resource:
          type: string
          description: Resource name
          examples:
          - user
        action:
          type: string
          description: Action name
          examples:
          - read
        description:
          type: string
          description: Permission description
          examples:
          - Allows reading user profiles
        createdAt:
          description: Creation timestamp
          type: string
          $ref: '#/components/schemas/OffsetDateTime'
        updatedAt:
          description: Last update timestamp
          type: string
          $ref: '#/components/schemas/OffsetDateTime'
  securitySchemes:
    jwt:
      type: http
      description: JWT Authentication - Provide only the raw token without Bearer prefix
      scheme: bearer
      bearerFormat: JWT