Validere roles API

Roles

Operations 12

POST /app/v1/roles Create a role #
POST /app/v1/roles/search Must be Company member - Search roles #
GET /app/v1/roles/{role_id} Must be Company member - Get a role #
PUT /app/v1/roles/{role_id} Update a role #
DELETE /app/v1/roles/{role_id} Delete a role #
GET /app/v1/roles/{role_id}/members Must be Company member - Show Memberships for a role #
PUT /app/v1/roles/{role_id}/members/{member_id} Add a user to a role #
DELETE /app/v1/roles/{role_id}/members/{member_id} Remove a user from a role #
PUT /app/v1/roles/{role_id}/permissions Update role permission #
GET /app/v1/roles/{role_id}/permissions Get role permission #
PUT /app/v1/roles/{role_id}/permissions/{permission_name} Update single permission #
DELETE /app/v1/roles/{role_id}/permissions/{permission_name} Remove single permission #

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

validere-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Activity Log
  title: CarbonHub activities Roles API
  version: 1.0.0
servers:
- url: https://api.validere.io
security:
- Staging: []
- Integration: []
- Local: []
tags:
- description: Roles
  name: roles
paths:
  /app/v1/roles:
    post:
      operationId: create_role
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRoleInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: A successful operation
      summary: Create a role
      tags:
      - roles
  /app/v1/roles/search:
    post:
      operationId: search_roles
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/RoleSort'
              - $ref: '#/components/schemas/RoleFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedRoleList'
          description: successful operation
      summary: Must be Company member -  Search roles
      tags:
      - roles
  /app/v1/roles/{role_id}:
    get:
      operationId: get_role
      parameters:
      - $ref: '#/components/parameters/RoleId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: A successful operation
      summary: Must be Company member - Get a role
      tags:
      - roles
    put:
      operationId: update_role
      parameters:
      - $ref: '#/components/parameters/RoleId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRoleInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: A successful operation
      summary: Update a role
      tags:
      - roles
    delete:
      operationId: delete_role
      parameters:
      - $ref: '#/components/parameters/RoleId'
      responses:
        '200':
          description: successful operation
      summary: Delete a role
      tags:
      - roles
  /app/v1/roles/{role_id}/members:
    get:
      operationId: list_role_members
      parameters:
      - $ref: '#/components/parameters/RoleId'
      responses:
        '200':
          description: A successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleMembershipWithUser'
      summary: Must be Company member - Show Memberships for a role
      tags:
      - roles
  /app/v1/roles/{role_id}/members/{member_id}:
    put:
      operationId: add_member
      parameters:
      - $ref: '#/components/parameters/RoleId'
      - $ref: '#/components/parameters/MemberId'
      responses:
        '200':
          description: A successful operation
      summary: Add a user to a role
      tags:
      - roles
    delete:
      operationId: remove_member
      parameters:
      - $ref: '#/components/parameters/RoleId'
      - $ref: '#/components/parameters/MemberId'
      responses:
        '200':
          description: A successful operation
      summary: Remove a user from a role
      tags:
      - roles
  /app/v1/roles/{role_id}/permissions:
    put:
      operationId: update_role_permission
      parameters:
      - $ref: '#/components/parameters/RoleId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionsInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionsOutput'
          description: A successful operation
      summary: Update role permission
      tags:
      - roles
    get:
      operationId: get_role_permission
      parameters:
      - $ref: '#/components/parameters/RoleId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionsOutput'
          description: A successful operation
      summary: Get role permission
      tags:
      - roles
  /app/v1/roles/{role_id}/permissions/{permission_name}:
    put:
      operationId: update_single_role_permission
      parameters:
      - $ref: '#/components/parameters/RoleId'
      - $ref: '#/components/parameters/PermissionNamePath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SinglePermissionInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionsOutput'
          description: A successful operation
      summary: Update single permission
      tags:
      - roles
    delete:
      operationId: remove_single_role_permission
      parameters:
      - $ref: '#/components/parameters/RoleId'
      - $ref: '#/components/parameters/PermissionNamePath'
      responses:
        '200':
          description: A successful operation
      summary: Remove single permission
      tags:
      - roles
