How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

ControlUp Roles API

The Roles API from ControlUp — 2 operation(s) for roles.

ControlUp Roles API is one of 61 APIs that ControlUp publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Roles. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 5 operations across 2 paths, and defines 85 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://api.controlup.com/v1.

5 operations 2 paths 85 schemas 1 DELETE2 GET1 PATCH1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://api.controlup.com/v1
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

ControlUp Roles API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (apiKey).

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 PATCH, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Roles 5
GET
/organizations/{orgId}/roles
List all roles
OrgRolesPublicController_getAll 12 params → 200400401403404500
POST
/organizations/{orgId}/roles
Create a role
OrgRolesPublicController_create 1 param body → 200400401403404500
GET
/organizations/{orgId}/roles/{id}
Retrieve a role
OrgRolesPublicController_getOneById 3 params → 200400401403404500
PATCH
/organizations/{orgId}/roles/{id}
Update a role
OrgRolesPublicController_update 2 params body → 200400401403404500
DELETE
/organizations/{orgId}/roles/{id}
Delete a role
OrgRolesPublicController_delete 2 params → 200400401403404500

Schemas 85

The contract defines 85 schemas that model the data the API accepts and returns. The most detailed are RoleToUpdate (8 properties), RolePublic (7 properties), RoleToCreate (6 properties), PaginatedResponseMetadata (5 properties). Each schema is shown below with its type and property counts.

CHATBOT
string
GetRoleResponse
customer_success_hub
array
The "Customer Success Hub" permission category.
api_keys
array
The "API keys" permission category.
ErrorCode.Forbidden
number
REMEDIATION_FLOW
string
chatbot
array
The "Chatbot" permission category.
APP_DX
string
edge_asset_library
array
The "Media Library" permission category.
ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__
object
2 properties 2 required
ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_
object
4 properties 3 required
PaginatedResponseMetadata
object
5 properties 5 required
reports
array
The "Reports" permission category.
ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_
object
4 properties 3 required
ErrorMessage.Unauthorized
string
ErrorMessage.InternalServerError
string
APIResponse_RoleWithData_
object
1 property 1 required
HttpStatusCode.FORBIDDEN
number
NonEmptyString
string
ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__
object
2 properties 2 required
SECURITY_RISK_MANAGEMENT
string
Scope
object
2 properties 2 required
HttpStatusCode.BAD_REQUEST
number
UUID
string
Stringified UUIDv4. See [RFC 4112](https://tools.ietf.org/html/rfc4122)
edge_devices
array
The "Device Permissions" permission category.
SB_MONITORING
string
REPORTS
string
GetAllRolesResponse
API_KEYS
string
EDGE_UNIFIED_COMMUNICATIONS_AND_COLLABORATION
string
ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__
object
2 properties 2 required
CreateRoleResponse
RolePublic
object
7 properties 4 required
security_risk_management
array
The "Secure DX Management" permission category.
ErrorResponseMetadata
object
4 properties 4 required
EDGE_USER_SENTIMENT
string
custom_dashboards
array
The "Custom Dashboards" permission category.
enrich
array
The "Enrich" permission category.
ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_
object
4 properties 3 required
CUSTOM_DASHBOARDS
string
edge_unified_communications_and_collaboration
array
The "Unified Communications and Collaboration" permission category.
ENRICH
string
ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_
object
4 properties 3 required
edge_user_sentiment
array
The "Sentiment" permission category.
ErrorCode.Unauthorized
number
EDGE_ASSET_LIBRARY
string
APIResponse_RolePublic-Array_
object
1 property 1 required
employees
array
The "Employees" permission category.
workflow
array
The "Workflows" permission category.
DeletedActionResponse
object
1 property 1 required
PositiveInteger
integer
foundry
array
The "Foundry" permission category.
incidents
array
The "Events & Alert Management" permission category.
DEX_ACCESS_CONTROL
string
HttpStatusCode.UNAUTHORIZED
number
ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__
object
2 properties 2 required
BadRequestErrorCodes
number
vdi_and_daas
array
The "VDI & DaaS" permission category.
ErrorCode.NotFound
number
RoleToUpdate
object
8 properties
ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_
object
4 properties 3 required
remediation_flow
array
The "Virtual Expert" permission category.
ErrorMessage.Forbidden
string
WORKFLOW
string
Permission
object
2 properties 2 required
FOUNDRY
string
app_dx
array
The "ControlUp for Apps" permission category.
BadRequestErrorMessages
string
CUSTOMER_SUCCESS_HUB
string
RoleToCreate
object
6 properties 1 required
APIPaginatedResponse_RolePublic-Array_
ErrorCode.InternalServerError
number
EMPLOYEES
string
INCIDENTS
string
RoleWithData
dex_access_control
array
The "Access Control" permission category.
HttpStatusCode.INTERNAL_SERVER_ERROR
number
ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__
object
2 properties 2 required
sb_monitoring
array
The "Synthetic testing" permission category.
ErrorMessage.NotFound
string
EDGE_DEVICES
string
VDI_AND_DAAS
string
RolePermissions
object
2 properties 2 required
APIResponse_DeletedActionResponse_
object
1 property 1 required
HttpStatusCode.NOT_FOUND
number

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

controlup-roles-api-openapi.yml Raw ↑

Other APIs ControlUp publishes across the network.

ControlUp MCP Server
ControlUp Alerts API
ControlUp Alerts - Devices API
ControlUp Applications API
ControlUp Audit Log API
ControlUp Cloud providers API
ControlUp Dal API
ControlUp Data API
ControlUp Devices API
ControlUp Dynamic Query API API
ControlUp Events API
ControlUp Features API
Where this information came from

This is an independent, third-party profile of ControlUp Roles API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.