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 authentication document for more information. The Swagger specification 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 token''. The token remains valid for a time period returned in the ''expires_in'' property (in seconds). For details, see the token request documentation.' name: Authorization in: header