components:
  schemas:
    RoleMembershipWithUser:
      allOf:
      - $ref: '#/components/schemas/RoleMembership'
      - properties:
          user:
            $ref: '#/components/schemas/UserBasic'
    PermissionsOutput:
      type: array
      items:
        allOf:
        - $ref: '#/components/schemas/AuditFields'
        - $ref: '#/components/schemas/PermissionInput'
        - properties:
            company_id:
              type: string
              format: uuid
            role_id:
              type: string
              format: uuid
    Role:
      allOf:
      - $ref: '#/components/schemas/CreateRoleInput'
      - $ref: '#/components/schemas/AuditFields'
      - properties:
          id:
            type: string
            format: uuid
          company_id:
            type: string
            format: uuid
    RoleSort:
      properties:
        sort_by:
          enum:
          - id
          - name
          - status
          - created_at
          - updated_at
          - created_by
          - updated_by
          example: name
          type: string
        sort_direction:
          default: desc
          description: Sort direction
          enum:
          - asc
          - desc
          example: desc
          type: string
    AuditFields:
      properties:
        created_at:
          format: date-time
          type: string
        updated_at:
          format: date-time
          type: string
        created_by:
          format: uuid
          type: string
        updated_by:
          format: uuid
          type: string
      type: object
    RoleFilter:
      properties:
        filter:
          description: A filter object for Groups where it can filter based on any of these following fields. No fields are mandatory and the syntax is roughly the same as MongoDB querying.
          allOf:
          - $ref: '#/components/schemas/AuditFields'
          - properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              status:
                $ref: '#/components/schemas/UserStatus'
              user.id:
                type: string
                format: uuid
          type: object
    RoleMembership:
      allOf:
      - $ref: '#/components/schemas/AuditFields'
      - properties:
          company_id:
            type: string
            format: uuid
          role_id:
            type: string
            format: uuid
          user_id:
            type: string
            format: uuid
    SinglePermissionInput:
      properties:
        active:
          type: boolean
        filter:
          description: A filter object for Permission where it can filter based on any of these following fields. Name can be substring matched. All other values are exact matched.
          example:
            $or:
            - custom_attributes.region: US
            - name:
                $like: Facility 1
          type: object
      type: object
    PermissionInput:
      properties:
        name:
          type: string
          example: facilities:read
        active:
          type: boolean
        filter:
          description: A filter object for Permission where it can filter based on any of these following fields. Name can be substring matched. All other values are exact matched.
          example:
            $or:
            - custom_attributes.region: US
            - name:
                $like: Facility 1
          type: object
      type: object
    UserBasic:
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        email:
          type: string
          format: email
    PagedRoleList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          data:
            type: array
            items:
              type: array
              $ref: '#/components/schemas/Role'
        type: object
    PermissionsInput:
      type: array
      items:
        $ref: '#/components/schemas/PermissionInput'
    Pagination:
      properties:
        page_number:
          type: number
          example: 0
        page_size:
          type: number
          example: 10
        total_entries:
          type: number
          example: 58
        total_pages:
          type: number
          example: 6
      type: object
    UserStatus:
      type: string
      enum:
      - active
      - disabled
    RoleStatus:
      type: string
      enum:
      - active
      - disabled
    UpdateRoleInput:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        status:
          $ref: '#/components/schemas/RoleStatus'
    CreateRoleInput:
      allOf:
      - $ref: '#/components/schemas/UpdateRoleInput'
    Paginated:
      properties:
        page:
          default: 0
          description: Which page to return
          example: 0
          type: number
        page_size:
          default: 10
          description: How many items to list in a page
          example: 20
          type: number
  parameters:
    RoleId:
      description: Role ID
      in: path
      name: role_id
      required: true
      schema:
        format: uuid
        type: string
    MemberId:
      description: Member ID
      in: path
      name: member_id
      required: true
      schema:
        format: uuid
        type: string
    PermissionNamePath:
      description: Permission name
      in: path
      name: permission_name
      required: true
      schema:
        type: string