openapi: 3.0.0
info:
  title: Patching
  version: 2.0.0
  description: Patching API Documentation
  contact:
    name: OpsRamp Support
    email: support@opsramp.com
    url: 'https://www.opsramp.com/about-opsramp/contact-us/'
tags:
  - name: patching
    description: Patching API Documentation.
    externalDocs:
      url: 'https://develop.opsramp.com/patching/'
servers:
  - url: 'https://api.opsramp.com'
    description: Partner - All Others
  - url: 'https://{subdomain}.api.opsramp.com'
    description: Partner or Client custom branded sub-domain
    variables:
      subdomain:
        default: demo
        description: Custom sub-domain assigned to the client
paths:
  '/api/v2/tenants/{tenantId}/patches/baselines':
    summary: Create and Get Patch Baselines
    description: Creates and gets patch baselines.
    post:
      summary: Create Patch Baseline
      description: |-
        A patch baseline is a collection of patches that are approved for installation on your instances. From a given feed, the user selects a subset of the packages that address the key vulnerabilities. The chosen set of packages form the patch baseline.
        As a prerequisite, create a patch feed before creating a baseline.

        ### Notes
        On using policy based rules for having Filter criteria for dynamic baseline:
        - Match type for the rules. Supported value: ALL. Patches which match all the rules in the filter criteria are added to the baseline.
        - Filter patches with the following rules:
          - "key": Provide the attributes of a patch.Supported keys: Category, Cve, Rating, Severity
          - "operator" : As listed
          -  "Rating" key supports only (Equals, Not Equals) operator with supported values (Whitelisted, Blacklisted)
          -  "value"

        For example, to filter patches which are whitelisted and are critical, provide the fields as shown below:
        ```
        "policy": {
          "matchType": "ALL",
          "rules": [
            { "key": "Rating", "operator": "Equals", "value": "Whitelisted" },
            { "key": "Severity", "operator": "Contains", "value": "critical" }
          ]
        }
        ```
      tags:
        - patching
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchBaseline'
            examples:
              example-static-baseline:
                value:
                  name: Linux_Patch_Feed
                  description: Ubuntu_Vulnerabilities
                  dynamic: false
                  installedIntg:
                    id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
              example-dynamic-baseline:
                value:
                  name: Security_Patches
                  description: Security_Patches_for_Windows
                  dynamic: true
                  policy:
                    matchType: ALL
                    rules:
                      - key: Category
                        operator: Contains
                        value: updates
                      - key: Rating
                        operator: Equals
                        value: Whitelisted
                  installedIntg:
                    id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchBaseline'
              examples:
                example-static-baseline:
                  value:
                    id: PBL-bafd3744-9a59-4cd6-9825-00a0a5a54f6e
                    name: Linux_Patch_Feed
                    description: Ubuntu_Vulnerabilities
                    dynamic: false
                    enabled: false
                    createdUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    updatedUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    createdTime: '2019-02-08T07:40:05+0000'
                    updatedTime: '2019-02-08T07:40:05+0000'
                    installedIntg:
                      id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                      displayName: Default Linux Feed
                      integration:
                        id: LINUXPATCH
                        name: Linux Patch Feed
                example-dynamic-baseline:
                  value:
                    id: PBL-198014e3-74c0-4e12-a6e1-c161d9003fd6
                    name: Security_Patches
                    description: Security_Patches_for_Windows
                    dynamic: true
                    enabled: false
                    createdUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    updatedUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    createdTime: '2019-02-08T07:45:10+0000'
                    updatedTime: '2019-02-08T07:45:10+0000'
                    policy:
                      id: 662
                      uid: POLICY-e4780e1f-e707-4858-9c0e-b68b6e8b6bf7
                      matchType: ALL
                      rules:
                        - id: 12512
                          key: Category
                          operator: Contains
                          value: updates
                          resourceType: DEVICE
                        - id: 12513
                          key: Severity
                          operator: Contains
                          value: critical
                          resourceType: DEVICE
                      actions: []
                    installedIntg:
                      id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                      displayName: Default Windows Feed
                      integration:
                        id: WINDOWSPATCH
                        name: Windows Patch Feed
    get:
      summary: Get Patch Baselines
      description: Gets the list of patch baselines for a client.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/patchBaseline'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-baselines:
                  value:
                    results:
                      - id: PBL-1bfe0514-f882-4300-8d62-7e67d0ec149c
                        name: Updates-policytest
                        description: Updates
                        dynamic: true
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2018-11-27T10:05:53+0000'
                        updatedTime: '2018-11-29T11:10:30+0000'
                        policy:
                          id: 506
                          uid: POLICY-8f9c5645-f205-4659-9762-5f675ac4da41
                          name: Updates-policytest
                          matchType: ALL
                          rules:
                            - id: 12376
                              key: Category
                              operator: Equals
                              value: Updates - Windows 7
                            - id: 12377
                              key: Cve
                              operator: Starts with
                              value: Important
                          actions: []
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-9aecfcab-4ab5-4a79-9e38-81fb06a400a9
                        name: Updates
                        description: Patch Updates
                        dynamic: false
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2018-11-20T13:43:44+0000'
                        updatedTime: '2018-11-21T12:40:30+0000'
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-56d22620-50b6-4b94-ab5b-b6cd360c7e8c
                        name: Security Updates
                        description: Security Updates
                        dynamic: true
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2018-11-20T13:41:30+0000'
                        updatedTime: '2018-11-20T13:42:13+0000'
                        policy:
                          id: 502
                          uid: POLICY-6c5b7ccf-7f79-447e-be8a-81deaa0b419e
                          name: Security Updates
                          matchType: ALL
                          rules:
                            - id: 12372
                              key: Category
                              operator: Contains
                              value: Security Updates
                          actions: []
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-8ef7bb6a-1b9e-4ce5-8b63-858b9fe9d6d2
                        name: Rating WHITELISTED
                        description: Rating WHITELISTED
                        dynamic: true
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2018-11-27T12:38:48+0000'
                        updatedTime: '2018-11-29T04:20:10+0000'
                        policy:
                          id: 507
                          uid: POLICY-2f65d515-1758-45c0-9f4d-c5d659de2f3d
                          name: Rating WHITELISTED
                          matchType: ALL
                          rules:
                            - id: 12378
                              key: Category
                              operator: Equals
                              value: Definition Updates - Windows Defender
                            - id: 12379
                              key: Rating
                              operator: Ends with
                              value: Critical
                            - id: 12380
                              key: Cve
                              operator: Equals
                              value: WHITELISTED
                          actions: []
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-52795034-7085-4d0c-adf3-ed58d9ec0d56
                        name: Feature Packs - Windows 7
                        description: Feature Packs - Windows 7
                        dynamic: true
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2018-11-20T14:10:14+0000'
                        updatedTime: '2018-11-22T10:20:32+0000'
                        policy:
                          id: 504
                          uid: POLICY-b802b846-653b-4b69-abcc-0113577f167a
                          name: Feature Packs - Windows 7
                          matchType: ALL
                          rules:
                            - id: 12374
                              key: Category
                              operator: Contains
                              value: Feature Packs - Windows 7
                          actions: []
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                    totalResults: 5
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
            format: int32
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
            format: int32
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
        - schema:
            type: string
          in: query
          name: queryString
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/baselines/{baselineId}/{action}':
    summary: Activate and Deactivate Patch Baseline
    description: Activates and deactivates a patch baseline.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/baselineId'
      - $ref: '#/components/parameters/action'
  '/api/v2/tenants/{tenantId}/patches/baselines/{baselineId}/{patchId}/{action}':
    summary: Add and Remove Patches From Baseline
    description: Adds and removes patches from a baseline.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/baselineId'
      - $ref: '#/components/parameters/patchId'
      - $ref: '#/components/parameters/action'
  '/api/v2/tenants/{tenantId}/patches/baselines/{baselineId}':
    summary: 'Get, Update, and Delete Patch Baselines'
    description: 'Gets, updates, and deletes patch baselines.'
    delete:
      summary: Delete Patch Baseline
      description: Deletes a patch baseline.
      tags:
        - patching
      responses:
        '200':
          description: OK
    get:
      summary: Get Patch List in a Patch Baseline
      description: Gets the list of patches in a patch baseline.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        externalId:
                          type: string
                        severity:
                          type: string
                        category:
                          type: string
                        releaseTime:
                          type: string
                        type:
                          type: string
                        rebootRequired:
                          type: boolean
                        rating:
                          type: object
                          properties:
                            rating:
                              type: string
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-baselines:
                  value:
                    results:
                      - id: PATCH-be4069ba-f432-4a02-b861-fbd826890cb3
                        name: Update for Windows 7 (KB3184143)
                        externalId: '3184143'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-10-11T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-d119f423-9b5f-4685-9145-85a011ddc29d
                        name: Update for Windows 7 (KB3179573)
                        externalId: '3179573'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-09-13T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-3a011c95-a03f-4a35-93f1-75f6e1fe6d63
                        name: Update for Windows 7 (KB3170735)
                        externalId: '3170735'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-07-12T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-f0a474bc-008c-4569-aff9-9b1aa5134a65
                        name: Update for Windows 7 (KB3161102)
                        externalId: '3161102'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-09-13T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-1ee57411-43da-42da-80db-3e26cbdf52cf
                        name: Update for Windows 7 (KB3147071)
                        externalId: '3147071'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-04-12T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-a90ed74a-8283-4368-8dd2-51f982ffe082
                        name: Update for Windows 7 (KB3138378)
                        externalId: '3138378'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-05-10T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-f9b5f8dd-f7ca-4a42-9558-34db7913ce39
                        name: Update for Windows 7 (KB3137061)
                        externalId: '3137061'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-04-12T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-e4a948bc-4274-4cbc-9f1d-8a3d22415630
                        name: Update for Windows 7 (KB3133977)
                        externalId: '3133977'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-04-12T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-5cc371f8-b82c-4aa8-9bab-ae452c7a75fe
                        name: Update for Windows 7 (KB3102429)
                        externalId: '3102429'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2016-01-19T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                      - id: PATCH-f178f950-12d4-49a4-be5e-5a8418ceb5bf
                        name: Update for Windows 7 (KB3080149)
                        externalId: '3080149'
                        severity: Important
                        category: Updates - Windows 7
                        releaseTime: '2015-09-08T00:00:00+0000'
                        type: WINDOWS
                        rebootRequired: true
                        rating:
                          rating: TESTING
                    totalResults: 10
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
    post:
      summary: Update Patch Baseline Details
      description: Updates patch baseline details.
      tags:
        - patching
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchBaseline'
            examples:
              example-static:
                value:
                  name: Windows_Patch_Feed
                  description: Windows_Vulnerabilities
                  dynamic: true
                  installedIntg:
                    id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
              example-dynamic:
                value:
                  name: Linux_Patch_Baseline
                  description: Linux_Patches_for_SJ_Devices
                  dynamic: true
                  policy:
                    matchType: ALL
                    rules:
                      - key: Category
                        operator: Contains
                        value: Updates
                      - key: Rating
                        operator: Equals
                        value: WHITELISTED
                      - key: Severity
                        operator: Not Equals
                        value: Critical
                  installedIntg:
                    id: INTG-35160619-ea2d-4450-8b8d-7c4bc51ebc92
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchBaseline'
              examples:
                example-static:
                  value:
                    id: PBL-bafd3744-9a59-4cd6-9825-00a0a5a54f6e
                    name: Windows_Patch_Feed
                    description: Windows_Vulnerabilities
                    dynamic: false
                    enabled: false
                    createdUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    updatedUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    createdTime: '2019-02-08T07:40:06+0000'
                    updatedTime: '2019-02-08T09:11:19+0000'
                    installedIntg:
                      id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                      displayName: Default Windows Feed
                      integration:
                        id: WINDOWSPATCH
                        name: Windows Patch Feed
                example-dynamic:
                  value:
                    id: PBL-198014e3-74c0-4e12-a6e1-c161d9003fd6
                    name: Linux_Patch_Baseline
                    description: Linux_Patches_for_SJ_Devices
                    dynamic: true
                    enabled: false
                    createdUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    updatedUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    createdTime: '2019-02-08T07:45:10+0000'
                    updatedTime: '2019-02-08T09:18:21+0000'
                    policy:
                      id: 663
                      uid: POLICY-1308aebb-94a8-4bde-aed9-1dd4aafe78a8
                      matchType: ALL
                      rules:
                        - id: 12514
                          key: Category
                          operator: Contains
                          value: Updates
                          resourceType: DEVICE
                        - id: 12515
                          key: Rating
                          operator: Equals
                          value: WHITELISTED
                          resourceType: DEVICE
                        - id: 12516
                          key: Severity
                          operator: Not Equals
                          value: Critical
                          resourceType: DEVICE
                      actions: []
                    installedIntg:
                      id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                      displayName: Default Linux Feed
                      integration:
                        id: LINUXPATCH
                        name: Linux Patch Feed
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/baselineId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/baselines/{baselineId}/{action}':
    summary: Assign or Unassign a Baseline for Patch Compliance
    description: Assigns and unassigns a patch baseline attached for a patch compliance check.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
      - $ref: '#/components/parameters/baselineId'
      - $ref: '#/components/parameters/action'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/deviceGroups/{resourceGrpId}/{action}':
    summary: Assign or Unassign Device Group for Patch Compliance
    description: Assigns and unassigns a device group for a patch compliance.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - in: path
        name: tenantId
        schema:
          type: string
        required: true
        description: Describes the clientId or mspId of the tenant
      - $ref: '#/components/parameters/complianceId'
      - $ref: '#/components/parameters/action'
      - $ref: '#/components/parameters/resourceGrpId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/devices/{resourceId}/{action}':
    summary: Assign or Unassign Devices for Patch Compliance
    description: Assigns and unassigns devices for patch compliance.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
      - name: action
        in: path
        required: true
        schema:
          type: string
        description: System defined action for patch baselining
      - $ref: '#/components/parameters/resourceId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/baselines':
    summary: Get Baseline Details of Compliance
    description: Gets the baselines attached to a patch compliance.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/patchBaseline'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-baselines:
                  value:
                    results:
                      - id: PBL-bafd3744-9a59-4cd6-9825-00a0a5a54f6e
                        name: Windows-DefaultPatchBaseline
                        description: This baseline includes patches approved for Windows device
                        dynamic: false
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        createdTime: '2019-02-08T07:40:06+0000'
                        updatedTime: '2019-02-10T09:54:17+0000'
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-63c75c7b-bee0-41f5-816b-e241f8753472
                        name: Linux-DefaultPatchBaseline
                        description: This baseline includes patches approved for Linux device
                        dynamic: false
                        enabled: true
                        createdUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                        updatedUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                          phoneNumber: ''
                        createdTime: '2019-01-23T09:41:12+0000'
                        updatedTime: '2019-01-24T06:08:07+0000'
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Linux Feed
                          integration:
                            id: LINUXPATCH
                            name: Linux Patch Feed
                      - id: PBL-c8622232-5dcc-4dba-9426-882e7205b065
                        name: Critical Windows Patch Baseline
                        description: This baseline includes all critical Windows patches
                        dynamic: false
                        enabled: true
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2019-01-23T09:39:13+0000'
                        updatedTime: '2019-01-24T08:48:11+0000'
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                      - id: PBL-198014e3-74c0-4e12-a6e1-c161d9003fd6
                        name: Critical Linux Patch Baseline
                        description: This baseline includes Linux operating system security patches
                        dynamic: true
                        enabled: true
                        createdUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                        updatedUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                        createdTime: '2019-02-08T07:45:10+0000'
                        updatedTime: '2019-02-08T09:18:22+0000'
                        policy:
                          id: 663
                          uid: POLICY-1308aebb-94a8-4bde-aed9-1dd4aafe78a8
                          matchType: ALL
                          rules:
                            - id: 12514
                              key: Category
                              operator: Contains
                              value: Security Updates
                              resourceType: DEVICE
                            - id: 12515
                              key: Rating
                              operator: Equals
                              value: BLACKLISTED
                              resourceType: DEVICE
                            - id: 12516
                              key: Severity
                              operator: Not Equals
                              value: Critical
                              resourceType: DEVICE
                          actions: []
                        installedIntg:
                          id: INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6
                          displayName: Default Windows Feed
                          integration:
                            id: WINDOWSPATCH
                            name: Windows Patch Feed
                    totalResults: 4
                    orderBy: name
                    pageNo: 1
                    pageSize: 10
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
  '/api/v2/tenants/{tenantId}/patches/compliance':
    summary: Create Compliance and Get Compliance Checks
    description: Creates a patch compliance and gets the list of patch compliance checks.
    post:
      summary: Create Patch Compliance
      description: Creates a patch compliance.
      tags:
        - patching
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchCompliance'
            examples:
              example-patch-compliance:
                value:
                  name: Patch Compliance of Windows Devices
                  description: Compliance Check for Certain Windows Devices
                  osType: WINDOWS
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchCompliance'
              examples:
                example-patch-compliance:
                  value:
                    id: PCMP-5c70ea87-2350-4781-9762-df47194d06d3
                    name: Patch Compliance of Windows Devices
                    description: Compliance check for Certain Windows Devices
                    createdUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    updatedUser:
                      loginName: opsramp_api_user
                      lastName: ' '
                      firstName: OpsRamp API User
                      email: admin@opsramp.com
                    createdTime: '2019-02-08T12:37:02+0000'
                    updatedTime: '2019-02-10T10:40:05+0000'
                    osType: WINDOWS
    get:
      summary: Get Patch Compliance
      description: Gets the list of patch compliance checks.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/patchCompliance'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-complainces:
                  value:
                    results:
                      - id: PCMP-9393677c-e3f4-4df0-89c5-17c648268e65
                        name: Compliance for Windows Device Group-3
                        description: Compliance check for Windows Device Group-3
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        createdTime: '2019-01-29T12:47:07+0000'
                        updatedTime: '2019-01-29T12:48:07+0000'
                        osType: WINDOWS
                      - id: PCMP-4ea84abe-acb1-427a-ad90-a23dc34a3953
                        name: Compliance for Windows Device Group-2
                        description: Compliance check for Windows Device Group-2
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        createdTime: '2019-01-29T07:53:28+0000'
                        updatedTime: '2019-01-30T10:20:10+0000'
                        osType: WINDOWS
                      - id: PCMP-2ec8e6e1-38c0-466f-b82e-8c242a13ee4e
                        name: Compliance for Windows Device Group-1
                        description: Patch Compliance for specific Windows Device Group-1
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        createdTime: '2019-01-26T10:48:04+0000'
                        updatedTime: '2019-01-30T11:30:20+0000'
                        osType: WINDOWS
                      - id: PCMP-0e14f0bd-8f7d-49a5-bd84-d28267444971
                        name: Compliance for Windows Devices
                        description: Compliance check for Windows Devices
                        createdUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                        updatedUser:
                          loginName: John.Smith
                          lastName: Smith
                          firstName: John
                          email: john.smith@myorganization.com
                          phoneNumber: ''
                        createdTime: '2019-01-26T10:25:26+0000'
                        updatedTime: '2019-01-29T04:55:05+0000'
                        osType: WINDOWS
                      - id: PCMP-9c7ff57d-fe04-4d89-aebe-f8c8958d7677
                        name: Compliance for Linux Devices
                        description: Patch Compliance for Linux Devices
                        createdUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                          phoneNumber: ''
                        updatedUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                          phoneNumber: ''
                        createdTime: '2019-01-26T08:43:52+0000'
                        updatedTime: '2019-01-27T10:40:20+0000'
                        osType: LINUX
                      - id: PCMP-f3ea1402-1186-41ef-9069-c47de1075771
                        name: Compliance for Linux Device Group-1
                        description: Compliance check for Linux Device Group-1
                        createdUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                        updatedUser:
                          loginName: James.Blake
                          lastName: Blake
                          firstName: James
                          email: james.blake@myorganization.com
                          phoneNumber: ''
                        createdTime: '2019-01-26T10:38:45+0000'
                        updatedTime: '2019-01-29T05:06:09+0000'
                        osType: LINUX
                    totalResults: 6
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}':
    summary: Update and Delete Patch Compliance
    description: Updates and deletes a patch compliance
    delete:
      description: Delete a patch compliance.
      tags:
        - patching
      responses:
        '200':
          description: OK
    post:
      description: Updates a patch compliance.
      tags:
        - patching
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchCompliance'
            examples:
              example-complaince:
                value:
                  name: Linux Compliance
                  description: Compliance check on Linux Devices
                  osType: LINUX
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchCompliance'
              examples:
                example-complaince:
                  value:
                    id: PCMP-5c70ea87-2350-4781-9762-df47194d06d3
                    name: Linux Compliance
                    description: Compliance check for Linux Devices
                    createdUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    updatedUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    createdTime: '2019-02-08T12:37:02+0000'
                    updatedTime: '2019-02-10T10:38:24+0000'
                    osType: LINUX
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/devices':
    summary: Get Devices of a Compliance
    description: Gets the list of devices attached to a patch compliance.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/device'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-complaint-resources:
                  value:
                    results:
                      - id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                        generalInfo:
                          osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                          ipAddresses: 10.0.3.15
                          hostName: ADMIN-PC
                          resourceType: Windows
                          resourceName: 172.31.26.40
                          aliasName: alias name
                        clientUniqueId: client_16
                        type: DEVICE
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 10
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/deviceGroups':
    summary: Get Device Group Details of a Compliance
    description: Gets the device groups attached to a patch compliance.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/deviceGroup'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-complaince-dg:
                  value:
                    results:
                      - id: '1011'
                        uniqueId: DGP-6f0f8fa6-480d-45a1-9acd-e261647860e1
                        name: Windows Device Group-SJ
                        description: Procurement division Windows devices
                        client:
                          id: 16
                          uniqueId: client_16
                          name: Logix
                          activated: true
                      - id: '1076'
                        uniqueId: DGP-cd55439b-eb44-4b68-a8b1-3e787df39191
                        name: Linux Device Group-CA
                        description: Maintenance division Linux devices
                        client:
                          id: 16
                          uniqueId: client_16
                          name: Logix
                          activated: true
                      - id: '1077'
                        uniqueId: DGP-3d12eb46-d0ec-4825-a247-0fc87726a73d
                        name: Linux Device Group
                        description: ''
                        client:
                          id: 16
                          uniqueId: client_16
                          name: Logix
                          activated: true
                      - id: '1075'
                        uniqueId: DGP-468b2466-0d94-444f-82bf-367c5d5b891e
                        name: Critical Windows Devices
                        description: High priority devices
                        client:
                          id: 16
                          uniqueId: client_16
                          name: Logix
                          activated: true
                    totalResults: 4
                    orderBy: name
                    pageNo: 1
                    pageSize: 10
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
  '/api/v2/tenants/{tenantId}/patches/compliance/{complianceId}/run':
    summary: Run Patch Compliance Check
    description: 'Runs a patch compliance, checking all devices and device groups for compliance.'
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
  '/api/v2/tenants/{tenantId}/patches/configurations':
    summary: Create Patch Configuration and Execute
    description: |-
      Creates a patch configuration and executes patches on the resources.

      ### Notes
      - Approved Windows patches are installed on the device during the scheduled installation window.
      - The device is immediately rebooted following any patch that requires a reboot.
      - Standard checks are performed on rebooted devices to ensure the device is operating properly.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchConfig'
              examples:
                example-patch-config:
                  value:
                    scheduleJob:
                      name: test
                      entities:
                        - resource:
                            id: 04e26c5a-2173-4857-98b5-31190bb9985d
                            generalInfo:
                              ipAddresses: 10.21.0.212
                              hostName: opsramp-demo-ubuntu-2
                            clientUniqueId: client_13
                            type: DEVICE
                        - resource:
                            id: 338382d8-d4e3-4573-85fc-27580b68ac5c
                            generalInfo:
                              ipAddresses: 10.21.0.213
                              hostName: opsramp-demo-ubuntu-3
                            clientUniqueId: client_13
                            type: DEVICE
                      schedule:
                        startDate: '2016-04-14T10:10:00+0000'
                        pattern:
                          type: daily
                          frequency: recurrence
                          repeatFrequency: 2
                          repeatType: days
                        timezone: '6'
                      client:
                        id: 13
                        uniqueId: client_13
                        name: patch client
                        activated: true
                      script:
                        jobType: missingPatchesDownloadUpdate
                    id: PATCHCONF-9db1451f-1441-4bd9-90b9-aa371fc11e6d
                    patchConfigName: test
                    description: testing
                    approvalType:
                      approvalType: 1
                      approvalReason: testing data
                    rebootOptions:
                      rebootRequired: true
                      mandatoryReboot: true
                    enablePatching: true
                    maintenancePeriod: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchConfig'
            examples:
              example-patch-config:
                value:
                  patchConfigName: Test_Patch_Config
                  description: testing
                  approvalType:
                    approvalType: 1
                    approvalReason: testing data
                  rebootOptions:
                    rebootRequired: true
                    mandatoryReboot: true
                  scheduleJob:
                    entities:
                      - resource:
                          id: 04e26c5a-2173-4857-98b5-31190bb9985d
                          type: DEVICE
                      - resource:
                          id: 338382d8-d4e3-4573-85fc-27580b68ac5c
                          type: DEVICE
                    script:
                      jobType: missingPatchesDownloadUpdate
                    schedule:
                      startDate: '2016-04-14T10:10:10+0000'
                      pattern:
                        type: daily
                        frequency: recurrence
                        repeatType: Days
                        repeatFrequency: 2
                      timezone: '6'
                  enablePatching: true
                  maintenancePeriod: 1
      description: |
        Use the timeZone id  shown in 'id' column.Default time-zone would be Resources Timezones. Below are supported timezone ids.

        | id  |   name                  | label                              | timezone_code   |
        | ----|  ---------------        | ------------------------------     | -------------   |
        |  1  |    Pacific/Apia         | GMT -11:00 Samoa                   | SST             |
        |  2  |   Pacific/Honolulu      | GMT -10:00 Hawaiian                | HAST            |
        |  3  |    America/Anchorage    | GMT -09:00 Alaskan                 | AKST            |
        |  4  |    America/Los_Angeles  | GMT -08:00 Pacific                 | PST             |
        |  5  |    America/Phoenix      | GMT -07:00 Mountain                | MST             |
        |  6  |    America/Chicago      | GMT -06:00 Central                 | CST             |
        |  7  |    America/New_York     | GMT -05:00 Eastern                 | EST             |
        |  8  |    America/Puerto_Rico  | GMT -04:00 Atlantic                | AST             |
        |  9  |   America/St_Johns      | GMT -03:30 Newfoundland            | NST             |
        | 10  |   America/Buenos_Aires  | GMT -03:00 Brasilia, BuenosAires   | BRT             |
        | 11  |    Atlantic/Azores      | GMT -01:00 Azores                  | AZOT            |
        | 12  |   Europe/London         | Greenwich Mean Time                | GMT             |
        | 13  |    Europe/Paris         | GMT +01:00 Western Europe          | WEST            |
        | 14  |    Europe/Istanbul      | GMT +02:00 EasternEurope           | EET             |
        | 15  |    Africa/Addis_Ababa   | GMT +03:00 Russia, SaudiArabia     | EAT             |
        | 16  |    Asia/Tehran          | GMT +03:30 Iran                    | IRST            |
        | 17  |    Asia/Yerevan         | GMT +04:00 Arabian                 | AMT             |
        | 18  |    Asia/Karachi         | GMT +05:00 West Asia               | PKT             |
        | 19  |    Asia/Calcutta        | GMT +05:30 India                   | IST             |
        | 20  |    Asia/Dacca           | GMT +06:00 Central Asia            | BST             |
        | 21  |    Asia/Saigon          | GMT +07:00 Bangkok, Hanoi,Jakarta  | ICT             |
        | 22  |    Asia/Shanghai        | GMT +08:00 China, Singapore,Taiwan | CST (China)     |
        | 23  |    Asia/Tokyo           | GMT +09:00 Korea, Japan            | JST             |
        | 24  |    Australia/Darwin     | GMT +09:30 Cen.Australia           | CST (Australia) |
        | 25  |    Australia/Sydney     | GMT +10:00 E. Australia            | EST (Australia) |
        | 26  |    Pacific/Guadalcanal  | GMT +11:00 CentralPacific          | SBT             |
        | 27  |    Pacific/Auckland     | GMT +12:00 Fiji,  NewZealand       | NZST            |
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/configurations/{id}':
    summary: Manage Patch Configuration
    description: 'Updates, gets, and deletes a patch configuration.'
    delete:
      description: Deletes a patch configuration.
      tags:
        - patching
      responses:
        '200':
          description: OK
    get:
      description: Gets patch configuration details.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchConfig'
              examples:
                example-patch-config:
                  value:
                    id: PATCHCONF-d708f385-e17f-41a0-b602-bf9d69a1f70d
                    patchConfigName: patch1
                    description: desc
                    approvalType:
                      approvalType: 0
                      approvalReason: ''
                    rebootOptions:
                      rebootRequired: false
                      mandatoryReboot: false
                    enablePatching: false
                    approval: MANUAL
                    installation: AUTO
                    source: LOCAL
                    scheduleJob:
                      name: PATCHCONF-d708f385-e17f-41a0-b602-bf9d69a1f70d
                      entities:
                        - resource:
                            id: eb1c8614-9593-4185-98f7-ac4266e180f1
                            generalInfo:
                              osName: ''
                              ipAddresses: ''
                              hostName: rewss
                              resourceType: Desktop
                              resourceName: test vm
                              aliasName: ''
                            clientUniqueId: client_4
                            type: DEVICE
                      schedule:
                        startDate: '2019-05-23T00:00:00+0000'
                        pattern:
                          type: daily
                          frequency: everyday
                        timezone: '6'
                      client:
                        id: 4
                        uniqueId: client_4
                        name: EHR
                        activated: true
                      script:
                        jobType: missingPatchesDownloadUpdate
    post:
      description: |-
        Updates a patch configuration.

        ### Notes
        - Approved Windows patches will be installed on the device during the scheduled installation window.
        - The device will be immediately rebooted following any patch that requiring a reboot.
        - Standard checks are performed on rebooted devices to ensure the device is operating properly.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchConfig'
              examples:
                example-patch-config:
                  value:
                    scheduleJob:
                      name: test
                      entities:
                        - resource:
                            id: 04e26c5a-2173-4857-98b5-31190bb9985d
                            generalInfo:
                              ipAddresses: 10.21.0.212
                              hostName: opsramp-demo-ubuntu-2
                            clientUniqueId: client_13
                            type: DEVICE
                        - resource:
                            id: 338382d8-d4e3-4573-85fc-27580b68ac5c
                            generalInfo:
                              ipAddresses: 10.21.0.213
                              hostName: opsramp-demo-ubuntu-3
                            clientUniqueId: client_13
                            type: DEVICE
                      schedule:
                        startDate: '2016-04-14T10:10:00+0000'
                        pattern:
                          type: daily
                          frequency: recurrence
                          repeatFrequency: 2
                          repeatType: days
                        timezone: '6'
                      client:
                        id: 13
                        uniqueId: client_13
                        name: patch client
                        activated: true
                      script:
                        jobType: missingPatchesDownloadUpdate
                    id: PATCHCONF-9db1451f-1441-4bd9-90b9-aa371fc11e6d
                    patchConfigName: test
                    description: testing
                    approvalType:
                      approvalType: 1
                      approvalReason: testing data
                    rebootOptions:
                      rebootRequired: true
                      mandatoryReboot: true
                    enablePatching: true
                    maintenancePeriod: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchConfig'
            examples:
              example-patch-config:
                value:
                  id: PATCHCONF-9db1451f-1441-4bd9-90b9-aa371fc11e6d
                  patchConfigName: Test_Patch_Config
                  description: testing
                  approvalType:
                    approvalType: 1
                    approvalReason: testing data
                  rebootOptions:
                    rebootRequired: true
                    mandatoryReboot: true
                  scheduleJob:
                    entities:
                      - resource:
                          id: 04e26c5a-2173-4857-98b5-31190bb9985d
                          type: DEVICE
                      - resource:
                          id: 338382d8-d4e3-4573-85fc-27580b68ac5c
                          type: DEVICE
                    script:
                      jobType: missingPatchesDownloadUpdate
                    schedule:
                      startDate: '2016-04-14T10:10:10+0000'
                      pattern:
                        type: daily
                        frequency: recurrence
                        repeatType: Days
                        repeatFrequency: 2
                      timezone: '6'
                  enablePatching: true
                  maintenancePeriod: 1
              example-patch-tuesdays:
                value:
                  id: PATCHCONF-9db1451f-1441-4bd9-90b9-aa371fc11e6d
                  patchConfigName: Test_Patch_Config
                  description: testing
                  approvalType:
                    approvalType: 1
                    approvalReason: testing data
                  rebootOptions:
                    rebootRequired: true
                    mandatoryReboot: true
                  scheduleJob:
                    entities:
                      - resource:
                          id: 04e26c5a-2173-4857-98b5-31190bb9985d
                          type: DEVICE
                      - resource:
                          id: 338382d8-d4e3-4573-85fc-27580b68ac5c
                          type: DEVICE
                    script:
                      jobType: missingPatchesDownloadUpdate
                    schedule:
                      startDate: '2016-04-14T10:10:10+0000'
                      pattern:
                        type: Patch Tuesday
                      timezone: '6'
                      daysToAdd: 5
                  enablePatching: true
                  maintenancePeriod: 1
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - schema:
          type: string
        in: path
        name: id
        required: true
        description: Unique Identifier (UUID) of patch configuration
  '/api/v2/tenants/{tenantId}/patches/configurations/{id}/run':
    summary: Run Patch Configuration
    description: Runs a patch configuration.
    post:
      tags:
        - patching
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: |
                    Reason to run the patch configuration
              required:
                - reason
            examples:
              example-run-patch:
                value:
                  reason: To run patch config on demand
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - schema:
          type: string
        in: path
        name: id
        required: true
        description: Unique Identifier (UUID) of patch configuration
  '/api/v2/tenants/{tenantId}/patches/configurations/search':
    summary: Search Patch Configuration by Client
    description: Searches for patch configurations by a client.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/patchConfig'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                    enum:
                      - job.id
                      - patch.patchConfigName
                    example: job.id
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                    default: 10
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-list-patch-configs:
                  value:
                    results:
                      - scheduleJob:
                          name: testing
                          schedule:
                            startDate: '2017-02-10T00:00:00+0000'
                            pattern:
                              type: daily
                              frequency: everyday
                          client:
                            id: 13
                            uniqueId: client_13
                            name: patch client
                            activated: true
                          script:
                            jobType: missingPatchesDownloadUpdate
                        id: PATCHCONF-5ec1d773-8082-417c-9461-279e74a1247e
                        patchConfigName: testing
                        description: testing
                        approvalType:
                          approvalType: 0
                          approvalReason: ''
                        rebootOptions:
                          rebootRequired: false
                          mandatoryReboot: false
                        enablePatching: true
                        maintenancePeriod: 30
                      - scheduleJob:
                          name: test
                          schedule:
                            startDate: '2016-04-14T10:10:00+0000'
                            pattern:
                              type: daily
                              frequency: recurrence
                              repeatFrequency: 2
                              repeatType: days
                          client:
                            id: 13
                            uniqueId: client_13
                            name: patch client
                            activated: true
                          script:
                            jobType: missingPatchesDownloadUpdate
                        id: PATCHCONF-9db1451f-1441-4bd9-90b9-aa371fc11e6d
                        patchConfigName: test
                        description: testing
                        approvalType:
                          approvalType: 1
                          approvalReason: testing data
                        rebootOptions:
                          rebootRequired: true
                          mandatoryReboot: true
                        enablePatching: true
                        maintenancePeriod: 60
                    totalResults: 2
                    orderBy: patch.patchConfigName
                    pageNo: 1
                    pageSize: 10
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            enum:
              - job.id
              - patch.patchConfigName
          in: query
          name: sortName
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/rating/{intgId}/feed/{patchId}':
    summary: Manage Patch Qualifications.
    description: Gets patch qualification details and delete a patch qualification.
    get:
      description: Gets patch qualification details in the feed.
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchDetails'
              examples:
                example-feeds:
                  value:
                    comments: ''
                    createdUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    updatedUser:
                      loginName: John.Smith
                      lastName: Smith
                      firstName: John
                      email: john.smith@myorganization.com
                    createdTime: '2018-08-07T08:49:19+0000'
                    updatedTime: '2018-08-17T10:20:20+0000'
                    rating: WHITELISTED
                    cve: CVE-2014-12345
                    patch:
                      id: PATCH-0be4130a-77bf-460e-b2c7-52906f86da5d
                      name: Security Update for Microsoft .NET Framework 3.5.1 on Windows 7 SP1 x86 (KB2943357)
                      externalId: '2943357'
                      severity: Important
                      category: Security Updates - Windows 7
                      releaseTime: '2018-08-12T10:20:20+0000'
                      type: WINDOWS
                      rebootRequired: false
                    id: PR-04a9824f-be2c-463f-bc38-e14363dab496
    delete:
      description: Deletes a patch qualification in the feed.
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - schema:
          type: string
        in: path
        name: intgId
        required: true
        description: Unique Identifier (UUID) of integration for patch feed
      - $ref: '#/components/parameters/patchId'
  '/api/v2/tenants/{tenantId}/patches':
    summary: Search Patches
    description: Gets a tenant's list of patches.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/patch'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  nextPageNo:
                    type: integer
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
          description: resultset pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
          description: results in page
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
          description: 'resultset ordering '
        - schema:
            type: string
            default: name
          in: query
          name: sortName
          description: 'resultset groupBy : Default = ts'
        - schema:
            properties:
              name:
                type: string
              uid:
                type: string
              startReleaseDate:
                type: string
              endReleaseDate:
                type: string
              extPatchId:
                type: string
              severity:
                type: string
              category:
                type: string
              type:
                type: string
            uniqueItems: true
            type: string
          description: custom query string with query parameters
          in: query
          name: queryString
          allowReserved: true
          explode: false
        - schema:
            type: string
          in: query
          name: viewId
        - schema:
            type: string
          in: query
          name: name
          description: Patch Name
        - schema:
            type: string
          in: query
          name: uid
          description: Patch unique ID.
        - schema:
            type: string
          in: query
          name: startReleaseDate
          description: 'Search for patches released within a specific duration. startReleaseDate indicates the from date.For example, a user wants to fetch list of patches released between 12-Aug-2018 through 19-Aug-2018, provide startReleaseDate as 2018-08-12T05:40:51+0000 and endReleaseDate as 2018-08-19T08:30:20+0000. Date format must be yyyy-MM-ddTHH:mm:ssZ (GMT).'
        - schema:
            type: string
          in: query
          name: endReleaseDate
          description: 'Search for patches released within a specific duration. endReleaseDate indicates the to date. Date format must be yyyy-MM-ddTHH:mm:ssZ (GMT).'
        - schema:
            type: string
          in: query
          name: extPatchId
          description: External ID of a patch
        - schema:
            type: string
          in: query
          name: severity
          description: Severity of patch.
        - schema:
            type: string
          in: query
          name: category
          description: 'Category in which a patch is created.Security and Critical, Service Packs, Feature Packs, Update Rollups, Updates, Definition Updates, Tools'
        - schema:
            type: string
          in: query
          name: type
          description: Type of patch.
          example: 'WINDOWS,LINUX'
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/{jobId}/scan/status':
    summary: Get Patch Scan Status of All Devices of a Missing Job
    description: Gets the patch scan status of all devices assigned to a missing patch job and display paginated output.
    get:
      tags:
        - patching
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
        - schema:
            type: string
          in: query
          name: queryString
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        device:
                          $ref: '#/components/schemas/device'
                        scanStatus:
                          $ref: '#/components/schemas/scanstatus'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-status:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:14:43+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 134
                          missingPatchesAfterScan: 134
                          noOfMissingPatchesFoundInLastScan: 0
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 2
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-query-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 2
                    orderBy: ipAddress
                    pageNo: 1
                    pageSize: 1
                    totalPages: 2
                    nextPage: true
                    nextPageNo: 2
                    previousPageNo: 0
                    descendingOrder: false
                example-query-aliasName-and-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-query-aliasName:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-resource-type:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:14:43+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 134
                          missingPatchesAfterScan: 134
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-query-specific-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-query-specific-hostname:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:14:43+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 134
                          missingPatchesAfterScan: 134
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-query-deviceId:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - schema:
          type: string
        name: jobId
        in: path
        required: true
        description: Unique Identifier (UUID) of patch config job.
  '/api/v2/tenants/{tenantId}/patches/{jobId}/install/status':
    summary: Get Patching Status of All Devices in a Patch Configuration
    description: Gets the patching status of all devices in a patch configuration and display paginated output.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        device:
                          $ref: '#/components/schemas/device'
                        installStatus:
                          $ref: '#/components/schemas/installStatus'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-scan-status:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                          lastPatchInstalledDate: '2019-06-21T13:56:10+0000'
                          lastMachineRebootDate: '2019-06-24T19:42:18+0000'
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                    totalResults: 2
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                    totalResults: 2
                    orderBy: ipAddress
                    pageNo: 1
                    pageSize: 1
                    totalPages: 2
                    nextPage: true
                    nextPageNo: 2
                    previousPageNo: 0
                    descendingOrder: false
                example-aliasName-and-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-aliasName:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        scanStatus:
                          lastPatchScanDate: '2019-06-23T11:42:56+0000'
                          lastPatchScanStatus: success
                          missingPatchesBeforeScan: 0
                          missingPatchesAfterScan: 0
                          noOfMissingPatchesFoundInLastScan: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-resourceType:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                          lastPatchInstalledDate: '2019-06-21T13:56:10+0000'
                          lastMachineRebootDate: '2019-06-24T19:42:18+0000'
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-specific-ipAddress:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-specific-hostname:
                  value:
                    results:
                      - device:
                          id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                          generalInfo:
                            osName: Ubuntu 14.04.5 LTS
                            ipAddresses: 10.0.4.15
                            hostName: opsrampdev
                            resourceType: Linux
                            resourceName: ''
                            aliasName: ''
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                          lastPatchInstalledDate: '2019-06-21T13:56:10+0000'
                          lastMachineRebootDate: '2019-06-24T19:42:18+0000'
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-deviceId:
                  value:
                    results:
                      - device:
                          id: 2771a95d-496a-4c0b-a4f4-1cf1b7f94045
                          generalInfo:
                            osName: 'Microsoft Windows 7 Professional Service Pack 1, 32-bit'
                            ipAddresses: 10.0.3.15
                            hostName: ADMIN-PC
                            resourceType: Work Station
                            resourceName: ''
                            aliasName: admin-pc
                            osBuildNumber: '7601'
                          clientUniqueId: client_16
                          type: DEVICE
                        installStatus:
                          lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
        - schema:
            type: string
          in: query
          name: queryString
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - schema:
          type: string
        in: path
        name: jobId
        required: true
        description: Unique Identifier (UUID) of patch config job
  '/api/v2/tenants/{tenantId}/resources/{resourceId}/patches/{patchId}/{approvalType}':
    summary: Approve and Disapprove Patch
    description: Approves and disapproves a patch.
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
    parameters:
      - schema:
          type: string
          enum:
            - APPROVED
            - NOT_APPROVED
          example: APPROVED
        in: path
        name: approvalType
        required: true
        description: Supported approval type
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/resourceId'
      - name: patchId
        in: path
        required: true
        schema:
          type: string
        description: Unique Identifier (UUID) of the patch applied
  '/api/v2/tenants/{tenantId}/resources/{resourceId}/patches/scan/status':
    summary: Get Patch Scan Status of a Device
    description: |-
      Gets the details of patch scan status of a device.

      Patch scan of a device provides the details of latest patch scan performed on a device. This API is used to get the following patch scan details of a device:
      - Date of the last scan
      - Result of the last scan
      - Patches missing before the scan
      - Patches found missing after the scan
      - List of new patches found in the last scan
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  device:
                    $ref: '#/components/schemas/device'
                  scanStatus:
                    $ref: '#/components/schemas/scanstatus'
              examples:
                example-scan-status:
                  value:
                    device:
                      id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                      generalInfo:
                        osName: Ubuntu 14.04.5 LTS
                        ipAddresses: 10.0.4.15
                        hostName: opsrampdev
                        resourceType: Linux
                        resourceName: ''
                        aliasName: ''
                      clientUniqueId: client_16
                      type: DEVICE
                    scanStatus:
                      lastPatchScanDate: '2019-06-23T11:14:43+0000'
                      lastPatchScanStatus: success
                      missingPatchesBeforeScan: 134
                      missingPatchesAfterScan: 134
                      noOfMissingPatchesFoundInLastScan: 0
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/resourceId'
  '/api/v2/tenants/{tenantId}/resources/{resourceId}/patches/install/status':
    summary: Get Patching Status of a Device
    description: |-
      Gets the patching status of a device.

      Patching status of a device provides the details of the most recent patches performed on a device. This API is used to get the following details of patching performed on a device (or devices):
      - Completion status of the patch
      - Status of machine reboot
      - Last patch installation date
      - Last reboot time of the machine
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  device:
                    $ref: '#/components/schemas/device'
                  installStatus:
                    $ref: '#/components/schemas/installStatus'
              examples:
                example-status:
                  value:
                    device:
                      id: 2ca44d27-888e-4ddb-a5ee-89eb962798fe
                      generalInfo:
                        osName: Ubuntu 14.04.5 LTS
                        ipAddresses: 10.0.4.15
                        hostName: opsrampdev
                        resourceType: Linux
                        resourceName: ''
                        aliasName: ''
                      clientUniqueId: client_16
                      type: DEVICE
                    installStatus:
                      lastPatchTriggeredDate: '2019-06-21T13:51:39+0000'
                      lastPatchInstalledDate: '2019-06-21T13:56:10+0000'
                      lastMachineRebootDate: '2019-06-24T19:42:18+0000'
                      lastPatchInstalledStatus: success
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/resourceId'
  '/api/v2/tenants/{tenantId}/resources/{resourceId}/baselines/{baselineId}/patches':
    summary: Check Resource Patch Compliance Against Baseline
    description: Checks the compliance of a resource against a patch baseline.
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/baselineResourceCompliance'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-approved-patches:
                  value:
                    results:
                      - approvalStatus: NOT_APPROVED
                        patchStatus: MISSING
                        installedStatus: NEED_TO_INSTALL
                        scanTime: '2019-05-29T08:56:11+0000'
                        patch:
                          id: PATCH-6ca40150-56b1-12ca-2b15-22a6ea787790
                          name: Security Update for Windows Server 2008
                          externalId: '10000'
                          category: Critical Updates - Windows 8
                          releaseTime: '2019-05-29T08:53:22+0000'
                          type: WINDOWS
                          rebootRequired: false
                          rating:
                            rating: CRITICAL
                        resource:
                          id: bae45962-981e-4611-bfef-b272c8d8aa87
                          hostName: ''
                          ipAddress: 172.31.26.40
                          type: Windows
                          aliasName: alias name
                          resourceName: 172.31.26.40
                          consoles: []
                          resourceType: Windows
                          frequency: 0
                          paused: false
                          deleted: false
                          validateSSL: false
                          port: 0
                          encrypted: false
                          timeout: 0
                          days: 0
                          ts: 0
                          clientId: 0
                          locationOffset: 0
                          totalLocations: 0
                          receiverHostPort: 0
                    totalResults: 1
                    orderBy: name
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
        - schema:
            type: string
          in: query
          name: queryString
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/baselineId'
      - $ref: '#/components/parameters/resourceId'
  '/api/v2/tenants/{tenantId}/resources/patches':
    summary: Get Patches on a Resource
    description: 'Gets the details of installed, missing, or installation-failed patches for a client''s resources.'
    get:
      tags:
        - patching
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: pageNo
        - schema:
            type: integer
            default: 100
          in: query
          name: pageSize
        - schema:
            type: boolean
            default: true
          in: query
          name: isDescendingOrder
        - schema:
            type: string
            default: name
          in: query
          name: sortName
        - schema:
            type: string
          in: query
          name: queryString
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        approvalStatus:
                          type: string
                        patchStatus:
                          type: string
                        installedStatus:
                          type: string
                        scanTime:
                          type: string
                          format: date-time
                        installedTime:
                          type: string
                          format: date-time
                        approvedTime:
                          type: string
                          format: date-time
                        installedApplicationId:
                          type: string
                        installedResult:
                          type: string
                        patch:
                          $ref: '#/components/schemas/patch'
                        resource:
                          $ref: '#/components/schemas/resource'
                  totalResults:
                    type: integer
                  orderBy:
                    type: string
                  pageNo:
                    type: integer
                  pageSize:
                    type: integer
                  totalPages:
                    type: integer
                  nextPage:
                    type: boolean
                  previousPageNo:
                    type: integer
                  descendingOrder:
                    type: boolean
              examples:
                example-patch-missing-not-installed:
                  value:
                    results:
                      - approvalStatus: APPROVED
                        patchStatus: INSTALLED
                        installedStatus: COMPLETED
                        scanTime: '2019-10-29T08:56:11+0000'
                        installedApplicationId: OpsRamp Agent
                        installedResult: '0x0'
                        patch:
                          id: PATCH-6ca40150-56b1-12ca-2b15-22a6ea787790
                          name: Dummy Patch Name0
                          externalId: '10000'
                          category: Critical Updates - Windows 7
                          releaseTime: '2019-05-29T08:53:22+0000'
                          type: WINDOWS
                          rebootRequired: false
                          rating:
                            rating: TESTING
                        resource:
                          id: bae45962-981e-4611-bfef-b272c8d8aa87
                          hostName: ''
                          ipAddress: 172.31.26.40
                          type: Windows
                          aliasName: alias name
                          resourceName: 172.31.26.40
                          consoles: []
                          resourceType: Windows
                          frequency: 0
                          paused: false
                          deleted: false
                          validateSSL: false
                          port: 0
                          encrypted: false
                          timeout: 0
                          days: 0
                          ts: 0
                          clientId: 0
                          locationOffset: 0
                          totalLocations: 0
                          receiverHostPort: 0
                    totalResults: 1
                    orderBy: id
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
                example-patch-installed:
                  value:
                    results:
                      - approvalStatus: APPROVED
                        patchStatus: INSTALLED
                        installedStatus: COMPLETED
                        scanTime: '2019-10-29T08:56:11+0000'
                        installedApplicationId: OpsRamp Agent
                        installedResult: '0x0'
                        patch:
                          id: PATCH-6ca40150-56b1-12ca-2b15-22a6ea787790
                          name: Dummy Patch Name0
                          externalId: '10000'
                          category: Critical Updates - Windows 7
                          releaseTime: '2019-05-29T08:53:22+0000'
                          type: WINDOWS
                          rebootRequired: false
                          rating:
                            rating: TESTING
                        resource:
                          id: bae45962-981e-4611-bfef-b272c8d8aa87
                          hostName: ''
                          ipAddress: 172.31.26.40
                          type: Windows
                          aliasName: alias name
                          resourceName: 172.31.26.40
                          consoles: []
                          resourceType: Windows
                          frequency: 0
                          paused: false
                          deleted: false
                          validateSSL: false
                          port: 0
                          encrypted: false
                          timeout: 0
                          days: 0
                          ts: 0
                          clientId: 0
                          locationOffset: 0
                          totalLocations: 0
                          receiverHostPort: 0
                    totalResults: 1
                    orderBy: id
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    previousPageNo: 0
                    descendingOrder: true
    parameters:
      - $ref: '#/components/parameters/tenantId'
  '/api/v2/tenants/{tenantId}/patches/patchcompliance/{complianceId}/baselines/{baselineId}/resources':
    summary: Get Resources Against a Baseline
    description: Retrieves the compliance details of resources against a chosen baseline in the patch compliance configuration
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/baselineId'
      - $ref: '#/components/parameters/complianceId'
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  results:
                    type: array
                    uniqueItems: true
                    minItems: 1
                    items:
                      type: object
                      properties:
                        resource:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                            hostName:
                              type: string
                              minLength: 1
                            ipAddress:
                              type: string
                              minLength: 1
                            type:
                              type: string
                              minLength: 1
                            aliasName:
                              type: string
                            name:
                              type: string
                              minLength: 1
                            resourceName:
                              type: string
                            consoles:
                              type: array
                              items:
                                type: object
                            resourceType:
                              type: string
                              minLength: 1
                            frequency:
                              type: number
                            paused:
                              type: boolean
                            deleted:
                              type: boolean
                            validateSSL:
                              type: boolean
                            port:
                              type: number
                            encrypted:
                              type: boolean
                            timeout:
                              type: number
                            days:
                              type: number
                            ts:
                              type: number
                            clientId:
                              type: number
                            locationOffset:
                              type: number
                            totalLocations:
                              type: number
                            receiverHostPort:
                              type: number
                            topologyEnabled:
                              type: boolean
                        complianceCount:
                          type: number
                  totalResults:
                    type: number
                  pageNo:
                    type: number
                  pageSize:
                    type: number
                  totalPages:
                    type: number
                  nextPage:
                    type: boolean
                  descendingOrder:
                    type: boolean
              examples:
                baselined-resources:
                  value:
                    results:
                      - resource:
                          id: d6011ccb-bcdb-45eb-981f-f8daf2738868
                          hostName: HYDLPT093
                          ipAddress: 172.28.103.114
                          type: Laptop
                          aliasName: ''
                          name: HYDLPT093
                          resourceName: ''
                          consoles: []
                          resourceType: Laptop
                          frequency: 0
                          paused: false
                          deleted: false
                          validateSSL: false
                          port: 0
                          encrypted: false
                          timeout: 0
                          days: 0
                          ts: 0
                          clientId: 0
                          locationOffset: 0
                          totalLocations: 0
                          receiverHostPort: 0
                          topologyEnabled: false
                        complianceCount: 0
                    totalResults: 1
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    descendingOrder: false
      operationId: ''
      description: ''
  '/api/v2/tenants/{tenantId}/patches/patchcompliance/{complianceId}/baselines/{baselineId}/group/{groupId}':
    summary: Get Resources Against a Baseline in a Resourcegroup
    description: Retrieves the compliance details of resource in resource group against a chosen baseline in the patch compliance configuration
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/complianceId'
      - $ref: '#/components/parameters/baselineId'
      - schema:
          type: string
        name: groupId
        in: path
        required: true
        description: Unique Identifier (UUID) of the resource groupId
    get:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  results:
                    type: array
                    uniqueItems: true
                    minItems: 1
                    items:
                      type: object
                      properties:
                        resource:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                            hostName:
                              type: string
                              minLength: 1
                            ipAddress:
                              type: string
                              minLength: 1
                            type:
                              type: string
                              minLength: 1
                            aliasName:
                              type: string
                            name:
                              type: string
                              minLength: 1
                            resourceName:
                              type: string
                            consoles:
                              type: array
                              items:
                                type: object
                            resourceType:
                              type: string
                              minLength: 1
                            frequency:
                              type: number
                            paused:
                              type: boolean
                            deleted:
                              type: boolean
                            validateSSL:
                              type: boolean
                            port:
                              type: number
                            encrypted:
                              type: boolean
                            timeout:
                              type: number
                            days:
                              type: number
                            ts:
                              type: number
                            clientId:
                              type: number
                            locationOffset:
                              type: number
                            totalLocations:
                              type: number
                            receiverHostPort:
                              type: number
                            topologyEnabled:
                              type: boolean
                        complianceCount:
                          type: number
                  totalResults:
                    type: number
                  pageNo:
                    type: number
                  pageSize:
                    type: number
                  totalPages:
                    type: number
                  nextPage:
                    type: boolean
                  descendingOrder:
                    type: boolean
              examples:
                baselined-resourceGrp:
                  value:
                    results:
                      - resource:
                          id: d6011ccb-bcdb-45eb-981f-f8daf2738868
                          hostName: HYDLPT093
                          ipAddress: 172.28.103.114
                          type: Laptop
                          aliasName: ''
                          name: HYDLPT093
                          resourceName: ''
                          consoles: []
                          resourceType: Laptop
                          frequency: 0
                          paused: false
                          deleted: false
                          validateSSL: false
                          port: 0
                          encrypted: false
                          timeout: 0
                          days: 0
                          ts: 0
                          clientId: 0
                          locationOffset: 0
                          totalLocations: 0
                          receiverHostPort: 0
                          topologyEnabled: false
                        complianceCount: 0
                    totalResults: 1
                    pageNo: 1
                    pageSize: 100
                    totalPages: 1
                    nextPage: false
                    descendingOrder: false
      description: ''
  '/api/v2/tenants/{tenantId}/resources/{resourceId}/patches/{approvalType}':
    summary: Approves and Disapproves Multiple Patches on a Given Resource
    description: Approves and disapproves multiple patches
    post:
      tags:
        - patching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: ''
                properties:
                  totalPatches:
                    type: number
                  approvedPatches:
                    type: number
                  invalidPatches:
                    type: array
                    items:
                      type: string
              examples:
                approved-patches:
                  value:
                    totalPatches: 3
                    approvedPatches: 2
                    invalidPatches:
                      - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7b234
                patchlist-unapprove:
                  value:
                    totalPatches: 3
                    unApprovedPatches: 2
                    invalidPatches:
                      - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7b234
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patchList'
            examples:
              patchList-approve:
                value:
                  - PATCH-b270488b-a81f-627d-f089-89e020239913
                  - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7bbca
                  - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7b234
              patchList-unapprove:
                value:
                  - PATCH-b270488b-a81f-627d-f089-89e020239913
                  - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7bbca
                  - PATCH-6cb12d4d-e8a5-c51e-a391-c8870db7b234
    parameters:
      - $ref: '#/components/parameters/tenantId'
      - $ref: '#/components/parameters/resourceId'
      - schema:
          type: string
          enum:
            - unapprove
            - approve
          example: approve
        name: approvalType
        in: path
        required: true
        description: Type of approval
