Delinea DirectoryServices API

View and maintain Directory Services integrations

OpenAPI Specification

delinea-directoryservices-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Secret Server Rest Activations DirectoryServices 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: DirectoryServices
  description: View and maintain Directory Services integrations
paths:
  /v1/directory-services/domains/{domainId}/group/{groupId}:
    delete:
      tags:
      - DirectoryServices
      summary: Unlink a group from domain
      description: Unlinking a group from a domain will disable future synchronization updates. The group will also be disabled.
      operationId: DirectoryServicesService_UnlinkDomainGroup
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      - name: groupId
        in: path
        description: groupId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success status
          content:
            application/json:
              schema:
                description: Boolean
                type: boolean
        '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/directory-services/synchronization/logs:
    get:
      tags:
      - DirectoryServices
      summary: Get Synchronization Log
      description: Get Synchronization Log
      operationId: DirectoryServicesService_GetSynchronizationLog
      parameters:
      - name: filter.endDate
        in: query
        description: EndDate
        required: false
        x-nullable: true
        schema:
          type: string
          format: date-time
      - name: filter.searchText
        in: query
        description: SearchText
        required: false
        schema:
          type: string
      - name: filter.startDate
        in: query
        description: StartDate
        required: false
        x-nullable: true
        schema:
          type: string
          format: date-time
      - 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: Synchronization log entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagingOfDirectoryServicesSynchronizationLogEntry'
        '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/directory-services/synchronization:
    get:
      tags:
      - DirectoryServices
      summary: Directory Services Sync Status
      description: Return status of directory services synchronization
      operationId: DirectoryServicesService_GetSynchronizationStatus
      responses:
        '200':
          description: Whether or not the sync has started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectoryServicesSynchronizationStatus'
        '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/directory-services/domains:
    get:
      tags:
      - DirectoryServices
      summary: Search Domains
      description: Search Domains
      operationId: DirectoryServicesService_SearchDomains
      parameters:
      - name: filter.domainName
        in: query
        description: DomainName
        required: false
        schema:
          type: string
      - name: filter.includeInactive
        in: query
        description: IncludeInactive
        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: Domains that matched
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPagingOfDomainSummaryModel'
        '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:
      - DirectoryServices
      summary: Create Domain
      description: Create a new domain to be used for directory services synchronization / integration
      operationId: DirectoryServicesService_CreateDomain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DomainCreateArgs'
        description: args
      responses:
        '200':
          description: Domain that was just created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainModel'
        '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/directory-services/domains/{id}:
    get:
      tags:
      - DirectoryServices
      summary: Get a Domain
      description: Get a Domain
      operationId: DirectoryServicesService_GetDomain
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Domain that was found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainModel'
        '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/directory-services/domains/ldap-settings/{id}:
    get:
      tags:
      - DirectoryServices
      summary: Get Ldap synchronization settings for a domain
      description: Get Ldap synchronization settings for a domain
      operationId: DirectoryServicesService_GetLdapSyncSettings
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Ldap synchronization settings for the domain
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LdapSyncSettingsViewModel'
        '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/directory-services/domains/stub:
    get:
      tags:
      - DirectoryServices
      summary: Get a Domain Stub
      description: Get a Domain Stub
      operationId: DirectoryServicesService_GetDomainStub
      parameters:
      - name: domainType
        in: query
        description: domainType
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Domain Stub
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainModel'
        '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/directory-services/domains/{domainId}/groups/search-directory:
    get:
      tags:
      - DirectoryServices
      summary: Search in the directory for groups
      description: Using the credentials defined on the domain search within the directory for groups
      operationId: DirectoryServicesService_SearchDirectoryForGroups
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      - name: searchText
        in: query
        description: 'Search text. Use * for wildcards, ex: Admin*. Leave empty to return all.'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Array of groups matching search criteria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalGroupViewModel'
        '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/directory-services/domains/{domainId}/members:
    get:
      tags:
      - DirectoryServices
      summary: Search in the directory for members of a group
      description: Using the credentials defined on the domain find members of a group within the directory
      operationId: DirectoryServicesService_GetDirectoryGroupMembers
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      - name: domainIdentifier
        in: query
        description: The unique directory identifier for the group to be linked.  For example, this is ADGuid in Active Directory
        required: false
        schema:
          type: string
      - name: groupName
        in: query
        description: Name of the Group
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Array of users in the passed in group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectoryServicesGroupMemberResponse'
        '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/directory-services/configuration:
    get:
      tags:
      - DirectoryServices
      summary: Directory Services Configuration
      description: Retrieve the current settings for Directory Services configuration
      operationId: DirectoryServicesService_GetDirectoryServicesConfiguration
      responses:
        '200':
          description: Directory Services Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectoryServicesConfigurationModel'
        '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
    patch:
      tags:
      - DirectoryServices
      summary: Update Directory Services Configuration
      description: Update the current settings for Directory Services configuration
      operationId: DirectoryServicesService_PatchDirectoryServicesConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectoryServicesConfigurationUpdateArgs'
        description: args
      responses:
        '200':
          description: Updated Directory Services Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectoryServicesConfigurationModel'
        '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/directory-services/domains/ldap-settings/{domainId}:
    patch:
      tags:
      - DirectoryServices
      summary: Patch Ldap Sync Settings for a domain
      description: Patch Ldap Sync Settings for a domain
      operationId: DirectoryServicesService_PatchLdapSyncSettings
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LdapSyncSettingsPatchArgs'
        description: args
      responses:
        '200':
          description: Domain that was just updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LdapSyncSettingsViewModel'
        '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/directory-services/domains/{domainId}:
    patch:
      tags:
      - DirectoryServices
      summary: Patch a domain
      description: Patch a domain
      operationId: DirectoryServicesService_PatchDomain
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DomainPatchArgs'
        description: args
      responses:
        '200':
          description: Domain that was just updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainModel'
        '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/directory-services/synchronization-now:
    post:
      tags:
      - DirectoryServices
      summary: Synchronize all directory services
      description: Run synchronize to update users and groups for all configurated and enabled domains in all directories and domains
      operationId: DirectoryServicesService_SynchronizeNow
      responses:
        '200':
          description: True if the command was initiated successfully
          content:
            application/json:
              schema:
                description: Boolean
                type: boolean
        '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/directory-services/domains/{domainId}/group:
    post:
      tags:
      - DirectoryServices
      summary: Link a group from the directory
      description: Linking or adding a group to a domain will synchronize all users from the directory to SS that are members of this group.
      operationId: DirectoryServicesService_LinkDomainGroup
      parameters:
      - name: domainId
        in: path
        description: domainId
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        $ref: '#/components/requestBodies/LinkExternalGroupArgs'
      responses:
        '200':
          description: Success status
          content:
            application/json:
              schema:
                description: Boolean
                type: boolean
        '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
    DomainActionType:
      description: Valid Actions
      properties: {}
      type: string
      enum:
      - EditDomain
      - EditGroups
    UpdateFieldValueOfBoolean:
      description: Active
      properties:
        dirty:
          description: Dirty
          type: boolean
        value:
          description: Value
          type: boolean
      type: object
    LinkExternalGroupSettings:
      description: Information about the directory group that is needed to create a link
      properties:
        domainIdentifier:
          description: The unique directory identifier for the group to be linked. For Active Directory this must be in hex format, NOT guid format.  For example, this is ADGuid in Active Directory
          type: string
        name:
          description: Name of the group in the directory
          type: string
      type: object
    DirectoryServicesConfigurationModel:
      description: Directory Services Configuration
      properties:
        daysToKeepOperationalLogs:
          description: How long to keep operational logs
          type: integer
          format: int32
        disableInactiveUsersMonths:
          description: How long to wait before disabling inactive users
          type: integer
          format: int32
        enableDirectoryIntegration:
          description: Whether or not any Directory Services integrations are enabled or not
          type: boolean
        enableDirectorySynchronization:
          description: Synchronize users and group membership on a time interval
          type: boolean
        enableIntegratedWindowsAuthentication:
          description: Integrated Windows Authentication (IWA) allows users to log into Secret Server automatically if they are logged into a workstation with their Active Directory credentials.
          type: boolean
        enableUserDisabling:
          description: When enabled inactive users will be automatically disabled regardless of their Directory status
          type: boolean
        synchronizationIntervalDays:
          description: Synchronize days interval for users and group membership
          type: integer
          format: int32
        synchronizationIntervalHours:
          description: Synchronize hours interval for users and group membership
          type: integer
          format: int32
        synchronizationIntervalMinutes:
          description: Synchronize minutes interval for users and group membership
          type: integer
          format: int32
        userAccountOptions:
          $ref: '#/components/schemas/DirectoryServicesSynchronizationUserOption'
      type: object
    SortDirection:
      description: Sort direction
      properties: {}
      type: string
      enum:
      - None
      - Asc
      - Desc
    LdapSyncSettingsViewModel:
      description: LdapSyncSettingsViewModel
      properties:
        actions:
          description: Valid Actions
          items:
            $ref: '#/components/schemas/DomainActionType'
          type: array
        baseDnCode:
          $ref: '#/components/schemas/ViewFieldDropDownValueOfString'
        displayNameAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        domainId:
          description: Domain Id
          type: integer
          format: int32
          nullable: true
        emailAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        groupMemberAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        groupNameAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        groupObjectClasses:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        groupSearchFilter:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        guidAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        usernameAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        userObjectClasses:
          $ref: '#/components/schemas/ViewFieldValueOfString'
        userPrincipalNameAttribute:
          $ref: '#/components/schemas/ViewFieldValueOfString'
      type: object
    Severity:
      description: Error severity level
      properties: {}
      type: string
      enum:
      - None
      - Retry
      - Warn
      - Critical
      - Fatal
    DirectoryServicesConfigurationUpdateArgs:
      description: DirectoryServicesConfigurationUpdateArgs
      properties:
        data:
          $ref: '#/components/schemas/DirectoryServicesConfigurationUpdateModel'
      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
    MultifactorAuthenticationProviderTypes:
      description: Domain multifactor authentication providers.
      properties: {}
      type: string
      enum:
      - None
      - Radius
      - TOTPAuthenticator
      - Duo
      - Fido2
      - Email
    LdapSyncSettingsPatchModel:
      description: Patch update data for the Ldap Sync Settings.
      properties:
        baseDnCode:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        displayNameAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        emailAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        groupMemberAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        groupNameAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        groupObjectClasses:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        groupSearchFilter:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        guidAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        usernameAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        userObjectClasses:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
        userPrincipalNameAttribute:
          $ref: '#/components/schemas/UpdateFieldValueOfString'
      type: object
    UpdateFieldValueOfInt32:
      description: How many days until the password expires.
      properties:
        dirty:
          description: Dirty
          type: boolean
        value:
          description: Value
          type: integer
          format: int32
      type: object
    IPagingOfDomainSummaryModel:
      description: IPagingOfDomainSummaryModel
      properties:
        records:
          description: Records
          items:
            $ref: '#/components/schemas/DomainSummaryModel'
          type: array
        sortBy:
          description: SortBy
          items:
            $ref: '#/components/schemas/Sort'
          type: array
      type: object
    ViewFieldValueOfString:
      description: GeneratedToken
      properties:
        additionalLinks:
          description: AdditionalLinks
          items:
            $ref: '#/components/schemas/ViewFieldLink'
          type: array
        description:
          description: Description
          type: string
        fieldInputType:
          description: FieldInputType
          type: string
          nullable: true
        hasHistory:
          description: HasHistory
          type: boolean
          nullable: true
        helpLink:
          description: HelpLink
          type: string
        helpLinkText:
 

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/delinea/refs/heads/main/openapi/delinea-directoryservices-api-openapi.yml