ControlUp SAML API
The SAML API from ControlUp — 2 operation(s) for saml.
The SAML API from ControlUp — 2 operation(s) for saml.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/controlup-saml-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Dex SAML API
version: 1.0.0
description: Dex API Description
contact: {}
servers:
- url: https://api.controlup.com/v1
tags:
- name: SAML
paths:
/organizations/{orgId}/saml:
get:
operationId: OrgSamlPublicController_getOneById
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponse_OrganizationSamlSettingsPublic_'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: Returns your currently saved SAML configuration.
summary: Get SAML configuration
tags:
- SAML
security:
- apiKey: []
parameters:
- description: The format of returned results.
in: query
name: _format
required: false
schema:
default: json
type: string
enum:
- json
- xml
- csv
example: json
style: form
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
post:
operationId: OrgSamlPublicController_create
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponse_OrganizationSamlSettingsPublic_'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: 'Replaces your current SAML configuration by setting the values of the parameters passed.
Any existing SAML configuration is overwritten.'
summary: Create SAML settings
tags:
- SAML
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationSamlSettings'
patch:
operationId: OrgSamlPublicController_update
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponse_OrganizationSamlSettingsPublic_'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: 'Updates your current SAML configuration by setting the values of the parameters passed.
Any parameters not passed are not changed.'
summary: Update SAML settings
tags:
- SAML
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationSamlSettings'
/organizations/{orgId}/saml/{idpName}:
post:
operationId: OrgSamlPublicController_configureByIdp
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponse_OrganizationSamlSettingsPublic_'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: 'Automatically configures SAML SSO based on an existing integration with Entra ID. Any existing SAML configuration is overwritten.
To use this endpoint, you must have already created an integration with Entra ID with the permissions required to configure Entra ID SAML settings.
Use this endpoint as a shortcut so that you don''t have to manually set up SAML SSO. [Learn more](https://support.controlup.com/docs/automatically-configure-saml-using-an-idp-integration).'
summary: Create SAML settings from IdP integration
tags:
- SAML
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
- description: The IdP to use for SAML SSO.
in: path
name: idpName
required: true
schema:
$ref: '#/components/schemas/SamlConfigureIdpName'
components:
schemas:
UUID:
type: string
format: uuid
description: 'Stringified UUIDv4.
See [RFC 4112](https://tools.ietf.org/html/rfc4122)'
pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.Forbidden'
code:
$ref: '#/components/schemas/ErrorCode.Forbidden'
status:
$ref: '#/components/schemas/HttpStatusCode.FORBIDDEN'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
ErrorMessage.Forbidden:
enum:
- Forbidden
type: string
ErrorCode.Forbidden:
enum:
- 4
type: number
ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_:
properties:
message:
$ref: '#/components/schemas/BadRequestErrorMessages'
code:
$ref: '#/components/schemas/BadRequestErrorCodes'
status:
$ref: '#/components/schemas/HttpStatusCode.BAD_REQUEST'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
HttpStatusCode.NOT_FOUND:
enum:
- 404
type: number
ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_'
required:
- error
- metadata
type: object
ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.NotFound'
code:
$ref: '#/components/schemas/ErrorCode.NotFound'
status:
$ref: '#/components/schemas/HttpStatusCode.NOT_FOUND'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.Unauthorized'
code:
$ref: '#/components/schemas/ErrorCode.Unauthorized'
status:
$ref: '#/components/schemas/HttpStatusCode.UNAUTHORIZED'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
ErrorCode.Unauthorized:
enum:
- 3
type: number
ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.InternalServerError'
code:
$ref: '#/components/schemas/ErrorCode.InternalServerError'
status:
$ref: '#/components/schemas/HttpStatusCode.INTERNAL_SERVER_ERROR'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
OrganizationSamlSettingsPublic:
properties:
ssoServiceUrl:
type: string
description: IdP login URL.
sloServiceUrl:
type: string
description: IdP logout URL.
certificate:
type: string
description: IdP signing certificate.
idpPartnerName:
type: string
description: Entity / Issuer ID.
urn:
type: string
description: Relying party trust identifier.
defaultRoleId:
type: number
format: double
description: 'ID of the role assigned to ControlUp accounts automatically provisioned by SAML.
Default role IDs:
* Admin - 1
* Editor - 2
* Viewer - 3
* No Permissions - 4
* VDI and DaaS Admins - 5
* Access Real-Time DX Console - 6'
createdAt:
type: string
description: The date at which the SAML settings were first created.
updatedAt:
type: string
description: The date at which the SAML settings were last updated.
required:
- defaultRoleId
- urn
- idpPartnerName
- certificate
- sloServiceUrl
- ssoServiceUrl
type: object
example:
urn: urn:controlup:dev
idpPartnerName: urn:dev-3ezru5wuvaevqm0t.us.auth0.com
ssoServiceUrl: https://dev-3ezru5wuvaevqm0t.us.auth0.com/samlp/6iom84fUqvicEqWzDgV4zYxoARvIIX8u
sloServiceUrl: https://dev-3ezru5wuvaevqm0t.us.auth0.com/samlp/6iom84fUqvicEqWzDgV4zYxoARvIIX8u
certificate: 'MIIDHTCCAgWgAwIBAgIJfmBK1ZYElWb0MA0GCSqGSIb3DQEBCwUAMCwxKjAoBgNV
KGtROwtMVWJW7rrOImKLpEqdv9bzYp3NJhuxpwuQPNXs02LSamwGJFxh2arEKZmR
KryUffbrcOc3+9gErIx0U58yJK52oEdHJcRq4HvINlBc'
defaultRoleId: 1
createdAt: '2024-08-08T19:20:09.859Z'
updatedAt: '2024-08-08T20:27:47.156Z'
BadRequestErrorMessages:
enum:
- Bad Request
- Invalid Params
- Unique Field Violation
type: string
ErrorCode.InternalServerError:
enum:
- 6
type: number
ErrorMessage.Unauthorized:
enum:
- Unauthorized
type: string
ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_'
required:
- error
- metadata
type: object
ErrorMessage.InternalServerError:
enum:
- Internal Server Error
type: string
APIResponse_OrganizationSamlSettingsPublic_:
properties:
data:
allOf:
- $ref: '#/components/schemas/OrganizationSamlSettingsPublic'
required:
- data
type: object
HttpStatusCode.FORBIDDEN:
enum:
- 403
type: number
HttpStatusCode.INTERNAL_SERVER_ERROR:
enum:
- 500
type: number
SamlConfigureIdpName:
enum:
- entra_id
type: string
HttpStatusCode.UNAUTHORIZED:
enum:
- 401
type: number
ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_'
required:
- error
- metadata
type: object
? ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__
: properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_'
required:
- error
- metadata
type: object
ErrorMessage.NotFound:
enum:
- Not Found
type: string
BadRequestErrorCodes:
enum:
- 2
- 14
- 50
type: number
ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_'
required:
- error
- metadata
type: object
CreateOrganizationSamlSettings:
properties:
ssoServiceUrl:
type: string
description: IdP login URL.
sloServiceUrl:
type: string
description: IdP logout URL.
certificate:
type: string
description: IdP signing certificate.
idpPartnerName:
type: string
description: Entity / Issuer ID.
urn:
type: string
description: Relying party trust identifier.
defaultRoleId:
type: number
format: double
description: 'ID of the role assigned to ControlUp accounts automatically provisioned by SAML.
Default role IDs:
* Admin - 1
* Editor - 2
* Viewer - 3
* No Permissions - 4
* VDI and DaaS Admins - 5
* Access Real-Time DX Console - 6'
required:
- defaultRoleId
- urn
- idpPartnerName
- certificate
- ssoServiceUrl
type: object
UpdateOrganizationSamlSettings:
properties:
ssoServiceUrl:
type: string
description: IdP login URL.
sloServiceUrl:
type: string
description: IdP logout URL.
certificate:
type: string
description: IdP signing certificate.
idpPartnerName:
type: string
description: Entity / Issuer ID.
urn:
type: string
description: Relying party trust identifier.
defaultRoleId:
type: number
format: double
description: 'ID of the role assigned to ControlUp accounts automatically provisioned by SAML.
Default role IDs:
* Admin - 1
* Editor - 2
* Viewer - 3
* No Permissions - 4
* VDI and DaaS Admins - 5
* Access Real-Time DX Console - 6'
type: object
ErrorResponseMetadata:
properties:
cuRequestId:
type: string
orgId:
type: string
userId:
type: string
userIp:
type: string
required:
- userIp
- userId
- orgId
- cuRequestId
type: object
ErrorCode.NotFound:
enum:
- 5
type: number
HttpStatusCode.BAD_REQUEST:
enum:
- 400
type: number
securitySchemes:
apiKey:
type: http
scheme: bearer
x-readme:
explorer-enabled: true
proxy-enabled: false
samples-languages:
- shell
- powershell
- node
- javascript
- python
- c
- clojure
- cplusplus
- csharp
- http
- go
- java
- json
- kotlin
- objectivec
- ocaml
- php
- r
- ruby
- shell
- swift