ThreatLocker Approval Request API

The ApprovalRequest API from ThreatLocker — 12 operation(s) for approvalrequest.

OpenAPI Specification

threatlocker-approvalrequest-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Portal Approval Request API
  version: v1.0.0
security:
- Authorization: []
  ManagedOrganizationId: []
  OverrideManagedOrganizationId: []
tags:
- name: ApprovalRequest
paths:
  /portalapi/ApprovalRequest/ApprovalRequestGetById:
    get:
      tags:
      - ApprovalRequest
      summary: Get Approval Request By ID
      parameters:
      - name: approvalRequestId
        in: query
        description: ''
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestGetFileDownloadDetailsById:
    get:
      tags:
      - ApprovalRequest
      summary: Get File Download Details By Approval Request Id
      parameters:
      - name: approvalRequestId
        in: query
        description: ''
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestGetPermitApplicationById:
    get:
      tags:
      - ApprovalRequest
      summary: Get Permit Application Details By Approval Request Id
      parameters:
      - name: approvalRequestId
        in: query
        description: ''
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestPermitApplication:
    post:
      tags:
      - ApprovalRequest
      summary: Approve Permit Application Request
      description: "Parameters Values:\n            \n    {\n       \"osType\": \"All = 0 | Windows =\
        \ 1 | MAC = 2 | Linux = 3\"\n    }"
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermitApplicationDto'
          text/json:
            schema:
              $ref: '#/components/schemas/PermitApplicationDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PermitApplicationDto'
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestGetStorageApprovalById:
    get:
      tags:
      - ApprovalRequest
      summary: Get Storage Approval Request By Id
      parameters:
      - name: approvalRequestId
        in: query
        description: ''
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestPermitStorageApproval:
    post:
      tags:
      - ApprovalRequest
      summary: Approve Storage Request
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorageApprovalDto'
          text/json:
            schema:
              $ref: '#/components/schemas/StorageApprovalDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/StorageApprovalDto'
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestGetByParameters:
    post:
      tags:
      - ApprovalRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestParametersDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestParametersDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestParametersDto'
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestGetCount:
    get:
      tags:
      - ApprovalRequest
      summary: Get Approval Request Pending Count
      parameters:
      - name: includeChildOrganizations
        in: query
        description: ''
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestUpdateForTakeOwnership:
    post:
      tags:
      - ApprovalRequest
      summary: Take Ownership of Approval Request
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestDto'
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestUpdateForIgnore:
    post:
      tags:
      - ApprovalRequest
      summary: Ignore Approval Request
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
      responses:
        '200':
          description: OK
      deprecated: true
  /portalapi/ApprovalRequest/ApprovalRequestUpdateForReject:
    post:
      tags:
      - ApprovalRequest
      summary: Reject Approval Request
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestUpdateParametersDto'
      responses:
        '200':
          description: OK
  /portalapi/ApprovalRequest/ApprovalRequestAuthorizeForPermitById:
    post:
      tags:
      - ApprovalRequest
      summary: Authorize Approval Request for Permit
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestAuthorizeDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestAuthorizeDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApprovalRequestAuthorizeDto'
      responses:
        '200':
          description: OK
