OpenAPI Specification
openapi: 3.0.0
info:
title: Secret Server Rest Activations DualControls API
description: REST API documentation for Secret Server. This document describes how to use the REST API. All requests require an authentication token; please see the <a href="../OAuth/">authentication document</a> for more information. The <a href="swagger.json">Swagger specification</a> for this API is also available.
termsOfService: https://delinea.com/eula
contact:
name: Support
url: https://delinea.com
version: 11.7.2
servers:
- url: /SecretServer/api
security:
- BearerToken: []
tags:
- name: DualControls
description: View and maintain dual controls
paths:
/v1/dual-controls/{id}:
get:
tags:
- DualControls
summary: Get Dual Control
description: Get a single dual control by ID
operationId: DualControlsService_Get
parameters:
- name: id
in: path
description: Dual control ID
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Dual control object
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
put:
tags:
- DualControls
summary: Update Dual Control
description: Update a single dual control by ID
operationId: DualControlsService_Update
parameters:
- name: id
in: path
description: Dual control ID
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlUpdateArgs'
description: Dual control update options
responses:
'200':
description: Dual control object
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
delete:
tags:
- DualControls
summary: Delete Dual Control
description: Delete a dual control by ID
operationId: DualControlsService_Delete
parameters:
- name: id
in: path
description: Dual control ID
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Object deletion result
content:
application/json:
schema:
$ref: '#/components/schemas/DeletedModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
/v1/dual-controls/state/{dualControlType}/{id}:
get:
tags:
- DualControls
summary: Get dual control state for the current item
description: Get dual control state for the current item
operationId: DualControlsService_GetAllReports
parameters:
- name: dualControlType
in: path
description: dualControlType
required: true
schema:
type: string
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Dual Control State
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlStateModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
/v1/dual-controls:
get:
tags:
- DualControls
summary: Search Dual Controls
description: Search, filter, sort, and page dual controls
operationId: DualControlsService_SearchDualControls
parameters:
- name: filter.includeInactive
in: query
description: Whether to include inactive items
required: false
schema:
type: boolean
- name: skip
in: query
description: Number of records to skip before taking results
required: false
schema:
type: integer
format: int32
- name: sortBy[0].direction
in: query
description: Sort direction
required: false
schema:
type: string
- name: sortBy[0].name
in: query
description: Sort field name
required: false
schema:
type: string
- name: sortBy[0].priority
in: query
description: Priority index. Sorts with lower values are executed earlier
required: false
schema:
type: integer
format: int32
- name: take
in: query
description: Maximum number of records to include in results
required: false
schema:
type: integer
format: int32
responses:
'200':
description: Dual control search result object
content:
application/json:
schema:
$ref: '#/components/schemas/PagingOfDualControlSummary'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
post:
tags:
- DualControls
summary: Create Dual Control
description: Create a new dual control
operationId: DualControlsService_Create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlCreateArgs'
description: Dual control creation options
responses:
'200':
description: Dual control object
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
/v1/dual-controls/types:
get:
tags:
- DualControls
summary: Get Dual Control Types
description: Return a list of Dual Control Types
operationId: DualControlsService_GetTypes
responses:
'200':
description: Dual control type objects
content:
application/json:
schema:
description: Dual control type objects
items:
$ref: '#/components/schemas/DualControlTypeModel'
type: array
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
/v1/dual-controls/stub:
get:
tags:
- DualControls
summary: Get Dual Control Stub
description: Return the default values for a new dual control
operationId: DualControlsService_Stub
responses:
'200':
description: Dual control object
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
/v1/dual-controls/auth/{dualControlType}/{id}:
post:
tags:
- DualControls
summary: Authorize a dual control
description: Authorize a dual control
operationId: DualControlsService_AuthorizeDualControl
parameters:
- name: dualControlType
in: path
description: dualControlType
required: true
schema:
type: string
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlAuthArgs'
description: args
responses:
'200':
description: Dual control authorization result
content:
application/json:
schema:
$ref: '#/components/schemas/DualControlAuthResult'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'403':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationFailedResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
deprecated: false
components:
schemas:
Sort:
description: Sort options. Multiple sort options can be provided in the query string.
required:
- name
- direction
properties:
direction:
$ref: '#/components/schemas/SortDirection'
name:
description: Sort field name
type: string
priority:
description: Priority index. Sorts with lower values are executed earlier
type: integer
format: int32
type: object
DualControlUpdateArgs:
description: Dual control update options
required:
- id
properties:
active:
description: Active
type: boolean
dualControlApprovalGroups:
description: Dual control approval groups
items:
$ref: '#/components/schemas/IDualControlApprovalGroup'
type: array
dualControlTypeId:
description: Dual control type
type: integer
format: int32
id:
description: App client ID. Must match ID in path
type: integer
format: int32
itemId:
description: ItemId
type: integer
format: int32
nullable: true
type: object
SortDirection:
description: Sort direction
properties: {}
type: string
enum:
- None
- Asc
- Desc
DualControlSummary:
description: Dual control summary
properties:
active:
description: Whether this dual control is active
type: boolean
dualControlTypeId:
$ref: '#/components/schemas/DualControlType'
dualControlTypeName:
description: Dual control type name
type: string
id:
description: Dual control ID
type: integer
format: int32
itemId:
description: Dual control item ID
type: integer
format: int32
nullable: true
itemName:
description: Dual control item name
type: string
type: object
Severity:
description: Error severity level
properties: {}
type: string
enum:
- None
- Retry
- Warn
- Critical
- Fatal
PagingOfDualControlSummary:
description: Specify paging and sorting options for querying records and returning results
properties:
batchCount:
description: Number of result batches available with current query options
type: integer
format: int32
currentPage:
description: Index of current result page
type: integer
format: int32
hasNext:
description: Whether there are any results in additional pages
type: boolean
hasPrev:
description: Whether there are any results in previous pages
type: boolean
nextSkip:
description: Correct value of 'skip' for the next page of results
type: integer
format: int32
pageCount:
description: Number of result pages available with current query options
type: integer
format: int32
prevSkip:
description: Correct value of 'skip' for the previous page of results
type: integer
format: int32
records:
description: Query results
items:
$ref: '#/components/schemas/DualControlSummary'
type: array
severity:
$ref: '#/components/schemas/Severity'
skip:
description: Number of records to skip before taking results
type: integer
format: int32
sortBy:
description: List of sort properties
items:
$ref: '#/components/schemas/Sort'
type: array
success:
description: Whether the query executed successfully
type: boolean
take:
description: Maximum number of records to include in results
type: integer
format: int32
total:
description: Total number of results available
type: integer
format: int32
type: object
InternalServerErrorResponse:
description: Response object for internal server errors
required:
- message
- exceptionMessage
- exceptionType
- stackTrace
properties:
message:
description: Error message
type: string
exceptionMessage:
description: Error message from exception
type: string
exceptionType:
description: Exception type
type: string
stackTrace:
description: Exception stack trace
type: string
type: object
DualControlStateModel:
description: Whether or not dual control access has been authorized
properties:
stateResult:
$ref: '#/components/schemas/DualControlStateResultType'
type: object
BadRequestResponse:
description: Response object for invalid requests
required:
- message
properties:
message:
description: Error message
type: string
messageDetail:
description: Error message detail
type: string
errorCode:
description: Error message code
type: string
modelState:
description: An object describing validation errors
type: object
type: object
IDualControlApprovalGroup:
description: Dual control approval groups
properties:
dualControlId:
description: DualControlId
type: integer
format: int32
enabled:
description: Enabled
type: boolean
groupId:
description: GroupId
type: integer
format: int32
groupName:
description: GroupName
type: string
id:
description: Id
type: integer
format: int32
type: object
DeletedModel:
description: Information about an object that was deleted
properties:
id:
description: ID of the deleted object
type: integer
format: int32
objectType:
description: Type of the deleted object
type: string
responseCodes:
description: List of response codes from the delete operation
items:
type: string
type: array
type: object
DualControlStateResultType:
description: The status for the dual control entity
properties: {}
type: string
enum:
- ApprovalRequired
- AccessAllowed
DualControlTypeModel:
description: DualControlTypeModel[]
properties:
id:
description: Id
type: integer
format: int32
name:
description: Name
type: string
type: object
DualControlAuthDataModel:
description: Used to authorize dual controls
properties:
domain:
description: Domain for the user, null if local
type: integer
format: int32
nullable: true
password:
description: User password
type: string
twoFactorToken:
description: Two Factor Token to login
type: string
username:
description: Username that can login
type: string
type: object
DualControlCreateArgs:
description: Dual control creation options
properties:
active:
description: Create the dual control as active or not
type: boolean
nullable: true
dualControlApprovalGroups:
description: Dual control approval groups
items:
$ref: '#/components/schemas/IDualControlApprovalGroup'
type: array
dualControlTypeId:
description: Dual control type ID
type: integer
format: int32
itemId:
description: ItemId
type: integer
format: int32
nullable: true
type: object
AuthenticationFailedResponse:
description: Response object for authentication failures
required:
- message
properties:
message:
description: Error message
type: string
type: object
DualControlModel:
description: Dual control
properties:
active:
description: Whether this dual control is active
type: boolean
dualControlApprovalGroups:
description: Dual control approval groups
items:
$ref: '#/components/schemas/IDualControlApprovalGroup'
type: array
dualControlTypeId:
description: Dual control type ID
type: integer
format: int32
dualControlTypeName:
description: Dual control type name
type: string
id:
description: Dual control ID
type: integer
format: int32
itemId:
description: Dual control item ID
type: integer
format: int32
nullable: true
itemName:
description: Dual control item name
type: string
type: object
DualControlAuthResult:
description: The result of the authorization request
properties:
success:
description: True if the auth succeeded
type: boolean
type: object
DualControlAuthArgs:
description: 'Dual control auth args '
properties:
data:
$ref: '#/components/schemas/DualControlAuthDataModel'
type: object
DualControlType:
description: Dual control type ID
properties: {}
type: string
enum:
- Report
- UserAuditReport
- Secret
- CreateReport
- AllSecretSessions
securitySchemes:
BearerToken:
type: apiKey
description: 'Perform a POST request to `/oauth2/token`. It should include three form data parameters - `username`, `password`, and `grant_type`.The `grant_type` parameter should always have the value `password`.The access token returned should be included in the header of subsequent requests, like ''Authorization: Bearer <em>token</em>''. The token remains valid for a time period returned in the ''expires_in'' property (in seconds). For details, see the <a href="../OAuth/">token request documentation</a>.'
name: Authorization
in: header