components:
  securitySchemes:
    accessToken:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: 'https://subdomain.api.opsramp.com'
          scopes: {}
  parameters:
    tenantId:
      in: path
      name: tenantId
      schema:
        type: string
      required: true
      description: Describes the clientId of the tenant
    baselineId:
      name: baselineId
      in: path
      required: true
      schema:
        type: string
      description: Unique Identifier (UUID) of the baseline patch
    resourceGrpId:
      name: resourceGrpId
      in: path
      required: true
      schema:
        type: string
      description: Unique Identifier (UUID) of the resource group
    resourceId:
      name: resourceId
      in: path
      required: true
      schema:
        type: string
      description: Unique Identifier (UUID) of patched resource
    complianceId:
      name: complianceId
      in: path
      required: true
      schema:
        type: string
      description: Unique Identifier (UUID) of the compliance
    patchId:
      name: patchId
      in: path
      required: true
      schema:
        type: string
      description: Unique Identifier (UUID) of the patch applied
    action:
      name: action
      in: path
      required: true
      schema:
        type: string
        enum:
          - activate
          - deactivate
      description: System defined action for patch baselining
  schemas:
    integration:
      title: integration
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    installedIntg:
      title: installedIntg
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string
        integration:
          $ref: '#/components/schemas/integration'
      description: |-
        ID of an installed patch feed integration.
        Example: INTG-c1a2d041-062d-4950-8570-f9d5a4dc0c34To fetch ID of an installed patch feed integration:
        1. Log into OpsRamp.
        2. Click All Clients and then select the required client.
        3. On the drop-down menu, click Setup.
        4. On the left-hand side panel, click Integrations, click Available Integrations and click on an installed patch feed integration.
        5. Copy the UID.
        6. Paste the UID in the id field of the request payload.
        Example: "installedIntg": { "id": "INTG-c2f39b7b-ad25-11e8-924d-080027f0b4d6" }
    patchBaseline:
      title: patchBaseline
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Unique name to identify a patch baseline.
        description:
          type: string
          description: Description of a patch baseline.
        dynamic:
          type: boolean
          description: |-
            - Provide "dynamic": false to create a static baseline.
            - Provide "dynamic": true to create a dynamic baseline.
        installedIntg:
          $ref: '#/components/schemas/installedIntg'
        enabled:
          type: boolean
        createdUser:
          $ref: '#/components/schemas/user'
        updatedUser:
          $ref: '#/components/schemas/user'
        createdTime:
          type: string
          format: date-time
        updatedTime:
          type: string
          format: date-time
        policy:
          $ref: '#/components/schemas/policy'
    user:
      title: user
      type: object
      properties:
        loginName:
          type: string
        lastName:
          type: string
        firstName:
          type: string
        email:
          type: string
    rule:
      title: rule
      type: object
      description: Baseline rules
      properties:
        key:
          type: string
          enum:
            - Category
            - Cve
            - Rating
            - Severity
          example: Category
        operator:
          type: string
          enum:
            - Contains
            - Not Contains
            - Equals
            - Not Equals
            - Starts with
            - Ends with
          example: Contains
        value:
          type: string
          description: 'The values (Whitelisted, Blacklisted) are used only for "rating" rest can be used as free text.'
        id:
          type: integer
        resourceType:
          type: string
          example: DEVICE
          description: Resource Type
    policy:
      title: policy
      type: object
      description: Policy to define filter criteria for dynamic baselines
      properties:
        matchType:
          type: string
          enum:
            - ALL
        rules:
          type: array
          items:
            $ref: '#/components/schemas/rule'
        id:
          type: integer
        uid:
          type: string
        actions:
          type: array
          items: {}
    patchCompliance:
      title: patchCompliance
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Unique name for patch compliance.
        description:
          type: string
          description: Description for patch compliance.
        createdUser:
          $ref: '#/components/schemas/user'
        updatedUser:
          $ref: '#/components/schemas/user'
        createdTime:
          type: string
          format: date-time
        updatedTime:
          type: string
          format: date-time
        osType:
          type: string
          description: Patches of a certain OS (operating system).
          enum:
            - WINDOWS
            - LINUX
    device:
      title: device
      type: object
      properties:
        id:
          type: string
        generalInfo:
          type: object
          properties:
            osName:
              type: string
            ipAddresses:
              type: string
            hostName:
              type: string
            resourceType:
              type: string
            resourceName:
              type: string
            aliasName:
              type: string
            osBuildNumber:
              type: string
        clientUniqueId:
          type: string
        type:
          type: string
    deviceGroup:
      title: deviceGroup
      type: object
      properties:
        id:
          type: string
        uniqueId:
          type: string
        name:
          type: string
        description:
          type: string
        client:
          $ref: '#/components/schemas/client'
    baselineResourceCompliance:
      title: baselineResourceCompliance
      type: object
      properties:
        approvalStatus:
          type: string
        patchStatus:
          type: string
        installedStatus:
          type: string
        scanTime:
          type: string
          format: date-time
        installedTime:
          type: string
          format: date-time
        approvedTime:
          type: string
          format: date-time
        patch:
          $ref: '#/components/schemas/patch'
        resource:
          $ref: '#/components/schemas/resource'
    patch:
      title: patch
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        externalId:
          type: string
        category:
          type: string
        releaseTime:
          type: string
        type:
          type: string
        rebootRequired:
          type: boolean
        rating:
          type: object
          properties:
            rating:
              type: string
        severity:
          type: string
    resource:
      title: resource
      type: object
      properties:
        id:
          type: string
        hostName:
          type: string
        ipAddress:
          type: string
        type:
          type: string
        aliasName:
          type: string
        resourceName:
          type: string
        consoles:
          type: array
          items: {}
        resourceType:
          type: string
        frequency:
          type: integer
        paused:
          type: boolean
        deleted:
          type: boolean
        validateSSL:
          type: boolean
        port:
          type: integer
        encrypted:
          type: boolean
        timeout:
          type: integer
        days:
          type: integer
        ts:
          type: integer
        clientId:
          type: integer
        locationOffset:
          type: integer
        totalLocations:
          type: integer
        receiverHostPort:
          type: integer
    client:
      title: client
      type: object
      properties:
        id:
          type: integer
        uniqueId:
          type: string
        name:
          type: string
        activated:
          type: boolean
    schedule:
      title: schedule
      type: object
      description: Schedule settings.
      properties:
        startDate:
          type: string
          description: Start date for execution of job.
          format: date-time
        pattern:
          type: object
          properties:
            type:
              type: string
              description: |-
                Recurrence pattern type.

                **Note**: The Run On Demand recurrence pattern is not available as an API.
              enum:
                - daily
                - weekly
                - monthly
                - never
                - run once
                - Patch Tuesday
              example: daily
            frequency:
              type: string
              description: |-
                Days on which the schedule is applied. Frequency is dependent on recurrence pattern type.
                Example: Provide type as weekly, then frequency is the day on which the job is run.
              enum:
                - everyday
                - every weekday
                - recurrence
            repeatFrequency:
              type: integer
            repeatType:
              type: string
              description: Run the job constantly on specific days.
            weekDays:
              type: string
              description: Days on which the job is run.
              enum:
                - Sunday
                - Monday
                - Tuesday
                - Wednesday
                - Thursday
                - Friday
                - Saturday
            dayOfMonth:
              type: integer
              description: |-
                Day on which the job is scheduled to run every month. Days range between 1 to 31.
                Example: Provide dayOfMonth as 4, then the job is run on 4th day of every month.
              minimum: 1
              maximum: 31
            weekIndex:
              type: string
              description: |-
                Week on which the job is run.
                Example: First Monday
              enum:
                - First
                - Second
                - Third
                - Fourth
                - Last
            dayOfIndex:
              type: string
              description: |-
                Day on which the job is scheduled to run.
                Example: Provide weekIndex as First and dayOfMonth as Sunday, this indicates that job is run on First Sunday of every month.
              enum:
                - Sunday
                - Monday
                - Tuesday
                - Wednesday
                - Thursday
                - Friday
                - Saturday
        timezone:
          type: string
          description: Time-zone number as designated for time-zones.
        daysToAdd:
          type: integer
          minimum: 1
          maximum: 26
          example: 6
          description: Schedule patching on nth day from Patch tuesday.Required when recurrence type = "Patch Tuesday"
    scheduleJob:
      title: scheduleJob
      type: object
      description: ''
      properties:
        name:
          type: string
        entities:
          type: array
          description: Resources in which the patches are executed.
          items:
            type: object
            properties:
              resource:
                $ref: '#/components/schemas/device'
        schedule:
          $ref: '#/components/schemas/schedule'
        client:
          $ref: '#/components/schemas/client'
        script:
          type: object
          properties:
            jobType:
              type: string
              description: Job type.
    patchConfig:
      title: patchConfig
      type: object
      properties:
        id:
          type: string
        patchConfigName:
          type: string
          description: Patch configuration name.
        description:
          type: string
          description: Description for patch configuration.
        approvalType:
          type: object
          description: ''
          properties:
            approvalType:
              type: integer
              description: |-
                Approval type for executing patches.
                - 0: Manual
                - 1: Auto
              minimum: 0
              maximum: 1
              enum:
                - 0
                - 1
              example: 0
            approvalReason:
              type: string
              description: Approval reason for executing patches.
        rebootOptions:
          type: object
          properties:
            rebootRequired:
              type: boolean
              description: Reboot required after execution of patches.
            mandatoryReboot:
              type: boolean
              description: Force reboot after execution of patches.
        scheduleJob:
          $ref: '#/components/schemas/scheduleJob'
        enablePatching:
          type: boolean
          description: Enable patching.
        maintenancePeriod:
          type: integer
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
          example: 1
          description: 'Supported values in hours only. Any one values from 1 to 12 (1,2,3,4,5,6,7,8,9,10,11,12).`1` represents, 1 hour maintainence period.'
          minimum: 1
          maximum: 12
        approval:
          type: string
        installation:
          type: string
        source:
          type: string
    patchDetails:
      title: patchDetails
      type: object
      properties:
        comments:
          type: string
          description: Comments for the rating.
        createdUser:
          $ref: '#/components/schemas/user'
        updatedUser:
          $ref: '#/components/schemas/user'
        createdTime:
          type: string
          format: date-time
        updatedTime:
          type: string
          format: date-time
        rating:
          type: string
          description: Patch rating.
          enum:
            - WHITELISTED
            - BLACKLISTED
        cve:
          type: string
          description: Common Vulnerabilities and Exposures ID.
        patch:
          $ref: '#/components/schemas/patch'
        id:
          type: string
          description: 'ID of patch for which you wish to assign a rating and provide qualifications. To fetch patch IDs of a tenant, use the Search Patches API.'
    scanstatus:
      title: scanstatus
      type: object
      properties:
        lastPatchScanDate:
          type: string
          format: date-time
        lastPatchScanStatus:
          type: string
        missingPatchesBeforeScan:
          type: integer
        missingPatchesAfterScan:
          type: integer
        noOfMissingPatchesFoundInLastScan:
          type: integer
    installStatus:
      title: installStatus
      type: object
      properties:
        lastPatchTriggeredDate:
          type: string
          format: date-time
        lastPatchInstalledDate:
          type: string
          format: date-time
        lastMachineRebootDate:
          type: string
          format: date-time
        lastPatchInstalledStatus:
          type: string
    patchList:
      type: array
      description: ''
      minItems: 1
      uniqueItems: true
      items:
        type: string