components:
  schemas:
    EngineRating:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        rating:
          type:
          - string
          - 'null'
      additionalProperties: false
    RegistryPolicy:
      type: object
      properties:
        registryPolicyId:
          type:
          - string
          - 'null'
        path:
          type:
          - string
          - 'null'
        action:
          type: integer
          description: 1 = Permit, 2 = Deny
          format: int32
        permission:
          type: integer
          description: 1 = Read, 2 = Write
          format: int32
      additionalProperties: false
    FilePolicy:
      type: object
      properties:
        filePolicyId:
          type:
          - string
          - 'null'
        path:
          type:
          - string
          - 'null'
        action:
          type: integer
          description: 1 = Permit, 2 = Deny
          format: int32
        permission:
          type: integer
          description: 1 = Read, 2 = Write
          format: int32
      additionalProperties: false
    SystemAuditItem:
      type: object
      properties:
        organizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        userId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        username:
          type:
          - string
          - 'null'
          default: ''
        action:
          type:
          - string
          - 'null'
          default: ''
        ipAddress:
          type:
          - string
          - 'null'
          default: ''
        effectiveAction:
          type:
          - string
          - 'null'
          default: ''
        details:
          $ref: '#/components/schemas/SystemAuditDetails'
        masterViewOnly:
          type: boolean
        dateTime:
          type: string
          format: date-time
        systemAuditId:
          type: string
          format: uuid
        systemAuditObjectTypeId:
          type:
          - integer
          - 'null'
          format: int32
        organizationName:
          type:
          - string
          - 'null'
        ticketNumber:
          type:
          - string
          - 'null'
          default: ''
        notes:
          type:
          - string
          - 'null'
          default: ''
      additionalProperties: false
    StorageApprovalDto:
      type: object
      properties:
        approvalRequest:
          $ref: '#/components/schemas/ApprovalRequestDto'
        addDeviceToExisting:
          type: boolean
        existingStoragePolicy:
          $ref: '#/components/schemas/StoragePolicyBasicDto'
        addDeviceName:
          type:
          - string
          - 'null'
          default: ''
        policyName:
          type:
          - string
          - 'null'
          default: ''
        entityType:
          type: integer
          format: int32
        appliesToId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        policyType:
          type:
          - string
          - 'null'
          default: ''
        allStorageDevices:
          type: boolean
        newStorageDevice:
          $ref: '#/components/schemas/StorageDeviceDto'
        deviceExists:
          type: boolean
        allFilePaths:
          type: boolean
        selectedPath:
          type:
          - string
          - 'null'
          default: ''
        deviceType:
          type:
          - string
          - 'null'
          default: ''
        encryptionStatus:
          type: integer
          format: int32
        json:
          type:
          - string
          - 'null'
          default: ''
        allUserGroups:
          type: boolean
        users:
          type:
          - string
          - 'null'
          default: ''
        usersList:
          type:
          - array
          - 'null'
          items:
            type: string
          default: '[]'
        userGroups:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PolicyUserGroupDto'
        expirationDate:
          type:
          - string
          - 'null'
          format: date-time
        responseSubject:
          type:
          - string
          - 'null'
        responseReason:
          type:
          - string
          - 'null'
        notifyOnResponse:
          type: boolean
        processesList:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    Certificate:
      type: object
      properties:
        subject:
          type:
          - string
          - 'null'
          default: ''
        sha:
          type:
          - string
          - 'null'
          default: ''
        value:
          type:
          - string
          - 'null'
          default: ''
        validCert:
          type: boolean
      additionalProperties: false
    PolicyUserGroupDto:
      type: object
      properties:
        text:
          type:
          - string
          - 'null'
          default: ''
        value:
          type:
          - string
          - 'null'
          default: ''
      additionalProperties: false
    PermitApplicationDto:
      type: object
      properties:
        computerId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        computerGroupId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        organizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        organizationIds:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
          default: '[]'
        osType:
          type: integer
          format: int32
        userInstance:
          type:
          - string
          - 'null'
          default: ''
        approvalRequest:
          $ref: '#/components/schemas/ApprovalRequestDto'
        isFromApproval:
          type: boolean
          readOnly: true
        actionLog:
          $ref: '#/components/schemas/ActionLogDto'
        isFromActionLog:
          type: boolean
          readOnly: true
        actionType:
          type:
          - string
          - 'null'
          default: ''
        isElevationRequest:
          type: boolean
        isExtensionRequest:
          type: boolean
        edgeStoreUrl:
          type:
          - string
          - 'null'
          default: ''
        chromeStoreUrl:
          type:
          - string
          - 'null'
          default: ''
        canViewOnSystemLookup:
          type: boolean
        systemLookupUrl:
          type:
          - string
          - 'null'
          default: ''
        canViewVirusTotal:
          type: boolean
        virusTotalUrl:
          type:
          - string
          - 'null'
          default: ''
        fileHistoryChecked:
          type: boolean
        suggestCustomRule:
          type:
          - boolean
          - 'null'
        fileDetails:
          $ref: '#/components/schemas/PermitFileDetails'
        matchingApplications:
          $ref: '#/components/schemas/PermitMatchingApplications'
        policyConditions:
          $ref: '#/components/schemas/PermitPolicyConditions'
        policyExpirationDate:
          type:
          - string
          - 'null'
          format: date-time
        ringfencingOptions:
          $ref: '#/components/schemas/AdvRFPolicy'
        networkExclusions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/NetworkExclusionDto'
        ringfenceActionId:
          type: integer
          format: int32
        isRingfenced:
          type: boolean
          readOnly: true
        hasRingfencingAsProduct:
          type: boolean
        hasElevation:
          type: boolean
        organizationHasElevation:
          type: boolean
        elevationStatus:
          type: integer
          format: int32
        elevationExpiration:
          type: integer
          format: int32
        elevationExpirationDate:
          type:
          - string
          - 'null'
          format: date-time
        policyLevel:
          $ref: '#/components/schemas/PermitPolicyLevel'
        adminNotes:
          $ref: '#/components/schemas/PermitAdminNotes'
        applicationList:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ApplicationOnlineDto'
        systemAudits:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SystemAuditItem'
        allowTMM:
          type: boolean
        fileExclusions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/FileExclusionDto'
        hasOriginApprovalCenter:
          type:
          - boolean
          - 'null'
        responseSubject:
          type:
          - string
          - 'null'
        responseReason:
          type:
          - string
          - 'null'
        notifyOnResponse:
          type: boolean
        isExecutionRequest:
          type: boolean
          readOnly: true
      additionalProperties: false
    PermitAdminNotes:
      type: object
      properties:
        ticket:
          type:
          - string
          - 'null'
          default: ''
        requestorEmail:
          type:
          - string
          - 'null'
          default: ''
        comments:
          type:
          - string
          - 'null'
          default: ''
      additionalProperties: false
    ComputerGroupItemDto:
      type: object
      properties:
        computerGroupId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        name:
          type:
          - string
          - 'null'
          default: ''
        organizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        organizationName:
          type:
          - string
          - 'null'
          default: ''
        default:
          type:
          - boolean
          - 'null'
        osType:
          type: integer
          format: int32
        isGlobal:
          type: boolean
      additionalProperties: false
    NetworkPolicy:
      type: object
      properties:
        networkPolicyId:
          type:
          - string
          - 'null'
        server:
          type:
          - string
          - 'null'
        port:
          type: integer
          format: int32
        action:
          type: integer
          description: 1 = Permit, 2 = Deny
          format: int32
        serverDisplayName:
          type:
          - string
          - 'null'
      additionalProperties: false
    SystemAuditDetails:
      type: object
      properties:
        page:
          type:
          - string
          - 'null'
          default: ''
        function:
          type:
          - string
          - 'null'
          default: ''
        objectId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        details:
          type:
          - string
          - 'null'
          default: ''
      additionalProperties: false
    PermitPolicyLevel:
      type: object
      properties:
        canUseEntireOrganization:
          type: boolean
        toEntireOrganization:
          type: boolean
        toComputerGroup:
          type: boolean
        selectedComputerGroup:
          $ref: '#/components/schemas/ComputerGroupItemDto'
        toComputer:
          type: boolean
      additionalProperties: false
    ApprovalRequestTimerDto:
      type: object
      properties:
        approvalRequestId:
          type: string
          format: uuid
        requestDate:
          type: string
          format: date-time
        assignedDate:
          type: string
          format: date-time
        escalatedDate:
          type: string
          format: date-time
        returnedDate:
          type: string
          format: date-time
        reassignedDate:
          type: string
          format: date-time
        actionedDate:
          type: string
          format: date-time
        totalTimeInSeconds:
          type: integer
          format: int32
          default: 0
      additionalProperties: false
    ThreatLockerActionDto:
      type: object
      properties:
        fullpath:
          type:
          - string
          - 'null'
          default: ''
        policyid:
          type:
          - string
          - 'null'
          default: ''
        username:
          type:
          - string
          - 'null'
          default: ''
        actionid:
          type: integer
          format: int32
        hash:
          type:
          - string
          - 'null'
          default: ''
        processName:
          type:
          - string
          - 'null'
          default: ''
        certs:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ThreatLockerCertDto'
        applicationId:
          type:
          - string
          - 'null'
          default: ''
        datetime:
          type: string
          format: date-time
        logAction:
          type: boolean
        SerialNumber:
          type:
          - string
          - 'null'
          default: ''
        deviceType:
          type:
          - string
          - 'null'
          default: ''
        actionType:
          type:
          - string
          - 'null'
          default: ''
        size:
          type: integer
          format: int64
        processId:
          type: integer
          format: int32
        ringFence:
          type: boolean
        policyName:
          type:
          - string
          - 'null'
          default: ''
        applicationName:
          type:
          - string
          - 'null'
          default: ''
        encryptionStatus:
          type: integer
          format: int32
        installedBy:
          type:
          - array
          - 'null'
          items:
            type: string
          default: '[]'
        monitorOnly:
          type: boolean
        notes:
          type:
          - string
          - 'null'
          default: ''
        sha256:
          type:
          - string
          - 'null'
          default: ''
        ringfencePolicyId:
          type:
          - string
          - 'null'
          default: ''
        remotePresence:
          type: boolean
        organizationId:
          type:
          - string
          - 'null'
          default: ''
        hostname:
          type:
          - string
          - 'null'
          default: ''
        computerId:
          type:
          - string
          - 'null'
          default: ''
        manufacturer:
          type:
          - string
          - 'null'
          default: ''
        osType:
          type: integer
          format: int32
        destinationIP:
          type:
          - string
          - 'null'
          default: ''
        DomainName:
          type:
          - string
          - 'null'
          default: ''
        organizationName:
          type:
          - string
          - 'null'
          default: ''
      additionalProperties: false
    FileExclusionDto:
      type: object
      properties:
        policyId:
          type: string
          format: uuid
        tagItemType:
          type: integer
          format: int32
        path:
          type:
          - string
          - 'null'
        permission:
          type: integer
          format: int32
      additionalProperties: false
    StoragePolicyBasicDto:
      type: object
      properties:
        storagePolicyId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        name:
          type:
          - string
          - 'null'
          default: ''
        processesList:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    ApprovalRequestDto:
      type: object
      properties:
        statusIdEscalatedToMSP:
          type: integer
          format: int32
        statusIdEscalatedByCustomer:
          type: integer
          format: int32
        masterOrganizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        approvedBy:
          type:
          - string
          - 'null'
          default: ''
        approvalRequestId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        dateTime:
          type: string
          format: date-time
        path:
          type:
          - string
          - 'null'
          default: ''
        hash:
          type:
          - string
          - 'null'
          default: ''
        username:
          type:
          - string
          - 'null'
          default: ''
        hostname:
          type:
          - string
          - 'null'
          default: ''
        statusId:
          type: integer
          format: int32
        computerId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        organizationName:
          type:
          - string
          - 'null'
          default: ''
        json:
          type:
          - string
          - 'null'
          default: ''
        ticketId:
          type:
          - string
          - 'null'
          default: ''
        requestor:
          type:
          - string
          - 'null'
          default: ''
        requestorReason:
          type:
          - string
          - 'null'
          default: ''
        requestorEmailAddress:
          type:
          - string
          - 'null'
          default: ''
        comments:
          type:
          - string
          - 'null'
          default: ''
        actionDate:
          type:
          - string
          - 'null'
          format: date-time
        organizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        multiLevelApprovalRequestId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        approvalNumber:
          type: integer
          format: int32
        approvedByTierLevel:
          type: integer
          format: int32
        tempPolicyId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        policyId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        tempApplicationId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        applicationId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        multiLevelApprovalStatusId:
          type: integer
          format: int32
        initialApprovalTierLevel:
          type: integer
          format: int32
        approvalCount:
          type: integer
          format: int32
        pendingTierLevel:
          type: integer
          format: int32
        hasPendingApprovalRequest:
          type: boolean
        ipAddress:
          type:
          - string
          - 'null'
          default: ''
        isAssigned:
          type:
          - boolean
          - 'null'
          default: false
          readOnly: true
        assigneeUserId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        threatLockerDataCenterId:
          type:
          - string
          - 'null'
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        instanceName:
          type:
          - string
          - 'null'
          default: ''
        assigneeUsername:
          type:
          - string
          - 'null'
          default: ''
        assigneeFirstName:
          type:
          - string
          - 'null'
          default: ''
        assigneeLastname:
          type:
          - string
          - 'null'
          default: ''
        threatLockerActionDto:
          $ref: '#/components/schemas/ThreatLockerActionDto'
        notes:
          type:
          - string
          - 'null'
          default: ''
        signature:
          type:
          - string
          - 'null'
          default: ''
        tlInstructions:
          type:
          - string
          - 'null'
          default: ''
        suggestCustomRule:
          type:
          - boolean
          - 'null'
        authorizeForPermit:
          type:
          - boolean
          - 'null'
        portalApiUrl:
          type:
          - string
          - 'null'
          default: ''
        cyberHeroManagementConfigured:
          type: boolean
        maxTriggeredStartDate:
          type:
          - string
          - 'null'
          format: date-time
        isEscalatedByCyberHero:
          type: boolean
          readOnly: true
        isEscalatedByCustomer:
          type: boolean
          readOnly: true
        ticketApprovalManager:
          type:
          - string
          - 'null'
          default: ''
        showMfaChallenge:
          type: boolean
        showMfaRegistration:
          type: boolean
        linkedMfaUser:
          type:
          - string
          - 'null'
        serialNumber:
          type:
          - string
          - 'null'
          default: ''
        approvalRequestTimerDto:
          $ref: '#/components/schemas/ApprovalRequestTimerDto'
        canRequestNewBuiltIn:
          type: boolean
          default: false
        isAssigneeLoggedIntoMaster:
          type: boolean
          default: false
        retrievedAssigneeUsername:
          type: boolean
        count:
          type: integer
          format: int32
        assigneeOrganizationId:
          type:
          - string
          - 'null'
          format: uuid
          default: null
      additionalProperties: false
    PermitPolicyConditions:
      type: object
      properties:
        useExistingPolicy:
          type: boolean
        createManualPolicy:
          type: boolean
        manualOptions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PolicyManualOption'
        ruleId:
          type: integer
          format: int32
        certSubjects:
          type:
          - array
          - 'null'
          items:
            type: string
          default: '[]'
        createdByProcesses:
          type:
          - array
          - 'null'
          items:
            type: string
          default: '[]'
        disableProtection:
          type: boolean
          readOnly: true
        includedAdditionalFiles:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ActionLogDto'
      additionalProperties: false
    StorageDeviceDto:
      type: object
      properties:
        storageDeviceId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        organizationId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        name:
          type:
          - string
          - 'null'
          default: ''
        serialNumber:
          type:
          - string
          - 'null'
          default: ''
        owner:
          type:
          - string
          - 'null'
          default: ''
        manufacturer:
          type:
          - string
          - 'null'
          default: ''
        storagePolicyId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        storagePolicyIds:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
          default: '[]'
      additionalProperties: false
    NetworkExclusionDto:
      type: object
      properties:
        policyId:
          type: string
          format: uuid
        tagPrefixTypeId:
          type: integer
          format: int32
        value:
          type:
          - string
          - 'null'
      additionalProperties: false
    PermitFileDetails:
      type: object
      properties:
        fullPath:
          type:
          - string
          - 'null'
          default: ''
        processPath:
          type:
          - string
          - 'null'
          default: ''
        hash:
          type:
          - string
          - 'null'
          default: ''
        certificates:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ThreatLockerCertDto'
        createdByProcesses:
          type:
          - array
          - 'null'
          items:
            type: string
          default: '[]'
        filename:
          type:
          - string
          - 'null'
          default: ''
        sha256:
          type:
          - string
          - 'null'
          default: ''
        date:
          type: string
          format: date-time
        originalHostname:
          type:
          - string
          - 'null'
          default: ''
        hostname:
          type:
          - string
          - 'null'
          default: ''
        username:
       

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