components:
  schemas:
    Assessment:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Assessment
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test assessment
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: ASSESSMENT-1
          type: string
        control:
          allOf:
          - $ref: '#/components/schemas/ControlInfo'
          nullable: true
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        description:
          example: Assessment description
          nullable: true
          type: string
        status:
          enum:
          - Open
          - Submitted
          - Completed
          example: Open
          type: string
        creators:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        assessors:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        verifiers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        notify_assessor:
          type: boolean
        design:
          enum:
          - Effective
          - Ineffective
          - N/A
          - null
          example: Ineffective
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        test_plan:
          example: Assessment Test Plan
          nullable: true
          type: string
        start_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        due_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        operationally:
          enum:
          - Effective
          - Ineffective
          - N/A
          - null
          example: N/A
          nullable: true
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        conclusion:
          example: Effective
          type: string
        mapped:
          $ref: '#/components/schemas/AssessmentMapped'
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    AssessmentAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    AssessmentComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    AssessmentCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: &id001
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: &id002
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: ASSESSMENT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        custom_attributes:
          default: &id003 {}
          type: object
        audits:
          example: &id004
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        control:
          example: 1
          format: int32
          type: integer
        creators:
          example: &id005
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        assessors:
          example: &id006
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        verifiers:
          example: &id007
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        notify_assessor:
          type: boolean
        design:
          example: Effective
          type: string
        test_plan:
          example: Assessment Test Plan
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          type: string
        due_date:
          example: '2017-12-02'
          format: date
          type: string
        operationally:
          example: Ineffective
          type: string
      required:
      - assessors
      - audits
      - creators
      - owners
      - start_date
      - status
      - title
      type: object
    AssessmentCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AssessmentCreate'
          type: array
      required:
      - data
      type: object
    AssessmentCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    AssessmentCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    AssessmentDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    AssessmentDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AssessmentDelete'
          type: array
      required:
      - data
      type: object
    AssessmentInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Assessment
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test assessment
          type: string
      type: object
    AssessmentList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Assessment'
          type: array
      type: object
    AssessmentListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    AssessmentMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    AssessmentMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    AssessmentMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    AssessmentMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AssessmentMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    AssessmentMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    AssessmentMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    AssessmentUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: ASSESSMENT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        audits:
          example: *id004
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        control:
          example: 1
          format: int32
          nullable: true
          type: integer
        creators:
          example: *id005
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        assessors:
          example: *id006
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        verifiers:
          example: *id007
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        notify_assessor:
          nullable: true
          type: boolean
        design:
          example: Effective
          nullable: true
          type: string
        test_plan:
          example: Assessment Test Plan
          nullable: true
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        due_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        operationally:
          example: Ineffective
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    AssessmentUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AssessmentUpdate'
          type: array
      required:
      - data
      type: object
    AttachmentByTypeList:
      properties:
        files:
          items:
            $ref: '#/components/schemas/File'
          type: array
        links:
          items:
            $ref: '#/components/schemas/AttachmentsResponse'
          type: array
      type: object
    AttachmentsResponse:
      properties:
        document_id:
          example: 11
          format: int32
          type: integer
      type: object
    Audit:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Audit
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test audit
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: AUDIT-1
          type: string
        description:
          example: Audit description
          nullable: true
          type: string
        status:
          enum:
          - Draft
          - In progress
          - Completed
          example: Draft
          type: string
        program:
          $ref: '#/components/schemas/ProgramInfo'
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        audit_managers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        auditors:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        audit_firm:
          example: The Audit Firm
          nullable: true
          type: string
        start_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        end_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        sync_external_comments:
          nullable: true
          type: boolean
        sync_external_attachments:
          nullable: true
          type: boolean
        report_period_start_date:
          example: '2019-01-20'
          format: date
          nullable: true
          type: string
        report_period_end_date:
          example: '2019-04-20'
          format: date
          nullable: true
          type: string
        internal:
          type: boolean
        managed_in:
          enum:
          - zengrc
          - jira
          - servicenow
          example: zengrc
          nullable: true
          type: string
        mapped:
          $ref: '#/components/schemas/AuditMapped'
      type: object
    AuditAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    AuditComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    AuditCreate:
      properties:
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          type: string
        code:
          example: AUDIT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        custom_attributes:
          default: *id003
          type: object
        program:
          example: 1
          format: int32
          type: integer
        audit_managers:
          example: &id008
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        auditors:
          example: &id009
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        audit_firm:
          example: The Audit Firm
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          type: string
        end_date:
          example: '2017-12-02'
          format: date
          type: string
        sync_external_comments:
          type: boolean
        sync_external_attachments:
          type: boolean
        report_period_start_date:
          example: '2019-01-20'
          format: date
          type: string
        report_period_end_date:
          example: '2019-04-20'
          format: date
          type: string
        internal:
          type: boolean
        managed_in:
          example: zengrc
          type: string
      required:
      - audit_managers
      - status
      - title
      type: object
    AuditCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AuditCreate'
          type: array
      required:
      - data
      type: object
    AuditCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    AuditCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    AuditDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    AuditDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AuditDelete'
          type: array
      required:
      - data
      type: object
    AuditInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Audit
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test audit
          type: string
      type: object
    AuditList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Audit'
          type: array
      type: object
    AuditListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    AuditMapped:
      properties:
        assessments:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        markets:
          items:
            $ref: '#/components/schemas/MarketInfo'
          type: array
        products:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        standards:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
        tasks:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
      type: object
    AuditMappedAssessment:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
      type: object
    AuditMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    AuditMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        assessments:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        markets:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        products:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        standards:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        tasks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    AuditMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AuditMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    AuditMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    AuditMappedMarket:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/MarketInfo'
          type: array
      type: object
    AuditMappedProduct:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
      type: object
    AuditMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    AuditMappedStandard:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    AuditMappedTask:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
      type: object
    AuditUpdate:
      properties:
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: AUDIT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        program:
          example: 1
          format: int32
          nullable: true
          type: integer
        audit_managers:
          example: *id008
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        auditors:
          example: *id009
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        audit_firm:
          example: The Audit Firm
          nullable: true
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        end_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        sync_external_comments:
          nullable: true
          type: boolean
        sync_external_attachments:
          nullable: true
          type: boolean
        report_period_start_date:
          example: '2019-01-20'
          format: date
          nullable: true
          type: string
        report_period_end_date:
          example: '2019-04-20'
          format: date
          nullable: true
          type: string
        internal:
          nullable: true
          type: boolean
        managed_in:
          example: zengrc
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    AuditUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AuditUpdate'
          type: array
      required:
      - data
      type: object
    Clause:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Clause
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test clause
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: CLAUSE-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Clause description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Identified
          type: string
        reference_url:
          example: http://www.clause-ref-url.com
          type: string
        url:
          example: http://www.clause-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-22'
          format: date
          type: string
        stop_date:
          example: '2019-03-22'
          format: date
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ClauseAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ClauseComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ClauseCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: CLAUSE-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    ClauseCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ClauseCreate'
          type: array
      required:
      - data
      type: object
    ClauseCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ClauseCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ClauseDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ClauseDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ClauseDelete'
          type: array
      required:
      - data
      type: object
    ClauseInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Clause
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test clause
          type: string
      type: object
    ClauseList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Clause'
          type: array
      type: object
    ClauseListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ClauseUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: CLAUSE-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    ClauseUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ClauseUpdate'
          type: array
      required:
      - data
      type: object
    Comment:
      properties:
        description:
          example: Test comment's description
          type: string
        id:
          example: 42
          format: int32
          type: integer
        created_at:
          example: '2019-10-14T02:16:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2019-10-14T02:27:13+00:00'
          format: date-time
          type: string
        owner:
          $ref: '#/components/schemas/PersonDetails'
      required:
      - description
      type: object
    CommentInfo:
      properties:
        description:
          example: Test comment's description
          type: string
      required:
      - description
      type: object
    CommentList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    Contract:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Contract
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test contract
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: CONTRACT-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Contract description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Identified
          type: string
        reference_url:
          example: http://www.contract-ref-url.com
          type: string
        url:
          example: http://www.contract-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-22'
          format: date
          type: string
        stop_date:
          example: '2019-03-22'
          format: date
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ContractAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ContractComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ContractCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: CONTRACT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    ContractCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ContractCreate'
          type: array
      required:
      - data
      type: object
    ContractCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ContractCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ContractDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ContractDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ContractDelete'
          type: array
      required:
      - data
      type: object
    ContractInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Contract
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test contract
          type: string
      type: object
    ContractList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Contract'
          type: array
      type: object
    ContractListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ContractUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: CONTRACT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    ContractUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ContractUpdate'
          type: array
      required:
      - data
      type: object
    Control:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Control
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test control
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: CONTROL-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Control description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          example: Draft
          type: string
        significance:
          nullable: true
          type: boolean
        test_plan:
          example: Control Test Plan
          nullable: true
          type: string
        fraud_related:
          nullable: true
          type: boolean
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        principal_assessor:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_assessor:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        kind:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        means:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        frequency:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        created_at:
          example: '2019-10-14T02:16:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2019-10-14T02:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/ControlMapped'
      type: object
    ControlAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ControlComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ControlCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: CONTROL-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        custom_attributes:
          default: *id003
          type: object
        significance:
          nullable: true
          type: boolean
        test_plan:
          example: Test Plan
          nullable: true
          type: string
        fraud_related:
          nullable: true
          type: boolean
        principal_assessor:
          example: 12
          format: int32
          nullable: true
          type: integer
        secondary_assessor:
          example: 12
          format: int32
          nullable: true
          type: integer
        kind:
          example: Detective
          nullable: true
          type: string
        means:
          example: Technical
          nullable: true
          type: string
        frequency:
          example: Yearly
          nullable: true
          type: string
        standards:
          example: &id010
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - owners
      - status
      - title
      type: object
    ControlCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ControlCreate'
          type: array
      required:
      - data
      type: object
    ControlCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ControlCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ControlDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ControlDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ControlDelete'
          type: array
      required:
      - data
      type: object
    ControlInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Control
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test control
          type: string
      type: object
    ControlList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Control'
          type: array
      type: object
    ControlListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ControlMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        objectives:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
        requests:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        standards:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    ControlMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    ControlMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        objectives:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        requests:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        standards:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    ControlMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ControlMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    ControlMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    ControlMappedObjective:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
      type: object
    ControlMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    ControlMappedRequest:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
      type: object
    ControlMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    ControlUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: CONTROL-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        significance:
          nullable: true
          type: boolean
        test_plan:
          example: Test Plan
          nullable: true
          type: string
        fraud_related:
          nullable: true
          type: boolean
        principal_assessor:
          example: 12
          format: int32
          nullable: true
          type: integer
        secondary_assessor:
          example: 12
          format: int32
          nullable: true
          type: integer
        kind:
          example: Detective
          nullable: true
          type: string
        means:
          example: Technical
          nullable: true
          type: string
        frequency:
          example: Yearly
          nullable: true
          type: string
        standards:
          example: *id010
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ControlUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ControlUpdate'
          type: array
      required:
      - data
      type: object
    CustomAttrDef:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Custom attribute 1
          type: string
        json_schema:
          example:
            oneOf:
            - type: string
          type: object
      type: object
    CustomAttrDefType:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Custom attribute 1
          type: string
        definition_type:
          example: audit
          type: string
        attribute_type:
          example: Text
          type: string
      type: object
    CustomAttrValue:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Custom attribute 1
          type: string
        value:
          anyOf:
          - type: integer
          - type: number
          - type: string
          - type: boolean
          - type: object
          - type: array
          nullable: true
      type: object
    CustomAttributeDefinitionList:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Custom attribute 1
          type: string
        definition_type:
          example: audit
          type: string
        attribute_type:
          example: Text
          type: string
        data:
          items:
            $ref: '#/components/schemas/CustomAttrDefType'
          type: array
      type: object
    CustomAttrsLinks:
      properties:
        self:
          $ref: '#/components/schemas/SelfLink'
      type: object
    DataAsset:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: DataAsset
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test data asset
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: DATA_ASSET-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Data Asset description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2019-10-11'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-10-12'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/DataAssetMapped'
      type: object
    DataAssetAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    DataAssetComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    DataAssetCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: DATA_ASSET-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    DataAssetCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DataAssetCreate'
          type: array
      required:
      - data
      type: object
    DataAssetCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    DataAssetCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    DataAssetDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    DataAssetDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DataAssetDelete'
          type: array
      required:
      - data
      type: object
    DataAssetInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: DataAsset
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test data asset
          type: string
      type: object
    DataAssetList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/DataAsset'
          type: array
      type: object
    DataAssetListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    DataAssetMapped:
      properties:
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    DataAssetMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        vendors:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    DataAssetMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DataAssetMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    DataAssetMappedVendor:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    DataAssetUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: DATA_ASSET-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    DataAssetUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DataAssetUpdate'
          type: array
      required:
      - data
      type: object
    DetailsLinks:
      properties:
        self:
          $ref: '#/components/schemas/SelfLink'
      type: object
    Deviation:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Exception
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Exception
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: EXCEPTION-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Exception desc
          nullable: true
          type: string
        tags:
          example:
          - t 1
          - t 2
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.url.com
          nullable: true
          type: string
        url:
          example: https://www.dev-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/DeviationMapped'
      type: object
    DeviationAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    DeviationComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    DeviationCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: EXCEPTION-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    DeviationCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeviationCreate'
          type: array
      required:
      - data
      type: object
    DeviationCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    DeviationCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    DeviationDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    DeviationDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeviationDelete'
          type: array
      required:
      - data
      type: object
    DeviationInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Exception
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Exception
          type: string
      type: object
    DeviationList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Deviation'
          type: array
      type: object
    DeviationListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    DeviationMapped:
      properties:
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    DeviationMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    DeviationMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeviationMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    DeviationMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    DeviationUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: EXCEPTION-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    DeviationUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeviationUpdate'
          type: array
      required:
      - data
      type: object
    Document:
      properties:
        title:
          example: Document title
          nullable: true
          type: string
        original_link:
          example: https://www.document-link.com
          nullable: true
          type: string
        kind:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        year:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        language:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        content_type:
          nullable: true
          type: string
        integration_id:
          format: int32
          nullable: true
          type: integer
        location:
          nullable: true
          type: string
        object_documents:
          items:
            $ref: '#/components/schemas/ObjectDocumentInfo'
          type: array
      type: object
    DocumentDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    DocumentDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DocumentDelete'
          type: array
      required:
      - data
      type: object
    DocumentList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Document'
          type: array
      type: object
    ErrorBadRequest:
      properties:
        error_id:
          example: 12345678-1a2b-3c4d-5e6f-0123456789ab
          type: string
        code:
          example: bad_request
          type: string
        message:
          example: Request parameters are invalid.
          type: string
      type: object
    ErrorInternal:
      properties:
        error_id:
          example: 12345678-1a2b-3c4d-5e6f-0123456789ab
          type: string
        code:
          example: internal
          type: string
        message:
          example: Cursor is invalid.
          type: string
      type: object
    ErrorNotFound:
      properties:
        error_id:
          example: 12345678-1a2b-3c4d-5e6f-0123456789ab
          type: string
        code:
          example: not_found
          type: string
        message:
          example: Resource could not be found.
          type: string
      type: object
    ErrorUnauthorized:
      properties:
        error_id:
          example: 12345678-1a2b-3c4d-5e6f-0123456789ab
          type: string
        code:
          example: unauthorized
          type: string
        message:
          example: You need to authenticate with an API key. You can generate a new
            API key in ZenGRC settings. API Key needs to be specified using Basic
            auth.
          type: string
      type: object
    Facility:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Facility
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test facility
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: FACILITY-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Facility description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2019-10-11'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-10-12'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/FacilityMapped'
      type: object
    FacilityAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    FacilityComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    FacilityCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: FACILITY-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    FacilityCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FacilityCreate'
          type: array
      required:
      - data
      type: object
    FacilityCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    FacilityCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    FacilityDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    FacilityDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FacilityDelete'
          type: array
      required:
      - data
      type: object
    FacilityInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Facility
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test facility
          type: string
      type: object
    FacilityList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Facility'
          type: array
      type: object
    FacilityListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    FacilityMapped:
      properties:
        markets:
          items:
            $ref: '#/components/schemas/MarketInfo'
          type: array
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    FacilityMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        vendors:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        markets:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    FacilityMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FacilityMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    FacilityMappedMarket:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/MarketInfo'
          type: array
      type: object
    FacilityMappedVendor:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    FacilityUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: FACILITY-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    FacilityUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FacilityUpdate'
          type: array
      required:
      - data
      type: object
    File:
      properties:
        document_id:
          example: 11
          format: int32
          type: integer
        name:
          example: evidence.csv
          type: string
        uploaded_at:
          example: '2021-05-24T03:12:58+00:00'
          format: date-time
          type: string
      type: object
    Incident:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Incident
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Incident
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: INCIDENT-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        description:
          example: Incident description
          nullable: true
          type: string
        status:
          enum:
          - Draft
          - Final
          - Deprecated
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/IncidentMapped'
      type: object
    IncidentAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    IncidentComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    IncidentCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: INCIDENT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    IncidentCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IncidentCreate'
          type: array
      required:
      - data
      type: object
    IncidentCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    IncidentCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    IncidentDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    IncidentDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IncidentDelete'
          type: array
      required:
      - data
      type: object
    IncidentInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Incident
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Incident
          type: string
      type: object
    IncidentList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Incident'
          type: array
      type: object
    IncidentListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    IncidentMapped:
      properties:
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    IncidentMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    IncidentMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IncidentMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    IncidentMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    IncidentUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: INCIDENT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    IncidentUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IncidentUpdate'
          type: array
      required:
      - data
      type: object
    Issue:
      properties:
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Issue
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test issue
          type: string
        code:
          example: ISSUE-1
          type: string
        remediation_plan:
          example: Test plan
          nullable: true
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Issue description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Identified
          - Assigned
          - Remediation in progress
          - Resolved
          - Ignored/Invalid
          example: Identified
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2019-10-11'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-10-12'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/IssueMapped'
      type: object
    IssueAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    IssueComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    IssueCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: ISSUE-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        remediation_plan:
          example: Issue Test Plan
          nullable: true
          type: string
        audits:
          example: &id011
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        programs:
          example: &id012
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        assessments:
          example: &id013
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        controls:
          example: &id014
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        vendors:
          example: &id015
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        standards:
          example: &id016
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
      required:
      - owners
      - status
      - title
      type: object
    IssueCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IssueCreate'
          type: array
      required:
      - data
      type: object
    IssueCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    IssueCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    IssueDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    IssueDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IssueDelete'
          type: array
      required:
      - data
      type: object
    IssueInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Issue
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test issue
          type: string
      type: object
    IssueList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Issue'
          type: array
      type: object
    IssueListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    IssueMapped:
      properties:
        assessments:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        projects:
          items:
            $ref: '#/components/schemas/ProjectInfo'
          type: array
        requests:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        standards:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    IssueMappedAssessment:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
      type: object
    IssueMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    IssueMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    IssueMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        assessments:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        projects:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        requests:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        standards:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        vendors:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    IssueMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IssueMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    IssueMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    IssueMappedProject:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProjectInfo'
          type: array
      type: object
    IssueMappedRequest:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
      type: object
    IssueMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    IssueMappedStandard:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    IssueUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: ISSUE-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        remediation_plan:
          example: Issue Test Plan
          nullable: true
          type: string
        audits:
          example: *id011
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        programs:
          example: *id012
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        assessments:
          example: *id013
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        controls:
          example: *id014
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        vendors:
          example: *id015
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        standards:
          example: *id016
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    IssueUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/IssueUpdate'
          type: array
      required:
      - data
      type: object
    Links:
      properties:
        link:
          example: https://software/schema.png
          format: url
          type: string
        title:
          example: Software Schema
          type: string
      type: object
    ListLinks:
      properties:
        self:
          $ref: '#/components/schemas/SelfPageLink'
        next:
          allOf:
          - $ref: '#/components/schemas/PageLink'
          nullable: true
        prev:
          allOf:
          - $ref: '#/components/schemas/PageLink'
          nullable: true
      type: object
    Market:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Market
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Market
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: MARKET-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Market description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/MarketMapped'
      type: object
    MarketAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    MarketComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    MarketCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: MARKET-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    MarketCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MarketCreate'
          type: array
      required:
      - data
      type: object
    MarketCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    MarketCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    MarketDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    MarketDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MarketDelete'
          type: array
      required:
      - data
      type: object
    MarketInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Market
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Market
          type: string
      type: object
    MarketList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Market'
          type: array
      type: object
    MarketListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    MarketMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        facilities:
          items:
            $ref: '#/components/schemas/FacilityInfo'
          type: array
      type: object
    MarketMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    MarketMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        facilities:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    MarketMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MarketMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    MarketMappedFacility:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/FacilityInfo'
          type: array
      type: object
    MarketUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: MARKET-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    MarketUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MarketUpdate'
          type: array
      required:
      - data
      type: object
    ObjectDocument:
      properties:
        id:
          example: 1
          format: int32
          type: integer
        role:
          example: Role
          type: string
        notes:
          example: Document notes
          type: string
        documentable_type:
          example: ObjectType
          type: string
        documentable_id:
          example: 1
          format: int32
          type: integer
        public:
          $ref: '#/components/schemas/PublicObjectDocument'
      type: object
    ObjectDocumentInfo:
      properties:
        id:
          example: 1
          format: int32
          type: integer
        role:
          example: Role
          type: string
        notes:
          example: Document notes
          type: string
        documentable_type:
          example: ObjectType
          type: string
        documentable_id:
          example: 1
          format: int32
          type: integer
        public:
          $ref: '#/components/schemas/PublicObjectDocument'
      type: object
    Objective:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Objectives
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test objective
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: OBJECTIVE-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Objective description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.obj-ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.obj-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        created_at:
          example: '2019-10-17T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2019-10-17T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/ObjectiveMapped'
      type: object
    ObjectiveAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ObjectiveComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ObjectiveCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: OBJECTIVE-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    ObjectiveCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ObjectiveCreate'
          type: array
      required:
      - data
      type: object
    ObjectiveCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ObjectiveCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ObjectiveDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ObjectiveDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ObjectiveDelete'
          type: array
      required:
      - data
      type: object
    ObjectiveInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Objectives
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test objective
          type: string
      type: object
    ObjectiveList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Objective'
          type: array
      type: object
    ObjectiveListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ObjectiveMapped:
      properties:
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    ObjectiveMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    ObjectiveMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    ObjectiveMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ObjectiveMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    ObjectiveMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    ObjectiveMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    ObjectiveMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    ObjectiveUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: OBJECTIVE-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ObjectiveUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ObjectiveUpdate'
          type: array
      required:
      - data
      type: object
    OptionInfo:
      properties:
        id:
          example: 11
          format: int32
          type: integer
        title:
          example: Option
          type: string
      type: object
    OrgGroup:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: OrgGroup
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Org Group
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: ORG_GROUP-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Org group description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        mapped:
          $ref: '#/components/schemas/OrgGroupMapped'
        created_at:
          example: '2019-10-17T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2019-10-17T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    OrgGroupAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    OrgGroupComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    OrgGroupCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        code:
          example: ORG_GROUP-1
          type: string
        title:
          example: OrgGroup N
          type: string
        description:
          example: OrgGroup N description
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
      required:
      - owners
      - status
      - title
      type: object
    OrgGroupCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OrgGroupCreate'
          type: array
      required:
      - data
      type: object
    OrgGroupCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    OrgGroupCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    OrgGroupDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    OrgGroupDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OrgGroupDelete'
          type: array
      required:
      - data
      type: object
    OrgGroupInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: OrgGroup
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Org Group
          type: string
      type: object
    OrgGroupList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroup'
          type: array
      type: object
    OrgGroupListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    OrgGroupMapped:
      properties:
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        objectives:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
        people:
          items:
            $ref: '#/components/schemas/PersonDetails1'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        standards:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    OrgGroupMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    OrgGroupMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        objectives:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        people:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        standards:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    OrgGroupMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OrgGroupMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    OrgGroupMappedObjective:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
      type: object
    OrgGroupMappedPerson:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/PersonDetails1'
          type: array
      type: object
    OrgGroupMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    OrgGroupMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    OrgGroupMappedStandard:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    OrgGroupUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        code:
          example: ORG_GROUP-1
          nullable: true
          type: string
        title:
          example: OrgGroup N
          nullable: true
          type: string
        description:
          example: OrgGroup N description
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    OrgGroupUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/OrgGroupUpdate'
          type: array
      required:
      - data
      type: object
    PageLink:
      properties:
        href:
          example: /api/v2/<endpoint name>?cursor=eyJwYWdlIjo1fQ.DscOXw.22QN8J4mF5bisuvFxmQIDzqQD7
          type: string
        meta:
          allOf:
          - $ref: '#/components/schemas/PageLinkMeta'
          nullable: true
      type: object
    PageLinkMeta:
      properties:
        cursor:
          example: eyJwYWdlIjo1fQ.DscOXw.22QN8J4mF5bisuvFxmQIDzqQD7
          nullable: true
          type: string
      type: object
    Person:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Person
          type: string
        id:
          example: 11
          format: int32
          type: integer
        name:
          example: John Smith
          nullable: true
          type: string
        email:
          example: john@smith.com
          type: string
        company:
          example: Reciprocity
          nullable: true
          type: string
        user_role:
          example: Reader
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/PersonMapped'
      type: object
    PersonAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    PersonComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    PersonCreate:
      properties:
        custom_attributes:
          default: *id003
          type: object
        name:
          example: John Smith
          nullable: true
          type: string
        email:
          example: john@smith.com
          format: email
          type: string
        company:
          example: Reciprocity
          nullable: true
          type: string
        user_role:
          enum:
          - No Access
          - Contributor
          - ExternalAuditor
          - Reader
          - Editor
          - Administrator
          example: Reader
          nullable: true
          type: string
      required:
      - email
      type: object
    PersonCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PersonCreate'
          type: array
      required:
      - data
      type: object
    PersonCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    PersonCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    PersonDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    PersonDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PersonDelete'
          type: array
      required:
      - data
      type: object
    PersonDetails:
      properties:
        id:
          example: 11
          format: int32
          type: integer
        name:
          example: John Smith
          nullable: true
          type: string
        email:
          example: john@smith.com
          type: string
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
      type: object
    PersonDetails1:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Person
          type: string
        id:
          example: 11
          format: int32
          type: integer
        name:
          example: John Smith
          nullable: true
          type: string
        email:
          example: john@smith.com
          type: string
        company:
          example: Reciprocity
          nullable: true
          type: string
        user_role:
          example: Reader
          type: string
      type: object
    PersonInfo:
      properties:
        type:
          example: Person
          type: string
        id:
          example: 11
          format: int32
          type: integer
        name:
          example: John Smith
          nullable: true
          type: string
      type: object
    PersonList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Person'
          type: array
      type: object
    PersonListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    PersonMapped:
      properties:
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    PersonMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        org_groups:
          example: &id017
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    PersonMappedCreateUpdateListSchema:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PersonMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    PersonMappedCreateUpdateSchema:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        org_groups:
          example: *id017
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    PersonMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    PersonSelf:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Person
          type: string
        id:
          example: 11
          format: int32
          type: integer
        name:
          example: John Smith
          nullable: true
          type: string
      type: object
    PersonUpdate:
      properties:
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        name:
          example: John Smith
          nullable: true
          type: string
        email:
          example: john@smith.com
          format: email
          nullable: true
          type: string
        company:
          example: Reciprocity
          nullable: true
          type: string
        user_role:
          enum:
          - No Access
          - Contributor
          - ExternalAuditor
          - Reader
          - Editor
          - Administrator
          example: Reader
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    PersonUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PersonUpdate'
          type: array
      required:
      - data
      type: object
    Policy:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Policy
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test policy
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: POLICY-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Policy description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Identified
          type: string
        reference_url:
          example: http://www.policy-ref-url.com
          type: string
        url:
          example: http://www.policy-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-22'
          format: date
          type: string
        stop_date:
          example: '2019-03-22'
          format: date
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        kind:
          enum:
          - Company Policy
          - Org Group Policy
          - Data Asset Policy
          - Product Policy
          - Contract-Related Policy
          - Company Controls Policy
          example: Company Policy
          type: string
      type: object
    PolicyAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    PolicyComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    PolicyCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: POLICY-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        kind:
          example: Company Policy
          type: string
      required:
      - owners
      - status
      - title
      type: object
    PolicyCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PolicyCreate'
          type: array
      required:
      - data
      type: object
    PolicyCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    PolicyCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    PolicyDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    PolicyDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PolicyDelete'
          type: array
      required:
      - data
      type: object
    PolicyInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Policy
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test policy
          type: string
      type: object
    PolicyList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Policy'
          type: array
      type: object
    PolicyListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    PolicyUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: POLICY-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        kind:
          example: Company Policy
          nullable: true
          type: string
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    PolicyUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PolicyUpdate'
          type: array
      required:
      - data
      type: object
    Process:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Process
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test process
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: Process-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Process description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Identified
          type: string
        reference_url:
          example: http://www.process-ref-url.com
          type: string
        url:
          example: http://www.process-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-22'
          format: date
          type: string
        stop_date:
          example: '2019-03-22'
          format: date
          type: string
        network_zone:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ProcessAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ProcessComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ProcessCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: Process-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        network_zone:
          enum:
          - Corp
          - Prod
          - 3rd Party
          - Core
          - Service
          example: Corp
          type: string
      required:
      - owners
      - status
      - title
      type: object
    ProcessCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProcessCreate'
          type: array
      required:
      - data
      type: object
    ProcessCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProcessCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProcessDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProcessDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProcessDelete'
          type: array
      required:
      - data
      type: object
    ProcessInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Process
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test process
          type: string
      type: object
    ProcessList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Process'
          type: array
      type: object
    ProcessListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ProcessUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: Process-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        network_zone:
          enum:
          - Corp
          - Prod
          - 3rd Party
          - Core
          - Service
          example: Corp
          nullable: true
          type: string
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    ProcessUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProcessUpdate'
          type: array
      required:
      - data
      type: object
    Product:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Product
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test product
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: PRODUCT-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Product description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-product-url.com
          nullable: true
          type: string
        url:
          example: https://www.product-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        kind:
          $ref: '#/components/schemas/ProductKindInfo'
        mapped:
          $ref: '#/components/schemas/ProductMapped'
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ProductAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ProductComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ProductCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: PRODUCT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        kind:
          example: Not Applicable
          type: string
      required:
      - owners
      - status
      - title
      type: object
    ProductCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProductCreate'
          type: array
      required:
      - data
      type: object
    ProductCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProductCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProductDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProductDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProductDelete'
          type: array
      required:
      - data
      type: object
    ProductInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Product
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test product
          type: string
      type: object
    ProductKindInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Product Kind
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test product Kind
          type: string
      type: object
    ProductList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Product'
          type: array
      type: object
    ProductListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ProductMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    ProductMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    ProductMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        vendors:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    ProductMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProductMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    ProductMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    ProductMappedVendor:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    ProductUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: PRODUCT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        kind:
          example: Not Applicable
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProductUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProductUpdate'
          type: array
      required:
      - data
      type: object
    Program:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Program
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test program
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: PROGRAM-1
          type: string
        description:
          example: Program description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        managers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        editors:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        readers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        mapped:
          $ref: '#/components/schemas/ProgramMapped'
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ProgramAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ProgramComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ProgramCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          type: string
        code:
          example: PROGRAM-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        managers:
          example: &id018
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        editors:
          example: &id019
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        readers:
          example: &id020
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - managers
      - status
      - title
      type: object
    ProgramCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProgramCreate'
          type: array
      required:
      - data
      type: object
    ProgramCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProgramCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProgramDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProgramDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProgramDelete'
          type: array
      required:
      - data
      type: object
    ProgramInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Program
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test program
          type: string
      type: object
    ProgramList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Program'
          type: array
      type: object
    ProgramListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ProgramMapped:
      properties:
        assessments:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
        requests:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        standards:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
        systems:
          items:
            $ref: '#/components/schemas/SystemInfo'
          type: array
      type: object
    ProgramMappedAssessment:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AssessmentInfo'
          type: array
      type: object
    ProgramMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        assessments:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        requests:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        standards:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        systems:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    ProgramMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProgramMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    ProgramMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    ProgramMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    ProgramMappedRequest:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RequestInfo'
          type: array
      type: object
    ProgramMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    ProgramMappedStandard:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/StandardInfo'
          type: array
      type: object
    ProgramMappedSystem:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/SystemInfo'
          type: array
      type: object
    ProgramUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: PROGRAM-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        managers:
          example: *id018
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        editors:
          example: *id019
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        readers:
          example: *id020
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProgramUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProgramUpdate'
          type: array
      required:
      - data
      type: object
    Project:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Project
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test project
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: PROJECT-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Project description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/ProjectMapped'
      type: object
    ProjectAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ProjectComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ProjectCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: PROJECT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    ProjectCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProjectCreate'
          type: array
      required:
      - data
      type: object
    ProjectCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProjectCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ProjectDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProjectDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProjectDelete'
          type: array
      required:
      - data
      type: object
    ProjectInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Project
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test project
          type: string
      type: object
    ProjectList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Project'
          type: array
      type: object
    ProjectListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ProjectMapped:
      properties:
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    ProjectMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    ProjectMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProjectMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    ProjectMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    ProjectUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: PROJECT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ProjectUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ProjectUpdate'
          type: array
      required:
      - data
      type: object
    PublicObjectDocument:
      properties:
        id:
          example: 1
          format: int32
          type: integer
        public_id:
          example: Public ID
          type: string
        created_at:
          example: '2022-02-14T12:34:56Z'
          format: date-time
          type: string
        updated_at:
          example: '2022-02-14T12:34:56Z'
          format: date-time
          type: string
      type: object
    Relationship:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Relationship
          type: string
        id:
          example: 42
          format: int32
          type: integer
        source_id:
          example: 42
          format: int32
          type: integer
        source_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Control
          type: string
        destination_id:
          example: 42
          format: int32
          type: integer
        destination_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Section
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        modified_by:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          example: 42
          nullable: true
      required:
      - destination_id
      - destination_type
      - source_id
      - source_type
      type: object
    RelationshipCreate:
      properties:
        source_id:
          example: 1
          format: int32
          type: integer
        source_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Control
          type: string
        destination_id:
          example: 1
          format: int32
          type: integer
        destination_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Section
          type: string
      required:
      - destination_id
      - destination_type
      - source_id
      - source_type
      type: object
    RelationshipCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RelationshipCreate'
          type: array
      required:
      - data
      type: object
    RelationshipDelete:
      properties:
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    RelationshipDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RelationshipDelete'
          type: array
      required:
      - data
      type: object
    RelationshipInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Relationship
          type: string
        id:
          example: 42
          format: int32
          type: integer
      type: object
    RelationshipList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Relationship'
          type: array
      type: object
    RelationshipListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    RelationshipUpdate:
      properties:
        source_id:
          example: 1
          format: int32
          nullable: true
          type: integer
        source_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Control
          nullable: true
          type: string
        destination_id:
          example: 1
          format: int32
          nullable: true
          type: integer
        destination_type:
          enum:
          - Assessment
          - Audit
          - Clause
          - Contract
          - Control
          - DataAsset
          - Deviation
          - Facility
          - Incident
          - Issue
          - Market
          - Objective
          - OrgGroup
          - Person
          - Policy
          - Process
          - Product
          - Program
          - Project
          - Request
          - Risk
          - Section
          - Standard
          - System
          - Task
          - Threat
          - Vendor
          - Vulnerability
          example: Section
          nullable: true
          type: string
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    RelationshipUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RelationshipUpdate'
          type: array
      required:
      - data
      type: object
    Request:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Request
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test request
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: REQUEST-1
          type: string
        description:
          example: Request description
          nullable: true
          type: string
        status:
          enum:
          - Open
          - Submitted
          - Reviewed
          - Completed
          example: Open
          type: string
        tags:
          items:
            example: example
            type: string
          nullable: true
          type: array
        audit:
          $ref: '#/components/schemas/AuditInfo'
        assignees:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        requesters:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        reviewers:
          items:
            $ref: '#/components/schemas/ReviewerStatus'
          nullable: true
          type: array
        verifiers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          nullable: true
          type: array
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        notify_assignee:
          nullable: true
          type: boolean
        test:
          example: Request test
          nullable: true
          type: string
        start_date:
          example: '2018-12-22'
          format: date
          type: string
        due_date:
          example: '2019-03-22'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/RequestMapped'
      type: object
    RequestAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    RequestComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    RequestCreate:
      properties:
        custom_attributes:
          default: *id003
          type: object
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          type: string
        code:
          example: REQUEST-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        audit:
          example: 1
          format: int32
          type: integer
        assignees:
          example: &id021
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        requesters:
          example: &id022
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        reviewers:
          example: &id023
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        verifiers:
          example: &id024
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        notify_assignee:
          type: boolean
        test:
          example: Request Test
          type: string
        due_date:
          example: '2017-12-01'
          format: date
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          type: string
      required:
      - assignees
      - audit
      - requesters
      - start_date
      - status
      - title
      type: object
    RequestCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RequestCreate'
          type: array
      required:
      - data
      type: object
    RequestCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    RequestCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    RequestDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    RequestDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RequestDelete'
          type: array
      required:
      - data
      type: object
    RequestInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Request
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test request
          type: string
      type: object
    RequestList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Request'
          type: array
      type: object
    RequestListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    RequestMapped:
      properties:
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    RequestMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    RequestMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    RequestMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RequestMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    RequestMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    RequestMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    RequestUpdate:
      properties:
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: REQUEST-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        audit:
          example: 1
          format: int32
          nullable: true
          type: integer
        assignees:
          example: *id021
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        requesters:
          example: *id022
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        reviewers:
          example: *id023
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        verifiers:
          example: *id024
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        notify_assignee:
          nullable: true
          type: boolean
        test:
          example: Request Test
          nullable: true
          type: string
        due_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        start_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    RequestUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RequestUpdate'
          type: array
      required:
      - data
      type: object
    ResponseItem:
      properties:
        id:
          example: 5
          format: int32
          type: integer
        errors:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
        success:
          example: false
          type: boolean
      required:
      - success
      type: object
    ReviewerStatus:
      properties:
        reviewer:
          $ref: '#/components/schemas/PersonInfo'
        status:
          enum:
          - Pending
          - Approved
          - Declined
          - Bypassed
          example: Pending
          type: string
      type: object
    Risk:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Risk
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test risk
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: RISK-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonDetails1'
          type: array
        description:
          example: Risk description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          - Identified
          - Under assessment
          - Assessed
          - Accepting
          - Accepted
          - Transferring
          - Transferred
          - Avoiding
          - Avoided
          - Remediate
          - In remediation
          - Unfounded
          - Closed
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-risk-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        vector_score_values:
          items:
            $ref: '#/components/schemas/RiskVectorScoreValue'
          type: array
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/RiskMapped'
      type: object
    RiskAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    RiskComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    RiskCreate:
      properties:
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: RISK-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        custom_attributes:
          default: *id003
          type: object
        reference_url:
          example: https://www.risk-ref-url.com
          nullable: true
          type: string
        scoring:
          additionalProperties:
            additionalProperties:
              format: float
              type: number
            type: object
          default: &id025 {}
          example: &id026
            '5':
              '1': 1.0
              '2': 3.0
            '6':
              '3': 5.0
              '4': 4.0
          nullable: true
          type: object
      required:
      - owners
      - status
      - title
      type: object
    RiskCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RiskCreate'
          type: array
      required:
      - data
      type: object
    RiskCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    RiskCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    RiskDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    RiskDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RiskDelete'
          type: array
      required:
      - data
      type: object
    RiskFactor:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Risk Factor
          type: string
        code:
          example: RISKFACTORN+
          type: string
        weight:
          example: 1.0
          format: float
          type: number
      type: object
    RiskFactorOption:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        name:
          example: Test Risk Factor Option Name
          type: string
        value:
          example: 0
          format: int32
          type: integer
        risk_factor:
          $ref: '#/components/schemas/RiskFactor'
      type: object
    RiskFactorOptionList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskFactorOption'
          type: array
      type: object
    RiskInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Risk
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test risk
          type: string
      type: object
    RiskList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Risk'
          type: array
      type: object
    RiskListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    RiskMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
        deviations:
          items:
            $ref: '#/components/schemas/DeviationInfo'
          type: array
        incidents:
          items:
            $ref: '#/components/schemas/IncidentInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        objectives:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
        products:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        tasks:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
      type: object
    RiskMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    RiskMappedControl:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    RiskMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        controls:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        deviations:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        incidents:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        objectives:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        products:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        tasks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    RiskMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RiskMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    RiskMappedDeviation:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/DeviationInfo'
          type: array
      type: object
    RiskMappedIncident:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IncidentInfo'
          type: array
      type: object
    RiskMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    RiskMappedObjective:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ObjectiveInfo'
          type: array
      type: object
    RiskMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    RiskMappedProduct:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
      type: object
    RiskMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    RiskMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    RiskMappedTask:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
      type: object
    RiskUpdate:
      properties:
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: RISK-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        reference_url:
          example: https://www.risk-ref-url.com
          nullable: true
          type: string
        scoring:
          additionalProperties:
            additionalProperties:
              format: float
              type: number
            type: object
          default: *id025
          example: *id026
          nullable: true
          type: object
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    RiskUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RiskUpdate'
          type: array
      required:
      - data
      type: object
    RiskVectorScore:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Risk Vector Score
          type: string
        code:
          example: RISKVECTORSCOREN+
          type: string
        formula:
          example: Risk Vector Score Formula
          type: string
        formula_type:
          example: Risk Vector Score Formula Type
          type: string
      type: object
    RiskVectorScoreList:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test Risk Vector Score
          type: string
        code:
          example: RISKVECTORSCOREN+
          type: string
        formula:
          example: Risk Vector Score Formula
          type: string
        formula_type:
          example: Risk Vector Score Formula Type
          type: string
        data:
          items:
            $ref: '#/components/schemas/RiskVectorScore'
          type: array
      type: object
    RiskVectorScoreValue:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        risk_id:
          example: 42
          format: int32
          type: integer
        risk_vector_score:
          $ref: '#/components/schemas/RiskVectorScore'
        computed:
          example: 0.0
          format: float
          type: number
        manual:
          example: 0.0
          format: float
          type: number
        calculated_on:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
      type: object
    Section:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Section
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test section
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: SECTION-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Section description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Identified
          type: string
        reference_url:
          example: http://www.section-ref-url.com
          type: string
        url:
          example: http://www.section-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    SectionAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    SectionComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    SectionCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: SECTION-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    SectionCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SectionCreate'
          type: array
      required:
      - data
      type: object
    SectionCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    SectionCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    SectionDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    SectionDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SectionDelete'
          type: array
      required:
      - data
      type: object
    SectionInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Section
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test section
          type: string
      type: object
    SectionList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Section'
          type: array
      type: object
    SectionListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    SectionUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: SECTION-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    SectionUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SectionUpdate'
          type: array
      required:
      - data
      type: object
    SelfLink:
      properties:
        href:
          example: /api/v2/<endpoint name>/42
          type: string
      type: object
    SelfPageLink:
      properties:
        href:
          example: /api/v2/<endpoint name>
          type: string
      type: object
    Standard:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Standard
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test standard
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: STANDARD-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Standard description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.std-ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.std-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2019-10-17T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2019-10-17T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/StandardMapped'
      type: object
    StandardAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    StandardComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    StandardCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: STANDARD-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        controls:
          example: &id032
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example: &id033
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - owners
      - status
      - title
      type: object
    StandardCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/StandardCreate'
          type: array
      required:
      - data
      type: object
    StandardCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    StandardCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    StandardDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    StandardDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/StandardDelete'
          type: array
      required:
      - data
      type: object
    StandardInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Standard
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test standard
          type: string
      type: object
    StandardList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Standard'
          type: array
      type: object
    StandardListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    StandardMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
        org_groups:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        controls:
          items:
            $ref: '#/components/schemas/ControlInfo'
          type: array
      type: object
    StandardMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    StandardMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example: &id027
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example: &id028
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example: &id029
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        programs:
          example: &id030
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        controls:
          example: &id031
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    StandardMappedCreateUpdateListSchema:
      properties:
        data:
          items:
            $ref: '#/components/schemas/StandardMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    StandardMappedCreateUpdateSchema:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example: *id027
          items:
            format: int32
            type: integer
          type: array
        issues:
          example: *id028
          items:
            format: int32
            type: integer
          type: array
        org_groups:
          example: *id029
          items:
            format: int32
            type: integer
          type: array
        programs:
          example: *id030
          items:
            format: int32
            type: integer
          type: array
        controls:
          example: *id031
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    StandardMappedIssue:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    StandardMappedOrgGroup:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/OrgGroupInfo'
          type: array
      type: object
    StandardMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    StandardUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: STANDARD-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        controls:
          example: *id032
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        issues:
          example: *id033
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    StandardUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/StandardUpdate'
          type: array
      required:
      - data
      type: object
    System:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: System
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test system
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: SYSTEM-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: System description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Final
          - Effective
          - Ineffective
          - Launched
          - Not Launched
          - In Scope
          - Not in Scope
          - Deprecated
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-url.com
          nullable: true
          type: string
        url:
          example: https://www.url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2019-10-11'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2019-10-12'
          format: date
          nullable: true
          type: string
        network_zone:
          allOf:
          - $ref: '#/components/schemas/OptionInfo'
          nullable: true
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/SystemMapped'
      type: object
    SystemAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    SystemComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    SystemCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: SYSTEM-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        network_zone:
          example: Corp
          type: string
      required:
      - owners
      - status
      - title
      type: object
    SystemCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemCreate'
          type: array
      required:
      - data
      type: object
    SystemCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    SystemCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    SystemDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    SystemDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemDelete'
          type: array
      required:
      - data
      type: object
    SystemInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: System
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test system
          type: string
      type: object
    SystemList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/System'
          type: array
      type: object
    SystemListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    SystemMapped:
      properties:
        programs:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    SystemMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        programs:
          example: &id034
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        vendors:
          example: &id035
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    SystemMappedCreateUpdateListSchema:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    SystemMappedCreateUpdateSchema:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        programs:
          example: *id034
          items:
            format: int32
            type: integer
          type: array
        vendors:
          example: *id035
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    SystemMappedProgram:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProgramInfo'
          type: array
      type: object
    SystemMappedVendor:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    SystemUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: SYSTEM-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        network_zone:
          example: Corp
          nullable: true
          type: string
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    SystemUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemUpdate'
          type: array
      required:
      - data
      type: object
    Task:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Task
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test task
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: TASK-1
          type: string
        uuid:
          example: cab62b34-2ca5-4257-8649-6b7ef992b243
          type: string
        description:
          example: Task description
          nullable: true
          type: string
        status:
          enum:
          - Open
          - Submitted
          - Reviewed
          - Completed
          example: Draft
          type: string
        requesters:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        assignees:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        reviewers:
          items:
            $ref: '#/components/schemas/ReviewerStatus'
          nullable: true
          type: array
        verifiers:
          items:
            $ref: '#/components/schemas/PersonInfo'
          nullable: true
          type: array
        start_date:
          example: '2018-12-10'
          format: date
          nullable: true
          type: string
        end_date:
          example: '2019-01-21'
          format: date
          nullable: true
          type: string
        tags:
          items:
            example: example
            type: string
          type: array
        notify_assignee:
          example: 'true'
          nullable: true
          type: boolean
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/TaskMapped'
      type: object
    TaskAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    TaskComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    TaskCreate:
      properties:
        custom_attributes:
          default: *id003
          type: object
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        code:
          example: TASK-1
          type: string
        title:
          example: Task Title
          type: string
        description:
          example: Task Description
          type: string
        status:
          example: Open
          type: string
        related_requesters:
          example: &id036
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        related_assignees:
          example: &id037
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        reviewers:
          example: &id038
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        related_verifiers:
          example: &id039
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          minItems: 0
          type: array
        start_date:
          example: '2023-01-01'
          format: date
          type: string
        end_date:
          example: '2023-12-01'
          format: date
          type: string
        notify_assignee:
          example: 'true'
          type: boolean
      required:
      - status
      - title
      type: object
    TaskCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TaskCreate'
          type: array
      required:
      - data
      type: object
    TaskCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    TaskCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    TaskDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    TaskDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TaskDelete'
          type: array
      required:
      - data
      type: object
    TaskInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Task
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test task
          type: string
      type: object
    TaskList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Task'
          type: array
      type: object
    TaskListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    TaskMapped:
      properties:
        audits:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
        risks:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
        vendors:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    TaskMappedAudit:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/AuditInfo'
          type: array
      type: object
    TaskMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        audits:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        risks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        vendors:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    TaskMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TaskMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    TaskMappedRisk:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/RiskInfo'
          type: array
      type: object
    TaskMappedVendor:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/VendorInfo'
          type: array
      type: object
    TaskUpdate:
      properties:
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        code:
          example: TASK-1
          nullable: true
          type: string
        title:
          example: Task Title
          nullable: true
          type: string
        description:
          example: Task Description
          nullable: true
          type: string
        status:
          example: Open
          nullable: true
          type: string
        related_requesters:
          example: *id036
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        related_assignees:
          example: *id037
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        reviewers:
          example: *id038
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        related_verifiers:
          example: *id039
          items:
            format: int32
            type: integer
          minItems: 0
          nullable: true
          type: array
        start_date:
          example: '2023-01-01'
          format: date
          nullable: true
          type: string
        end_date:
          example: '2023-12-01'
          format: date
          nullable: true
          type: string
        notify_assignee:
          example: 'true'
          nullable: true
          type: boolean
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    TaskUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/TaskUpdate'
          type: array
      required:
      - data
      type: object
    Threat:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Threat
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test threat
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: THREAT-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Threat description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Identified
          - Under assessment
          - Assessed
          - Accepting
          - Accepted
          - Transferring
          - Transferred
          - Avoiding
          - Avoided
          - Remediate
          - In remediation
          - Unfounded
          - Closed
          example: Draft
          type: string
        reference_url:
          example: https://www.ref-threat-url.com
          nullable: true
          type: string
        url:
          example: https://www.threat-url.com
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        primary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        secondary_contact:
          allOf:
          - $ref: '#/components/schemas/PersonInfo'
          nullable: true
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    ThreatAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    ThreatComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    ThreatCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: THREAT-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    ThreatCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ThreatCreate'
          type: array
      required:
      - data
      type: object
    ThreatCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ThreatCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    ThreatDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ThreatDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ThreatDelete'
          type: array
      required:
      - data
      type: object
    ThreatInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Threat
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test threat
          type: string
      type: object
    ThreatList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Threat'
          type: array
      type: object
    ThreatListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    ThreatUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: THREAT-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    ThreatUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ThreatUpdate'
          type: array
      required:
      - data
      type: object
    ValidationError:
      properties:
        code:
          type: string
        user_message:
          type: string
        attributes:
          items:
            type: string
          type: array
        attribute_names:
          items:
            type: string
          type: array
        meta_data:
          type: object
        errors:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      required:
      - code
      - user_message
      type: object
    Vendor:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Vendor
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test vendor
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: VENDOR-1
          type: string
        description:
          example: Vendor description
          nullable: true
          type: string
        status:
          enum:
          - Added
          - Pending Assessment
          - Accepted
          - Rejected
          example: Added
          type: string
        contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        start_date:
          example: '2017-12-01'
          format: date
          type: string
        end_date:
          example: '2017-12-01'
          format: date
          type: string
        notes:
          example: Lorem ipsum
          type: string
        url:
          example: https://www.url.com
          type: string
        reference_url:
          example: https://www.url.com
          type: string
        risk_rating:
          default: null
          enum:
          - Low
          - Medium
          - High
          - null
          example: Medium
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
        mapped:
          $ref: '#/components/schemas/VendorMapped'
      type: object
    VendorAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    VendorComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    VendorCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: VENDOR-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        risk_rating:
          example: Low
          nullable: true
          type: string
        issues:
          example: &id040
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - owners
      - status
      - title
      type: object
    VendorCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VendorCreate'
          type: array
      required:
      - data
      type: object
    VendorCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    VendorCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    VendorDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    VendorDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VendorDelete'
          type: array
      required:
      - data
      type: object
    VendorInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Vendor
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test vendor
          type: string
      type: object
    VendorList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Vendor'
          type: array
      type: object
    VendorListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    VendorMapped:
      properties:
        data_assets:
          items:
            $ref: '#/components/schemas/DataAssetInfo'
          type: array
        facilities:
          items:
            $ref: '#/components/schemas/FacilityInfo'
          type: array
        products:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
        systems:
          items:
            $ref: '#/components/schemas/SystemInfo'
          type: array
        tasks:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
        issues:
          items:
            $ref: '#/components/schemas/IssueInfo'
          type: array
      type: object
    VendorMappedCreateUpdate:
      properties:
        id:
          example: 42
          format: int32
          type: integer
        data_assets:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        facilities:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        products:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        systems:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        tasks:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
        issues:
          example:
          - 1
          - 2
          - 3
          items:
            format: int32
            type: integer
          type: array
      required:
      - id
      type: object
    VendorMappedCreateUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VendorMappedCreateUpdate'
          type: array
      required:
      - data
      type: object
    VendorMappedDataAsset:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/DataAssetInfo'
          type: array
      type: object
    VendorMappedFacility:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/FacilityInfo'
          type: array
      type: object
    VendorMappedProduct:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/ProductInfo'
          type: array
      type: object
    VendorMappedSystem:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/SystemInfo'
          type: array
      type: object
    VendorMappedTask:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/TaskInfo'
          type: array
      type: object
    VendorUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: VENDOR-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        risk_rating:
          example: Low
          nullable: true
          type: string
        issues:
          example: *id040
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    VendorUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VendorUpdate'
          type: array
      required:
      - data
      type: object
    Vulnerability:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Vulnerability
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test vulnerability
          type: string
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrValue'
          type: object
        code:
          example: VULNERABILITY-1
          type: string
        owners:
          items:
            $ref: '#/components/schemas/PersonInfo'
          type: array
        description:
          example: Vulnerability description
          nullable: true
          type: string
        tags:
          example:
          - tag 1
          - '### tag 2'
          items:
            type: string
          nullable: true
          type: array
        status:
          enum:
          - Draft
          - Identified
          - Under assessment
          - Assessed
          - Accepting
          - Accepted
          - Transferring
          - Transferred
          - Avoiding
          - Avoided
          - Remediate
          - In remediation
          - Unfounded
          - Closed
          example: Identified
          type: string
        reference_url:
          example: http://www.vulnerability-ref-url.com
          type: string
        url:
          example: http://www.vulnerability-url.com
          type: string
        notes:
          example: Lorem ipsum
          type: string
        primary_contact:
          $ref: '#/components/schemas/PersonInfo'
        secondary_contact:
          $ref: '#/components/schemas/PersonInfo'
        effective_date:
          example: '2018-12-22'
          format: date
          type: string
        stop_date:
          example: '2019-03-22'
          format: date
          type: string
        created_at:
          example: '2018-12-22T03:12:58+00:00'
          format: date-time
          type: string
        updated_at:
          example: '2018-12-22T04:27:13+00:00'
          format: date-time
          type: string
      type: object
    VulnerabilityAttachmentsResponse:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          $ref: '#/components/schemas/AttachmentByTypeList'
      type: object
    VulnerabilityComments:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Comment'
          type: array
      type: object
    VulnerabilityCreate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          type: string
        url:
          example: https://www.url.com
          format: url
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          type: array
        title:
          example: title
          type: string
        code:
          example: VULNERABILITY-1
          type: string
        description:
          example: description
          type: string
        status:
          example: Draft
          type: string
        notes:
          example: Lorem ipsum
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          type: string
        custom_attributes:
          default: *id003
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
      required:
      - owners
      - status
      - title
      type: object
    VulnerabilityCreateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VulnerabilityCreate'
          type: array
      required:
      - data
      type: object
    VulnerabilityCustomAttrs:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    VulnerabilityCustomAttrsList:
      properties:
        links:
          $ref: '#/components/schemas/CustomAttrsLinks'
        custom_attributes:
          additionalProperties:
            $ref: '#/components/schemas/CustomAttrDef'
          type: object
      type: object
    VulnerabilityDelete:
      properties:
        id:
          example: 1
          format: int32
          type: integer
      required:
      - id
      type: object
    VulnerabilityDeleteList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VulnerabilityDelete'
          type: array
      required:
      - data
      type: object
    VulnerabilityInfo:
      properties:
        links:
          allOf:
          - $ref: '#/components/schemas/DetailsLinks'
          readOnly: true
        type:
          example: Vulnerability
          type: string
        id:
          example: 42
          format: int32
          type: integer
        title:
          example: Test vulnerability
          type: string
      type: object
    VulnerabilityList:
      properties:
        links:
          $ref: '#/components/schemas/ListLinks'
        data:
          items:
            $ref: '#/components/schemas/Vulnerability'
          type: array
      type: object
    VulnerabilityListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ResponseItem'
          type: array
      required:
      - data
      type: object
    VulnerabilityUpdate:
      properties:
        reference_url:
          example: https://www.ref-url.com
          format: url
          nullable: true
          type: string
        url:
          example: https://www.url.com
          format: url
          nullable: true
          type: string
        tags:
          example: *id001
          items:
            type: string
          nullable: true
          type: array
        owners:
          example: *id002
          items:
            format: int32
            type: integer
          minItems: 1
          nullable: true
          type: array
        title:
          example: title
          nullable: true
          type: string
        code:
          example: VULNERABILITY-1
          nullable: true
          type: string
        description:
          example: description
          nullable: true
          type: string
        status:
          example: Draft
          nullable: true
          type: string
        notes:
          example: Lorem ipsum
          nullable: true
          type: string
        effective_date:
          example: '2017-12-01'
          format: date
          nullable: true
          type: string
        stop_date:
          example: '2017-12-02'
          format: date
          nullable: true
          type: string
        custom_attributes:
          default: *id003
          nullable: true
          type: object
        primary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        secondary_contact:
          example: 1
          format: int32
          nullable: true
          type: integer
        id:
          example: 42
          format: int32
          type: integer
      required:
      - id
      type: object
    VulnerabilityUpdateList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/VulnerabilityUpdate'
          type: array
      required:
      - data
      type: object
  securitySchemes:
    apiKeys:
      description: Authenticate with Key ID and Key Secret
      scheme: basic
      type: http
info:
  description: "## <a id=\"Changelog\"></a> Changelog\n```\nFebruary 8th, 2024:\n\
    - Implemented GET Task Details by UUID.\n\nFebruary 6th, 2024:\n- Added GET Document\
    \ List endpoint.\n- Implemented GET Document Details endpoint.\n\nJune 20th, 2023:\n\
    - Add Risk-Issues and Issue-Risks mapping read endpoints.\n- Update Issues and\
    \ Risks read mapped field, and write mapping endpoints' payloads.\n- Add `sorting=updated_recent`\
    \ option to all GET Entity List endpoints.\n- Add `sorting=latest` option to all\
    \ GET Object Comment List endpoints.\n\nMay 24th, 2023:\n- Add Program-Systems\
    \ and System-Programs mapping read endpoints.\n- Add Project-Issues and Issue-Projects\
    \ mapping read endpoints.\n- Update Programs, Systems, Issues and Projects read\
    \ mapped field, and write mapping endpoints' payloads.\n\nApril 19th, 2023:\n\
    - Fix OrgGroup-People mapping read endpoints.\n- Add complementary source-destination\
    \ mapping on POST and PUT endpoints payloads.\n- Add Comments, Custom Attributes\
    \ and mapping write endpoints to People Entity.\n\nApril 12th, 2023:\n- Add opposite\
    \ to the existing entity mappings on GET response bodies.\n- Add complementary\
    \ source-destination mapping GET endpoints.\n- Add Comments, Custom Attributes\
    \ and mapping read endpoints to People Entity.\n\nMarch 15th, 2023:\n- Add mapped\
    \ Audits, Controls, Deviations, Objectives, OrgGroups, Products, Programs, Risks\
    \ and Tasks to Risk's response\n  body on get endpoints.\n\nFebruary 15th, 2023:\n\
    - Implement all Process and Section entities endpoints.\n\nFebruary 1st, 2023:\n\
    - Implement all Contract, Clause and Policy entities endpoints.\n- Remove People\
    \ soft delete endpoint.\n\nJanuary 13th, 2023:\n- Complete Standard, Task, DataAsset,\
    \ Facility and Issue entities fields on read and write endpoints.\n- Add Standard,\
    \ Task, DataAsset, Issue and Facility POST, PUT, DELETE, Links, Files, Attachments\
    \ and Comments endpoints.\n- Add format validation to all url and reference_url\
    \ fields according to UI creation and edition forms.\n- Complete and updated Vulnerability\
    \ entity fields on read endpoints: primary_contact, effective_date and stop_date.\n\
    - Add Vulnerability DELETE, Attachments and Comments endpoints.\n- Complete API\
    \ schema models documentation.\n\nNovember 17th, 2022:\n- Create generic Relationship\
    \ entity mapping endpoints GET (list and details by Id), POST, PUT and DELETE.\n\
    - Add People entity POST, PUT, Soft DELETE, Links, Files and Attachments endpoints.\n\
    \nNovember 7th, 2022:\n- Fix and rename Risk write schema field from \"risk_vector_score_values\"\
    \ to \"scoring\" for better understanding.\n- Update Risk Scoring in write payload\
    \ schema and documentation to match the UI behaviour.\n- Correct example for \"\
    id\" field in all update and delete entity endpoints docs.\n\nOctober 4th, 2022:\n\
    - Complete Requests entity read and write schemas with fields: reviewers, verifiers,\
    \ notify_assignee and test.\n- Standardized fields on Requests entity schemas\
    \ according to the UI:\n    \"related_requesters\" to \"requesters\", \"related_assignees\"\
    \ to \"assignees\" and \"end_date\" to \"due_date\".\n- Set next fields as mandatory\
    \ according to the UI on Requests entity endpoints:\n    requesters, assignees,\
    \ start_date and audit.\n- Add Requests entity Delete endpoint.\n- Add OrgGroup-Risks\
    \ mapping read and write endpoints.\n- Rename Risk read schema field from \"risk_vector_score_values\"\
    \ to \"vector_score_values\" for short.\n- Add RiskVectorsScores list read endpoint.\n\
    - Add RiskFactorOptions list read endpoint.\n\nSeptember 12th, 2022:\n- Implement\
    \ all Incident entity endpoints.\n- Add Risk-Incidents mapping endpoints.\n- Add\
    \ custom attributes list read endpoint to all entities.\n\nAugust 30th, 2022:\n\
    - Complete read fields to Assessment entity endpoints.\n- Implement write to Assessment\
    \ entity with mandatory \"audit\" entity field on POST body endpoint.\n- Implement\
    \ delete endpoint for Assessments entity.\n- Add programs mapping, comments, and\
    \ attachments to Assessment entity read and write endpoints.\n- Correct OrgGroups-Entity\
    \ mapping routes to the standard order \"/api/v2/org_groups/{org_group_id}/map/{entity}\"\
    .\n- Complete fields on read schemas; implement delete and all write endpoints\
    \ for Audits entity.\n- Implement Controls and Tasks mappings for Audit entity.\n\
    \nJuly 28th, 2022:\n- Change field names and nullity allowance: contact to primary_contact,\
    \ start_date to effective_date and end_date\n  to stop_date on all endpoints to:\
    \ Control, DataAsset, Facility, Issue, Market, OrgGroup and Vulnerability entities\
    \ to\n  match their UI create form field names.\n\nJuly 25th, 2022:\n- Implement\
    \ all Exception (Deviation) entity Endpoints.\n\nJuly 20th, 2022:\n- Complete\
    \ read fields, comments and attachments endpoints to Program entity.\n\nJune 28th,\
    \ 2022:\n- Add person_id existence validation for write owners field to all existing\
    \ API entities.\n- Add read, write, delete, comments and attachments endpoints\
    \ to Project entity.\n\nJune 15th, 2022:\n- Add title, owners and status as required\
    \ fields to all existing POST endpoints.\n\nMay 24th, 2022:\n- Add read Custom\
    \ Attributes List endpoint to Product entity.\n- Add read Custom Attributes List\
    \ endpoint to Vendor entity.\n\nApril 27th, 2022:\n- Add People mapping endpoints\
    \ to OrgGroup entity.\n\nApril 25th, 2022:\n- Add Task mapping endpoints to Vendor\
    \ entity.\n\nApril 13th, 2022:\n- Add read, write and Program mapping endpoints\
    \ to Org Group entity.\n\nApril 11th, 2022:\n- Add attachments and comments read\
    \ and write endpoints to all existing API entities.\n\nApril 5th, 2022:\n- Add\
    \ Program mapping read and write endpoints to Objective entity.\n\nMarch 29th,\
    \ 2022:\n- Add read and write endpoints to Objective entity.\n\nMarch 21st, 2022:\n\
    - Add read and write endpoints to Control entity.\n\nFebruary 28th, 2022:\n- Add\
    \ write for risk_score_values to Risk entity (usage explained 1 section above).\n\
    \nFebruary 15th, 2022:\n- Add write endpoints to Threat entity.\n\nFebruary 4th,\
    \ 2022:\n- Add write endpoints to System entity.\n\nFebruary 1st, 2022:\n- Add\
    \ write endpoints to Market entity.\n\nJanuary 14th, 2022:\n- Add delete endpoints\
    \ to all existing API objects.\n\nJanuary 11th, 2022:\n- Add write endpoints to\
    \ Risk entity.\n\nDecember 8th, 2021:\n- Add writable custom attributes for all\
    \ data types to all existing write endpoints (usage explained 2 sections above).\n\
    \nNovember 16th, 2021:\n- Add read and write endpoints to Product entity.\n\n\
    October 29th, 2021:\n- Add risk calculated value to read endpoints at Risk entity.\n\
    ```\n\nZenGRC API allows read-only access to a subset of object types described\
    \ below.\n\n## Authentication\n\nAll requests to the ZenGRC API require authentication\
    \ using an API Key.\n\n### API Keys\n\nZenGRC's API supports the use of API Keys.\
    \ API Keys create a means of authentication separate from username/passwords and\
    \ also work in a setting where other user authentication mechanisms are used (e.g.,\
    \ SAML-SSO, Google Login).\n\nAPI Keys also add an additional layer of security\
    \ for your account and can be assigned specific permissions to limit which areas\
    \ of your account they may be used to access.\n\nThe API key generated will have\
    \ all rights of the user who creates it, including the ability to write to ZenGRC\
    \ (once that functionality is added). Events written by a user's API key will\
    \ show as associated to that user in the event logs.\n\n#### Generating API keys\n\
    \nAPI Keys can be generated in your ZenGRC app. Currently they are only available\
    \ for admin users. Visit `https://[yourdomain].zengrc.com`, log in, and navigate\
    \ to settings in the left hand navigation panel. Under settings, click on Developers\
    \ section. There you will be able to generate your API key.\n\n#### Authorization\
    \ header\n\nTo authenticate, add an Authorization header which should be constructed\
    \ as follows:\n\n* Build a string of the form `key_id:key_secret`\n* Convert this\
    \ string to Base64. If you are on Mac or Linux, you can use the pre-installed\
    \ OpenSSL package. Use this command to convert the string using OpenSSL: `echo\
    \ -n 'key_id:key_secret' | openssl base64`\n* For example `zengrc:zengrc` is transformed\
    \ to `emVuZ3JjOnplbmdyYw==`\n* Content of the `Authorization` header should be\
    \ `Basic` followed by the encoded string e.g.\n\n`curl -H 'Authorization: Basic\
    \ emVuZ3JjOnplbmdyYw==' https://acme.api.zengrc.com/api/v2/audits`\n\n## Rate\
    \ limiting\n\nAuthenticated requests are associated with the API key that is used,\
    \ you can make up to 3000 requests per hour for each key.\n\n\nIf you exceed the\
    \ limit, the server returns:\n\n```\n HTTP/1.1 429 Too Many Requests\n content-length:\
    \ 18\n content-type: text/plain; charset=utf-8\n date: Wed, 21 Nov 2018 12:57:54\
    \ GMT\n retry-after: 47\n server: Skipper\n x-content-type-options: nosniff\n\
    \ x-rate-limit: 3000\n\n Too Many Requests\n```\n\nPay attention to additional\
    \ HTTP headers:\n\n`x-rate-limit`: Number of requests allowed per hour\n\n`retry-after`:\
    \ Number of seconds until the rate limit window restarts\n\n## Paging\n\nResources\
    \ that return lists of data are usually paged, meaning only a certain amount of\
    \ items are returned at a time. Each response that contains a list of paged data\
    \ will also contain links on how to retrieve the previous and/or next page of\
    \ data.\n\nFor example, this is a partial response of a task list that contains\
    \ a link to the next page:\n\n```\n{\n  \"links\": {\n    \"self\": {\n      \"\
    href\": \"/api/v2/tasks\"\n    },\n    \"next\": {\n      \"href\": \"/api/v2/tasks?cursor=eyJwYWMNw.eRQFi3cnpkwcm77-3tW5HpZKxSk\"\
    ,\n      \"meta\": {\n        \"cursor\": \"eyJwYWMNw.eRQFi3cnpkwcm77-3tW5HpZKxSk\"\
    \n      }\n    },\n    \"prev\": null\n  },\n  \"data\": [...]\n}\n```\n\nTo retrieve\
    \ the next page of data, simply execute another GET request using the URL path\
    \ provided in the \"href\" attribute of the \"next\" object.  Continue to do this\
    \ to retrieve all the data available.\n## Custom attributes\n\n[ZenGRC custom\
    \ attributes](https://reciprocitylabs.atlassian.net/wiki/spaces/ZenGRCOnboardingGuide/pages/267452468/Custom+Attributes)\n\
    allow additional functionality and flexibility within the application. These are\
    \ fields\nthat users create themselves to supplement \"out-of-the-box\" selections\
    \ for gathering\ninformation that is pertinent to an organization.\n\nCustom attributes\
    \ are also exposed through ZenGRC API. Because they can be defined\ndynamically\
    \ by users through ZenGRC settings, the exact custom attribute definitions\ncannot\
    \ be included in this documentation.\n\n### List of custom attribute definitions\
    \ for an object type\n\nYou can get a list of custom attribute definitions for\
    \ an object type by sending a `GET`\nrequest to `/api/v2/<object_type>/custom_attributes`\n\
    (e.g. `GET /api/v2/programs/custom_attributes`).\n\nExample response with all\
    \ possible custom attribute types:\n\n```\n{\n  \"links\": {\n    \"self\": {\n\
    \      \"href\": \"/api/v2/programs/custom_attributes\"\n    }\n  },\n  \"custom_attributes\"\
    : {\n    \"1\": {\n      \"id\": 1,\n      \"title\": \"Program CA Text\",\n \
    \     \"json_schema\": {\n        \"oneOf\": [{\n          \"type\": \"string\"\
    \n        }]\n      }\n    },\n    \"2\": {\n      \"id\": 2,\n      \"title\"\
    : \"Program CA Text nullable\",\n      \"json_schema\": {\n        \"oneOf\":\
    \ [{\n          \"type\": \"string\"\n        }, {\n          \"type\": \"null\"\
    \n        }]\n      }\n    },\n    \"3\": {\n      \"id\": 3,\n      \"title\"\
    : \"Program CA Rich text\",\n      \"json_schema\": {\n        \"oneOf\": [{\n\
    \          \"type\": \"string\",\n          \"format\": \"html\"\n        }]\n\
    \      }\n    },\n    \"4\": {\n      \"id\": 4,\n      \"title\": \"Program CA\
    \ Rich text nullable\",\n      \"json_schema\": {\n        \"oneOf\": [{\n   \
    \       \"type\": \"string\",\n          \"format\": \"html\"\n        }, {\n\
    \          \"type\": \"null\"\n        }]\n      }\n    },\n    \"5\": {\n   \
    \   \"id\": 5,\n      \"title\": \"Program CA Date\",\n      \"json_schema\":\
    \ {\n        \"oneOf\": [{\n          \"type\": \"string\",\n          \"format\"\
    : \"date\"\n        }]\n      }\n    },\n    \"6\": {\n      \"id\": 6,\n    \
    \  \"title\": \"Program CA Date nullable\",\n      \"json_schema\": {\n      \
    \  \"oneOf\": [{\n          \"type\": \"string\",\n          \"format\": \"date\"\
    \n        }, {\n          \"type\": \"null\"\n        }]\n      }\n    },\n  \
    \  \"7\": {\n      \"id\": 7,\n      \"title\": \"Program CA Number\",\n     \
    \ \"json_schema\": {\n        \"oneOf\": [{\n          \"type\": \"integer\"\n\
    \        }]\n      }\n    },\n    \"8\": {\n      \"id\": 8,\n      \"title\"\
    : \"Program CA Number nullable\",\n      \"json_schema\": {\n        \"oneOf\"\
    : [{\n          \"type\": \"integer\"\n        }, {\n          \"type\": \"null\"\
    \n        }]\n      }\n    },\n    \"9\": {\n      \"id\": 9,\n      \"title\"\
    : \"Program CA Number Decimal\",\n      \"json_schema\": {\n        \"oneOf\"\
    : [{\n          \"type\": \"number\"\n        }]\n      }\n    },\n    \"10\"\
    : {\n      \"id\": 10,\n      \"title\": \"Program CA Number Decimal nullable\"\
    ,\n      \"json_schema\": {\n        \"oneOf\": [{\n          \"type\": \"number\"\
    \n        }, {\n          \"type\": \"null\"\n        }]\n      }\n    },\n  \
    \  \"11\": {\n      \"id\": 11,\n      \"title\": \"Program CA Checkbox\",\n \
    \     \"json_schema\": {\n        \"oneOf\": [{\n          \"type\": \"boolean\"\
    \n        }]\n      }\n    },\n    \"12\": {\n      \"id\": 12,\n      \"title\"\
    : \"Program CA Checkbox nullable\",\n      \"json_schema\": {\n        \"oneOf\"\
    : [{\n          \"type\": \"boolean\"\n        }, {\n          \"type\": \"null\"\
    \n        }]\n      }\n    },\n    \"13\": {\n      \"id\": 13,\n      \"title\"\
    : \"Program CA Dropdown\",\n      \"json_schema\": {\n        \"oneOf\": [{\n\
    \          \"type\": \"string\",\n          \"enum\": [\"option1\", \"option2\"\
    , \"option3\"]\n        }]\n      }\n    },\n    \"14\": {\n      \"id\": 14,\n\
    \      \"title\": \"Program CA Dropdown nullable\",\n      \"json_schema\": {\n\
    \        \"oneOf\": [{\n          \"type\": \"string\",\n          \"enum\": [\"\
    option1\", \"option2\", \"option3\"]\n        }, {\n          \"type\": \"null\"\
    \n        }]\n      }\n    },\n    \"15\": {\n      \"id\": 15,\n      \"title\"\
    : \"Program CA Dropdown Multi\",\n      \"json_schema\": {\n        \"oneOf\"\
    : [{\n          \"type\": \"array\",\n          \"items\": {\n            \"type\"\
    : \"string\",\n            \"enum\": [\"option1\", \"option2\", \"option3\"]\n\
    \          }\n        }]\n      }\n    },\n    \"16\": {\n      \"id\": 16,\n\
    \      \"title\": \"Program CA Dropdown Multi nullable\",\n      \"json_schema\"\
    : {\n        \"oneOf\": [{\n          \"type\": \"array\",\n          \"items\"\
    : {\n            \"type\": \"string\",\n            \"enum\": [\"option1\", \"\
    option2\", \"option3\"]\n          }\n        }, {\n          \"type\": \"null\"\
    \n        }]\n      }\n    },\n    \"17\": {\n      \"id\": 17,\n      \"title\"\
    : \"Program CA Person\",\n      \"json_schema\": {\n        \"oneOf\": [{\n  \
    \        \"$ref\": \"https://docs.api.zengrc.com/api/v2/jsonschema/PersonInfo.json\"\
    \n        }]\n      }\n    },\n    \"18\": {\n      \"id\": 18,\n      \"title\"\
    : \"Program CA Person nullable\",\n      \"json_schema\": {\n        \"oneOf\"\
    : [{\n          \"$ref\": \"https://docs.api.zengrc.com/api/v2/jsonschema/PersonInfo.json\"\
    \n        }, {\n          \"type\": \"null\"\n        }]\n      }\n    }\n  }\n\
    }\n```\n\n### Custom attributes in list and details responses\n\nEvery list and\
    \ details API response will have an additional field `custom_attributes` which\n\
    is a map/dictionary of custom attribute IDs to values.\n\nExample response for\
    \ program details:\n\n```\n{\n  \"links\": {\n    \"self\": {\n      \"href\"\
    : \"/api/v2/programs/1\"\n    }\n  },\n  \"type\": \"Program\",\n  \"id\": 1,\n\
    \  \"title\": \"Program 1\",\n  \"code\": \"PROGRAM-1\",\n  \"description\": \"\
    <p>Desc 1</p>\",\n  \"status\": \"Draft\",\n  \"created_at\": \"2019-02-21T09:05:05+00:00\"\
    ,\n  \"updated_at\": \"2019-02-21T09:05:05+00:00\",\n  \"custom_attributes\":\
    \ {\n    \"1\": {\n      \"id\": 1,\n      \"title\": \"Program CA Text\",\n \
    \     \"value\": \"Text\"\n    },\n    \"2\": {\n      \"id\": 2,\n      \"title\"\
    : \"Program CA Text nullable\",\n      \"value\": null\n    },\n    \"3\": {\n\
    \      \"id\": 3,\n      \"title\": \"Program CA Rich text\",\n      \"value\"\
    : \"Rich text\"\n    },\n    \"4\": {\n      \"id\": 4,\n      \"title\": \"Program\
    \ CA Rich text nullable\",\n      \"value\": null\n    },\n    \"5\": {\n    \
    \  \"id\": 5,\n      \"title\": \"Program CA Date\",\n      \"value\": \"2019-02-25\"\
    \n    },\n    \"6\": {\n      \"id\": 6,\n      \"title\": \"Program CA Date nullable\"\
    ,\n      \"value\": null\n    },\n    \"7\": {\n      \"id\": 7,\n      \"title\"\
    : \"Program CA Number\",\n      \"value\": 42\n    },\n    \"8\": {\n      \"\
    id\": 8,\n      \"title\": \"Program CA Number nullable\",\n      \"value\": null\n\
    \    },\n    \"9\": {\n      \"id\": 9,\n      \"title\": \"Program CA Number\
    \ Decimal\",\n      \"value\": 3.14\n    },\n    \"10\": {\n      \"id\": 10,\n\
    \      \"title\": \"Program CA Number Decimal nullable\",\n      \"value\": null\n\
    \    },\n    \"11\": {\n      \"id\": 11,\n      \"title\": \"Program CA Checkbox\"\
    ,\n      \"value\": true\n    },\n    \"12\": {\n      \"id\": 12,\n      \"title\"\
    : \"Program CA Checkbox nullable\",\n      \"value\": null\n    },\n    \"13\"\
    : {\n      \"id\": 13,\n      \"title\": \"Program CA Dropdown\",\n      \"value\"\
    : \"option1\"\n    },\n    \"14\": {\n      \"id\": 14,\n      \"title\": \"Program\
    \ CA Dropdown nullable\",\n      \"value\": null\n    },\n    \"15\": {\n    \
    \  \"id\": 15,\n      \"title\": \"Program CA Dropdown Multi\",\n      \"value\"\
    : [\"option1\", \"option3\"]\n    },\n    \"16\": {\n      \"id\": 16,\n     \
    \ \"title\": \"Program CA Dropdown Multi nullable\",\n      \"value\": null\n\
    \    },\n    \"17\": {\n      \"id\": 17,\n      \"title\": \"Program CA Person\"\
    ,\n      \"value\": {\n        \"type\": \"Person\",\n        \"id\": 4,\n   \
    \     \"name\": \"Creator user\"\n      }\n    },\n    \"18\": {\n      \"id\"\
    : 18,\n      \"title\": \"Program CA Person nullable\",\n      \"value\": null\n\
    \    }\n  }\n}\n```\n\n### Custom attributes in request payload\n\nSome write\
    \ endpoints also support setting the value of custom attributes of all types.\n\
    Example request payload for updating custom attribute value for one of the programs:\n\
    \n```\n{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"custom_attributes\"\
    : {\n        \"1\": \"New value for CA with id 1\",\n        \"2\": 1,\n     \
    \   \"3\": 1.5,\n        \"4\": true,\n        \"5\": 0,\n        \"6\": \"2022-01-21\"\
    ,\n        \"7\": \"Option1,Option2\",\n        \"8\": \"Option3\",\n        \"\
    9\": 2\n      }\n    }\n  ]\n}\n```\n### In all cases:\n`Custom Attribute Ids:`\
    \ should be string and belong to the entity custom attributes.\n\n### In this\
    \ case:\n`Custom Attribute with id = \"1\":` should belong to the program entity\
    \ and be of type Text or Rich Text.\n\n`Custom Attribute with id = \"2\":` should\
    \ belong to the program entity and be of type Integer.\n\n`Custom Attribute with\
    \ id = \"3\":` should belong to the program entity and be of type Float.\n\n`Custom\
    \ Attribute with id = \"4\":` should belong to the program entity and be of type\
    \ Check box (Accepts truthy values).\n\n`Custom Attribute with id = \"5\":` should\
    \ belong to the program entity and be of type Check box (Accepts falsy values).\n\
    \n`Custom Attribute with id = \"6\":` should belong to the program entity and\
    \ be of type Date (YYYY-MM-DD format).\n\n`Custom Attribute with id = \"7\":`\
    \ should belong to the program entity and be of type Multi Choice (Accepts more\
    \ than 1 value,\ncomma separated and must exist among the custom attribute multi\
    \ choice options).\n\n`Custom Attribute with id = \"8\":` should belong to the\
    \ program entity and be of type Multi Choice (Accepts 1 single value,\nand must\
    \ exist among the custom attribute multi choice options).\n\n`Custom Attribute\
    \ with id = \"9\":` should belong to the program entity and be of type Person\
    \ (Accepts the existing person_id).\n\n\n## Risk Scoring in write payload\n\n\
    The risk write endpoints also support setting the factor values to calculate the\
    \ new risk vectors and scores values.\nIt works exactly as in the UI.\nExample\
    \ request payload for creating or updating vectors and scores, based on the given\
    \ factor values for one risk:\n\n```\n{\n  \"data\": [\n    {\n      \"id\": 1,\n\
    \      \"scoring\": {\n        \"5\": {\n            \"1\": 5,\n            \"\
    2\": 3\n        },\n        \"6\": {\n            \"3\": 2,\n            \"4\"\
    : 3\n        },\n        \"9\": {\n            \"5\": 2.3,\n            \"6\"\
    : 3.5\n        }\n      }\n    }\n  ]\n}\n\nwhere \"scoring\" is a dictionary\
    \ of:\n\n    \"score_id\": {\n        \"factor_id\": factor_value,\n        \"\
    factor_id\": factor_value,\n        .\n        .\n        .\n    }\n```\n\n###\
    \ In all cases:\n`All Risks Score Ids:` should be strings and identifiers of previously\
    \ created risk scores on the risk settings.\n\n`All Risks Factor Ids:` should\
    \ be strings and identifiers of previously created risk factors on the risk settings.\n\
    These factors should complete the formula (including vectors formulas) of the\
    \ given score_id.\n\n`All Risks Factor Values:` should be float values and belong\
    \ its previously created risk factor options settings.\nThese are actually the\
    \ risk_factor_selected_options for the given risk score in the database.\n\n##\
    \ Requests and responses\n\nSee below for currently supported requests and responses.\n"
  title: ZenGRC API
  version: '2.0'
openapi: 3.0.0
paths:
  /api/v2/assessments:
    get:
      description: Get all assessments.
      operationId: AssessmentList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentList'
          description: List of all assessments.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
    post:
      description: Post a list of assessments to create.
      operationId: AssessmentCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssessmentCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentListResponse'
          description: Result of the assessments creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
    put:
      description: Post a list of assessments to update.
      operationId: AssessmentUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssessmentUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentListResponse'
          description: Result of the assessments update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
    delete:
      description: A list of assessments to delete.
      operationId: AssessmentDeleteList
      parameters:
      - description: ID of the assessment to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssessmentDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentListResponse'
          description: Result of the assessments delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}:
    get:
      description: Get the details of the indicated assessment.
      operationId: AssessmentDetails
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assessment'
          description: Details of the assessment.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/custom_attributes:
    get:
      description: Get the list of custom attributes for assessments.
      operationId: AssessmentCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentCustomAttrs'
          description: Custom attributes for assessments.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/custom_attributes_list:
    get:
      description: Get the list of custom attributes for assessments.
      operationId: AssessmentCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentCustomAttrsList'
          description: Custom attributes list for assessments.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/attachments:
    get:
      description: Get all assessment attachments.
      operationId: AssessmentAttachments
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentAttachmentsResponse'
          description: List of all assessment attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/files/{file_id}:
    get:
      description: Download files for assessments.
      operationId: FilesDownload
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/files:
    post:
      description: Uploads files for assessments.
      operationId: FilesUpload
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for assessments.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/links/{link_id}:
    get:
      description: Get links for assessments.
      operationId: LinksGet
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/links:
    post:
      description: Adds links for assessments.
      operationId: LinksAdd
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for assessments.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/comments:
    get:
      description: Get all assessment comments.
      operationId: AssessmentComments
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentComments'
          description: List of all assessment comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
    post:
      description: Adds a comment to assessment.
      operationId: AssessmentCreateComment
      parameters:
      - description: ID of the assessment.
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for assessments.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated assessment.
      operationId: AssessmentAuditMap
      parameters:
      - description: ID of the assessment
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated assessment.
      operationId: AssessmentIssueMap
      parameters:
      - description: ID of the assessment
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/{assessment_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated assessment.
      operationId: AssessmentProgramMap
      parameters:
      - description: ID of the assessment
        in: path
        name: assessment_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/assessments/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Issues
        and Programs) for replacing mappings to assessments.'
      operationId: AssessmentMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssessmentMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentListResponse'
          description: Result of the assessment maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
    put:
      description: 'Post list of existing objects ids (accepted types: Audits, Issues
        and Programs) for adding mappings to assessments.'
      operationId: AssessmentMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssessmentMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentListResponse'
          description: Result of the assessment maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Assessments
  /api/v2/audits:
    get:
      description: Get all audits.
      operationId: AuditList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditList'
          description: List of all audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
    post:
      description: Post a list of audits to create.
      operationId: AuditCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditListResponse'
          description: Result of the audits creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
    put:
      description: Post a list of audits to update.
      operationId: AuditUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditListResponse'
          description: Result of the audits update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
    delete:
      description: A list of audits to delete.
      operationId: AuditDeleteList
      parameters:
      - description: ID of the audit to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditListResponse'
          description: Result of the audits delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}:
    get:
      description: Get the details of the indicated audit.
      operationId: AuditDetails
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audit'
          description: Details of the audit.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/custom_attributes:
    get:
      description: Get the list of custom attributes for audits.
      operationId: AuditCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditCustomAttrs'
          description: Custom attributes for audits.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/custom_attributes_list:
    get:
      description: Get the list of custom attributes for audits.
      operationId: AuditCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditCustomAttrsList'
          description: Custom attributes list for audits.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/attachments:
    get:
      description: Get all audit attachments.
      operationId: AuditAttachments
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditAttachmentsResponse'
          description: List of all audit attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/files/{file_id}:
    get:
      description: Download files for audits.
      operationId: FilesDownload
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/files:
    post:
      description: Uploads files for audits.
      operationId: FilesUpload
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for audits.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/links/{link_id}:
    get:
      description: Get links for audits.
      operationId: LinksGet
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/links:
    post:
      description: Adds links for audits.
      operationId: LinksAdd
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for audits.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/comments:
    get:
      description: Get all audit comments.
      operationId: AuditComments
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditComments'
          description: List of all audit comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
    post:
      description: Adds a comment to audit.
      operationId: AuditCreateComment
      parameters:
      - description: ID of the audit.
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/assessments:
    get:
      description: Get all mapped assessments of the indicated audit.
      operationId: AuditAssessmentMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedAssessment'
          description: List of all mapped assessments.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated audit.
      operationId: AuditControlMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated audit.
      operationId: AuditIssueMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/markets:
    get:
      description: Get all mapped markets of the indicated audit.
      operationId: AuditMarketMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedMarket'
          description: List of all mapped markets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/products:
    get:
      description: Get all mapped products of the indicated audit.
      operationId: AuditProductMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedProduct'
          description: List of all mapped products.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated audit.
      operationId: AuditRiskMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/standards:
    get:
      description: Get all mapped standards of the indicated audit.
      operationId: AuditStandardMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedStandard'
          description: List of all mapped standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/{audit_id}/map/tasks:
    get:
      description: Get all mapped tasks of the indicated audit.
      operationId: AuditTaskMap
      parameters:
      - description: ID of the audit
        in: path
        name: audit_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditMappedTask'
          description: List of all mapped tasks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/audits/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Assessments,
        Controls, Issues, Markets, Products, Risks, Standards and Tasks) for replacing
        mappings to audits.'
      operationId: AuditMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditListResponse'
          description: Result of the audit maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
    put:
      description: 'Post list of existing objects ids (accepted types: Assessments,
        Controls, Issues, Markets, Products, Risks, Standards and Tasks) for adding
        mappings to audits.'
      operationId: AuditMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditListResponse'
          description: Result of the audit maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Audits
  /api/v2/clauses:
    get:
      description: Get all clauses.
      operationId: ClauseList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseList'
          description: List of all clauses.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
    post:
      description: Post a list of clauses to create.
      operationId: ClauseCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClauseCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseListResponse'
          description: Result of the clauses creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
    put:
      description: Post a list of clauses to update.
      operationId: ClauseUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClauseUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseListResponse'
          description: Result of the clauses update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
    delete:
      description: A list of clauses to delete.
      operationId: ClauseDeleteList
      parameters:
      - description: ID of the clause to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClauseDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseListResponse'
          description: Result of the clauses delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}:
    get:
      description: Get the details of the indicated clause.
      operationId: ClauseDetails
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Clause'
          description: Details of the clause.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/custom_attributes:
    get:
      description: Get the list of custom attributes for clauses.
      operationId: ClauseCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseCustomAttrs'
          description: Custom attributes for clauses.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/custom_attributes_list:
    get:
      description: Get the list of custom attributes for clauses.
      operationId: ClauseCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseCustomAttrsList'
          description: Custom attributes list for clauses.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/attachments:
    get:
      description: Get all clause attachments.
      operationId: ClauseAttachments
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseAttachmentsResponse'
          description: List of all clause attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/files/{file_id}:
    get:
      description: Download files for clauses.
      operationId: FilesDownload
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/files:
    post:
      description: Uploads files for clauses.
      operationId: FilesUpload
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for clauses.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/links/{link_id}:
    get:
      description: Get links for clauses.
      operationId: LinksGet
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/links:
    post:
      description: Adds links for clauses.
      operationId: LinksAdd
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for clauses.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/clauses/{clause_id}/comments:
    get:
      description: Get all clause comments.
      operationId: ClauseComments
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClauseComments'
          description: List of all clause comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
    post:
      description: Adds a comment to clause.
      operationId: ClauseCreateComment
      parameters:
      - description: ID of the clause.
        in: path
        name: clause_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for clauses.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Clauses
  /api/v2/contracts:
    get:
      description: Get all contracts.
      operationId: ContractList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractList'
          description: List of all contracts.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
    post:
      description: Post a list of contracts to create.
      operationId: ContractCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractListResponse'
          description: Result of the contracts creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
    put:
      description: Post a list of contracts to update.
      operationId: ContractUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractListResponse'
          description: Result of the contracts update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
    delete:
      description: A list of contracts to delete.
      operationId: ContractDeleteList
      parameters:
      - description: ID of the contract to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractListResponse'
          description: Result of the contracts delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}:
    get:
      description: Get the details of the indicated contract.
      operationId: ContractDetails
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contract'
          description: Details of the contract.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/custom_attributes:
    get:
      description: Get the list of custom attributes for contracts.
      operationId: ContractCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractCustomAttrs'
          description: Custom attributes for contracts.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/custom_attributes_list:
    get:
      description: Get the list of custom attributes for contracts.
      operationId: ContractCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractCustomAttrsList'
          description: Custom attributes list for contracts.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/attachments:
    get:
      description: Get all contract attachments.
      operationId: ContractAttachments
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractAttachmentsResponse'
          description: List of all contract attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/files/{file_id}:
    get:
      description: Download files for contracts.
      operationId: FilesDownload
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/files:
    post:
      description: Uploads files for contracts.
      operationId: FilesUpload
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for contracts.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/links/{link_id}:
    get:
      description: Get links for contracts.
      operationId: LinksGet
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/links:
    post:
      description: Adds links for contracts.
      operationId: LinksAdd
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for contracts.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/contracts/{contract_id}/comments:
    get:
      description: Get all contract comments.
      operationId: ContractComments
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractComments'
          description: List of all contract comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
    post:
      description: Adds a comment to contract.
      operationId: ContractCreateComment
      parameters:
      - description: ID of the contract.
        in: path
        name: contract_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for contracts.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Contracts
  /api/v2/controls:
    get:
      description: Get all controls.
      operationId: ControlList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlList'
          description: List of all controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
    post:
      description: Post a list of controls to create.
      operationId: ControlCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ControlCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlListResponse'
          description: Result of the controls creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
    put:
      description: Post a list of controls to update.
      operationId: ControlUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ControlUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlListResponse'
          description: Result of the controls update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
    delete:
      description: A list of controls to delete.
      operationId: ControlDeleteList
      parameters:
      - description: ID of the control to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ControlDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlListResponse'
          description: Result of the controls delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}:
    get:
      description: Get the details of the indicated control.
      operationId: ControlDetails
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Control'
          description: Details of the control.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/custom_attributes:
    get:
      description: Get the list of custom attributes for controls.
      operationId: ControlCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlCustomAttrs'
          description: Custom attributes for controls.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/custom_attributes_list:
    get:
      description: Get the list of custom attributes for controls.
      operationId: ControlCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlCustomAttrsList'
          description: Custom attributes list for controls.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/attachments:
    get:
      description: Get all control attachments.
      operationId: ControlAttachments
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlAttachmentsResponse'
          description: List of all control attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/files/{file_id}:
    get:
      description: Download files for controls.
      operationId: FilesDownload
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/files:
    post:
      description: Uploads files for controls.
      operationId: FilesUpload
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for controls.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/links/{link_id}:
    get:
      description: Get links for controls.
      operationId: LinksGet
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/links:
    post:
      description: Adds links for controls.
      operationId: LinksAdd
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for controls.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/comments:
    get:
      description: Get all control comments.
      operationId: ControlComments
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlComments'
          description: List of all control comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
    post:
      description: Adds a comment to control.
      operationId: ControlCreateComment
      parameters:
      - description: ID of the control.
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated control.
      operationId: ControlAuditMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated control.
      operationId: ControlIssueMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/objectives:
    get:
      description: Get all mapped objectives of the indicated control.
      operationId: ControlObjectiveMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedObjective'
          description: List of all mapped objectives.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated control.
      operationId: ControlOrgGroupMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/requests:
    get:
      description: Get all mapped requests of the indicated control.
      operationId: ControlRequestMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedRequest'
          description: List of all mapped requests.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/{control_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated control.
      operationId: ControlRiskMap
      parameters:
      - description: ID of the control
        in: path
        name: control_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/controls/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Issues,
        Objectives, OrgGroups, Requests and Risks) for replacing mappings to controls.'
      operationId: ControlMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ControlMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlListResponse'
          description: Result of the control maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Controls
  /api/v2/custom_attributes:
    get:
      description: Get all custom attribute definitions.
      operationId: CustomAttributeDefinitionList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomAttributeDefinitionList'
          description: List of all custom attribute definitions.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - CustomAttributeDefinitions
  /api/v2/data_assets:
    get:
      description: Get all data assets.
      operationId: DataAssetList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetList'
          description: List of all data assets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
    post:
      description: Post a list of data assets to create.
      operationId: DataAssetCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAssetCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetListResponse'
          description: Result of the data assets creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
    put:
      description: Post a list of data assets to update.
      operationId: DataAssetUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAssetUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetListResponse'
          description: Result of the data assets update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
    delete:
      description: A list of data assets to delete.
      operationId: DataAssetDeleteList
      parameters:
      - description: ID of the data asset to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAssetDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetListResponse'
          description: Result of the data assets delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}:
    get:
      description: Get the details of the indicated data asset.
      operationId: DataAssetDetails
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAsset'
          description: Details of the data asset.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/custom_attributes:
    get:
      description: Get the list of custom attributes for data assets.
      operationId: DataAssetCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetCustomAttrs'
          description: Custom attributes for data assets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/custom_attributes_list:
    get:
      description: Get the list of custom attributes for data assets.
      operationId: DataAssetCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetCustomAttrsList'
          description: Custom attributes list for data assets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/attachments:
    get:
      description: Get all data asset attachments.
      operationId: DataAssetAttachments
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetAttachmentsResponse'
          description: List of all data asset attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/files/{file_id}:
    get:
      description: Download files for data assets.
      operationId: FilesDownload
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/files:
    post:
      description: Uploads files for data assets.
      operationId: FilesUpload
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for data assets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/links/{link_id}:
    get:
      description: Get links for data assets.
      operationId: LinksGet
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/links:
    post:
      description: Adds links for data assets.
      operationId: LinksAdd
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for data assets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/comments:
    get:
      description: Get all data asset comments.
      operationId: DataAssetComments
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetComments'
          description: List of all data asset comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
    post:
      description: Adds a comment to data asset.
      operationId: DataAssetCreateComment
      parameters:
      - description: ID of the data asset.
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for data assets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/{data_asset_id}/map/vendors:
    get:
      description: Get all mapped vendors of the indicated data asset.
      operationId: DataAssetVendorMap
      parameters:
      - description: ID of the data asset
        in: path
        name: data_asset_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetMappedVendor'
          description: List of all mapped vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/data_assets/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Vendors)
        for replacing mappings to data assets.'
      operationId: DataAssetMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAssetMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetListResponse'
          description: Result of the data asset maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
    put:
      description: 'Post list of existing objects ids (accepted types: Vendors) for
        adding mappings to data assets.'
      operationId: DataAssetMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAssetMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAssetListResponse'
          description: Result of the data asset maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - DataAssets
  /api/v2/exceptions:
    get:
      description: Get all exceptions.
      operationId: DeviationList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationList'
          description: List of all exceptions.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
    post:
      description: Post a list of exceptions to create.
      operationId: DeviationCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviationCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationListResponse'
          description: Result of the exceptions creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
    put:
      description: Post a list of exceptions to update.
      operationId: DeviationUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviationUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationListResponse'
          description: Result of the exceptions update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
    delete:
      description: A list of exceptions to delete.
      operationId: DeviationDeleteList
      parameters:
      - description: ID of the exception to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviationDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationListResponse'
          description: Result of the exceptions delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}:
    get:
      description: Get the details of the indicated exception.
      operationId: DeviationDetails
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deviation'
          description: Details of the exception.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/custom_attributes:
    get:
      description: Get the list of custom attributes for exceptions.
      operationId: DeviationCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationCustomAttrs'
          description: Custom attributes for exceptions.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/custom_attributes_list:
    get:
      description: Get the list of custom attributes for exceptions.
      operationId: DeviationCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationCustomAttrsList'
          description: Custom attributes list for exceptions.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/attachments:
    get:
      description: Get all exception attachments.
      operationId: DeviationAttachments
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationAttachmentsResponse'
          description: List of all exception attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/files/{file_id}:
    get:
      description: Download files for exceptions.
      operationId: FilesDownload
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/files:
    post:
      description: Uploads files for exceptions.
      operationId: FilesUpload
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for exceptions.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/links/{link_id}:
    get:
      description: Get links for exceptions.
      operationId: LinksGet
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/links:
    post:
      description: Adds links for exceptions.
      operationId: LinksAdd
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for exceptions.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/comments:
    get:
      description: Get all exception comments.
      operationId: DeviationComments
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationComments'
          description: List of all exception comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
    post:
      description: Adds a comment to exception.
      operationId: DeviationCreateComment
      parameters:
      - description: ID of the exception.
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for exceptions.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/{deviation_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated exception.
      operationId: DeviationRiskMap
      parameters:
      - description: ID of the exception
        in: path
        name: deviation_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/exceptions/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Risks) for
        replacing mappings to exceptions.'
      operationId: DeviationMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviationMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviationListResponse'
          description: Result of the exception maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Deviations
  /api/v2/facilities:
    get:
      description: Get all facilities.
      operationId: FacilityList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityList'
          description: List of all facilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
    post:
      description: Post a list of facilities to create.
      operationId: FacilityCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityListResponse'
          description: Result of the facilities creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
    put:
      description: Post a list of facilities to update.
      operationId: FacilityUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityListResponse'
          description: Result of the facilities update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
    delete:
      description: A list of facilities to delete.
      operationId: FacilityDeleteList
      parameters:
      - description: ID of the facility to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityListResponse'
          description: Result of the facilities delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}:
    get:
      description: Get the details of the indicated facility.
      operationId: FacilityDetails
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Facility'
          description: Details of the facility.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/custom_attributes:
    get:
      description: Get the list of custom attributes for facilities.
      operationId: FacilityCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCustomAttrs'
          description: Custom attributes for facilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/custom_attributes_list:
    get:
      description: Get the list of custom attributes for facilities.
      operationId: FacilityCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCustomAttrsList'
          description: Custom attributes list for facilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/attachments:
    get:
      description: Get all facility attachments.
      operationId: FacilityAttachments
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityAttachmentsResponse'
          description: List of all facility attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/files/{file_id}:
    get:
      description: Download files for facilities.
      operationId: FilesDownload
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/files:
    post:
      description: Uploads files for facilities.
      operationId: FilesUpload
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for facilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/links/{link_id}:
    get:
      description: Get links for facilities.
      operationId: LinksGet
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/links:
    post:
      description: Adds links for facilities.
      operationId: LinksAdd
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for facilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/comments:
    get:
      description: Get all facility comments.
      operationId: FacilityComments
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityComments'
          description: List of all facility comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
    post:
      description: Adds a comment to facility.
      operationId: FacilityCreateComment
      parameters:
      - description: ID of the facility.
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for facilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/map/markets:
    get:
      description: Get all mapped markets of the indicated facility.
      operationId: FacilityMarketMap
      parameters:
      - description: ID of the facility
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityMappedMarket'
          description: List of all mapped markets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/{facility_id}/map/vendors:
    get:
      description: Get all mapped vendors of the indicated facility.
      operationId: FacilityVendorMap
      parameters:
      - description: ID of the facility
        in: path
        name: facility_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityMappedVendor'
          description: List of all mapped vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/facilities/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Markets and
        Vendors) for replacing mappings to facilities.'
      operationId: FacilityMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityListResponse'
          description: Result of the facility maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
    put:
      description: 'Post list of existing objects ids (accepted types: Markets and
        Vendors) for adding mappings to facilities.'
      operationId: FacilityMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityListResponse'
          description: Result of the facility maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Facilities
  /api/v2/incidents:
    get:
      description: Get all incidents.
      operationId: IncidentList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentList'
          description: List of all incidents.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
    post:
      description: Post a list of incidents to create.
      operationId: IncidentCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentListResponse'
          description: Result of the incidents creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
    put:
      description: Post a list of incidents to update.
      operationId: IncidentUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentListResponse'
          description: Result of the incidents update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
    delete:
      description: A list of incidents to delete.
      operationId: IncidentDeleteList
      parameters:
      - description: ID of the incident to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentListResponse'
          description: Result of the incidents delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}:
    get:
      description: Get the details of the indicated incident.
      operationId: IncidentDetails
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
          description: Details of the incident.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/custom_attributes:
    get:
      description: Get the list of custom attributes for incidents.
      operationId: IncidentCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentCustomAttrs'
          description: Custom attributes for incidents.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/custom_attributes_list:
    get:
      description: Get the list of custom attributes for incidents.
      operationId: IncidentCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentCustomAttrsList'
          description: Custom attributes list for incidents.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/attachments:
    get:
      description: Get all incident attachments.
      operationId: IncidentAttachments
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentAttachmentsResponse'
          description: List of all incident attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/files/{file_id}:
    get:
      description: Download files for incidents.
      operationId: FilesDownload
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/files:
    post:
      description: Uploads files for incidents.
      operationId: FilesUpload
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for incidents.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/links/{link_id}:
    get:
      description: Get links for incidents.
      operationId: LinksGet
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/links:
    post:
      description: Adds links for incidents.
      operationId: LinksAdd
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for incidents.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/comments:
    get:
      description: Get all incident comments.
      operationId: IncidentComments
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentComments'
          description: List of all incident comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
    post:
      description: Adds a comment to incident.
      operationId: IncidentCreateComment
      parameters:
      - description: ID of the incident.
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for incidents.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/{incident_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated incident.
      operationId: IncidentRiskMap
      parameters:
      - description: ID of the incident
        in: path
        name: incident_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/incidents/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Risks) for
        replacing mappings to incidents.'
      operationId: IncidentMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentListResponse'
          description: Result of the incident maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Incidents
  /api/v2/issues:
    get:
      description: Get all issues.
      operationId: IssueList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueList'
          description: List of all issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
    post:
      description: Post a list of issues to create.
      operationId: IssueCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueListResponse'
          description: Result of the issues creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
    put:
      description: Post a list of issues to update.
      operationId: IssueUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueListResponse'
          description: Result of the issues update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
    delete:
      description: A list of issues to delete.
      operationId: IssueDeleteList
      parameters:
      - description: ID of the issue to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueListResponse'
          description: Result of the issues delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}:
    get:
      description: Get the details of the indicated issue.
      operationId: IssueDetails
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: Details of the issue.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/custom_attributes:
    get:
      description: Get the list of custom attributes for issues.
      operationId: IssueCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCustomAttrs'
          description: Custom attributes for issues.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/custom_attributes_list:
    get:
      description: Get the list of custom attributes for issues.
      operationId: IssueCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueCustomAttrsList'
          description: Custom attributes list for issues.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/attachments:
    get:
      description: Get all issue attachments.
      operationId: IssueAttachments
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueAttachmentsResponse'
          description: List of all issue attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/files/{file_id}:
    get:
      description: Download files for issues.
      operationId: FilesDownload
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/files:
    post:
      description: Uploads files for issues.
      operationId: FilesUpload
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for issues.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/links/{link_id}:
    get:
      description: Get links for issues.
      operationId: LinksGet
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/links:
    post:
      description: Adds links for issues.
      operationId: LinksAdd
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for issues.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/comments:
    get:
      description: Get all issue comments.
      operationId: IssueComments
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueComments'
          description: List of all issue comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
    post:
      description: Adds a comment to issue.
      operationId: IssueCreateComment
      parameters:
      - description: ID of the issue.
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/assessments:
    get:
      description: Get all mapped assessments of the indicated issue.
      operationId: IssueAssessmentMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedAssessment'
          description: List of all mapped assessments.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated issue.
      operationId: IssueAuditMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated issue.
      operationId: IssueControlMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated issue.
      operationId: IssueProgramMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/projects:
    get:
      description: Get all mapped projects of the indicated issue.
      operationId: IssueProjectMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedProject'
          description: List of all mapped projects.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/requests:
    get:
      description: Get all mapped requests of the indicated issue.
      operationId: IssueRequestMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedRequest'
          description: List of all mapped requests.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated issue.
      operationId: IssueRiskMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/{issue_id}/map/standards:
    get:
      description: Get all mapped standards of the indicated issue.
      operationId: IssueStandardMap
      parameters:
      - description: ID of the issue
        in: path
        name: issue_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueMappedStandard'
          description: List of all mapped standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/issues/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Assessments,
        Controls, Programs, Projects, Requests, Risks and Standards) for replacing
        mappings to issues.'
      operationId: IssueMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueListResponse'
          description: Result of the issue maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
    put:
      description: 'Post list of existing objects ids (accepted types: Audits, Assessments,
        Controls, Programs, Projects, Requests, Risks and Standards) for adding mappings
        to issues.'
      operationId: IssueMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueListResponse'
          description: Result of the issue maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Issues
  /api/v2/markets:
    get:
      description: Get all markets.
      operationId: MarketList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketList'
          description: List of all markets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
    post:
      description: Post a list of markets to create.
      operationId: MarketCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketListResponse'
          description: Result of the markets creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
    put:
      description: Post a list of markets to update.
      operationId: MarketUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketListResponse'
          description: Result of the markets update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
    delete:
      description: A list of markets to delete.
      operationId: MarketDeleteList
      parameters:
      - description: ID of the market to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketListResponse'
          description: Result of the markets delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}:
    get:
      description: Get the details of the indicated market.
      operationId: MarketDetails
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Market'
          description: Details of the market.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/custom_attributes:
    get:
      description: Get the list of custom attributes for markets.
      operationId: MarketCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketCustomAttrs'
          description: Custom attributes for markets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/custom_attributes_list:
    get:
      description: Get the list of custom attributes for markets.
      operationId: MarketCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketCustomAttrsList'
          description: Custom attributes list for markets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/attachments:
    get:
      description: Get all market attachments.
      operationId: MarketAttachments
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketAttachmentsResponse'
          description: List of all market attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/files/{file_id}:
    get:
      description: Download files for markets.
      operationId: FilesDownload
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/files:
    post:
      description: Uploads files for markets.
      operationId: FilesUpload
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for markets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/links/{link_id}:
    get:
      description: Get links for markets.
      operationId: LinksGet
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/links:
    post:
      description: Adds links for markets.
      operationId: LinksAdd
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for markets.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/comments:
    get:
      description: Get all market comments.
      operationId: MarketComments
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketComments'
          description: List of all market comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
    post:
      description: Adds a comment to market.
      operationId: MarketCreateComment
      parameters:
      - description: ID of the market.
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for markets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated market.
      operationId: MarketAuditMap
      parameters:
      - description: ID of the market
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/{market_id}/map/facilities:
    get:
      description: Get all mapped facilities of the indicated market.
      operationId: MarketFacilityMap
      parameters:
      - description: ID of the market
        in: path
        name: market_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketMappedFacility'
          description: List of all mapped facilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/markets/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits and
        Facilities) for replacing mappings to markets.'
      operationId: MarketMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketListResponse'
          description: Result of the market maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Markets
  /api/v2/objectives:
    get:
      description: Get all objectives.
      operationId: ObjectiveList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveList'
          description: List of all objectives.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
    post:
      description: Post a list of objectives to create.
      operationId: ObjectiveCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectiveCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveListResponse'
          description: Result of the objectives creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
    put:
      description: Post a list of objectives to update.
      operationId: ObjectiveUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectiveUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveListResponse'
          description: Result of the objectives update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
    delete:
      description: A list of objectives to delete.
      operationId: ObjectiveDeleteList
      parameters:
      - description: ID of the objective to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectiveDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveListResponse'
          description: Result of the objectives delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}:
    get:
      description: Get the details of the indicated objective.
      operationId: ObjectiveDetails
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Objective'
          description: Details of the objective.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/custom_attributes:
    get:
      description: Get the list of custom attributes for objectives.
      operationId: ObjectiveCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveCustomAttrs'
          description: Custom attributes for objectives.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/custom_attributes_list:
    get:
      description: Get the list of custom attributes for objectives.
      operationId: ObjectiveCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveCustomAttrsList'
          description: Custom attributes list for objectives.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/attachments:
    get:
      description: Get all objective attachments.
      operationId: ObjectiveAttachments
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveAttachmentsResponse'
          description: List of all objective attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/files/{file_id}:
    get:
      description: Download files for objectives.
      operationId: FilesDownload
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/files:
    post:
      description: Uploads files for objectives.
      operationId: FilesUpload
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for objectives.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/links/{link_id}:
    get:
      description: Get links for objectives.
      operationId: LinksGet
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/links:
    post:
      description: Adds links for objectives.
      operationId: LinksAdd
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for objectives.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/comments:
    get:
      description: Get all objective comments.
      operationId: ObjectiveComments
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveComments'
          description: List of all objective comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
    post:
      description: Adds a comment to objective.
      operationId: ObjectiveCreateComment
      parameters:
      - description: ID of the objective.
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for objectives.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated objective.
      operationId: ObjectiveControlMap
      parameters:
      - description: ID of the objective
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated objective.
      operationId: ObjectiveOrgGroupMap
      parameters:
      - description: ID of the objective
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated objective.
      operationId: ObjectiveProgramMap
      parameters:
      - description: ID of the objective
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/{objective_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated objective.
      operationId: ObjectiveRiskMap
      parameters:
      - description: ID of the objective
        in: path
        name: objective_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/objectives/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Controls,
        OrgGroups, Programs and Risks) for replacing mappings to objectives.'
      operationId: ObjectiveMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectiveMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveListResponse'
          description: Result of the objective maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
    put:
      description: 'Post list of existing objects ids (accepted types: Controls, OrgGroups,
        Programs and Risks) for adding mappings to objectives.'
      operationId: ObjectiveMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectiveMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectiveListResponse'
          description: Result of the objective maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Objectives
  /api/v2/org_groups:
    get:
      description: Get all org groups.
      operationId: OrgGroupList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupList'
          description: List of all org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
    post:
      description: Post a list of org groups to create.
      operationId: OrgGroupCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgGroupCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupListResponse'
          description: Result of the org groups creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
    put:
      description: Post a list of org groups to update.
      operationId: OrgGroupUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgGroupUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupListResponse'
          description: Result of the org groups update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
    delete:
      description: A list of org groups to delete.
      operationId: OrgGroupDeleteList
      parameters:
      - description: ID of the org group to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgGroupDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupListResponse'
          description: Result of the org groups delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}:
    get:
      description: Get the details of the indicated org group.
      operationId: OrgGroupDetails
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroup'
          description: Details of the org group.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/custom_attributes:
    get:
      description: Get the list of custom attributes for org groups.
      operationId: OrgGroupCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupCustomAttrs'
          description: Custom attributes for org groups.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/custom_attributes_list:
    get:
      description: Get the list of custom attributes for org groups.
      operationId: OrgGroupCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupCustomAttrsList'
          description: Custom attributes list for org groups.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/attachments:
    get:
      description: Get all org group attachments.
      operationId: OrgGroupAttachments
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupAttachmentsResponse'
          description: List of all org group attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/files/{file_id}:
    get:
      description: Download files for org groups.
      operationId: FilesDownload
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/files:
    post:
      description: Uploads files for org groups.
      operationId: FilesUpload
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for org groups.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/links/{link_id}:
    get:
      description: Get links for org groups.
      operationId: LinksGet
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/links:
    post:
      description: Adds links for org groups.
      operationId: LinksAdd
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for org groups.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/comments:
    get:
      description: Get all org group comments.
      operationId: OrgGroupComments
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupComments'
          description: List of all org group comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
    post:
      description: Adds a comment to org group.
      operationId: OrgGroupCreateComment
      parameters:
      - description: ID of the org group.
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated org group.
      operationId: OrgGroupControlMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/objectives:
    get:
      description: Get all mapped objectives of the indicated org group.
      operationId: OrgGroupObjectiveMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedObjective'
          description: List of all mapped objectives.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/people:
    get:
      description: Get all mapped people of the indicated org group.
      operationId: OrgGroupPersonMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedPerson'
          description: List of all mapped people.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated org group.
      operationId: OrgGroupProgramMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated org group.
      operationId: OrgGroupRiskMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/{org_group_id}/map/standards:
    get:
      description: Get all mapped standards of the indicated org group.
      operationId: OrgGroupStandardMap
      parameters:
      - description: ID of the org group
        in: path
        name: org_group_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupMappedStandard'
          description: List of all mapped standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/org_groups/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Controls,
        Objectives, People, Programs, Risks and Standards) for replacing mappings
        to org groups.'
      operationId: OrgGroupMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgGroupMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupListResponse'
          description: Result of the org group maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
    put:
      description: 'Post list of existing objects ids (accepted types: Controls, Objectives,
        People, Programs, Risks and Standards) for adding mappings to org groups.'
      operationId: OrgGroupMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgGroupMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgGroupListResponse'
          description: Result of the org group maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - OrgGroups
  /api/v2/people/self:
    get:
      description: Get current person info
      operationId: PeopleSelf
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonSelf'
          description: Current person details.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people:
    get:
      description: Get all people.
      operationId: PersonList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonList'
          description: List of all people.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
    post:
      description: Post a list of people to create.
      operationId: PersonCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonListResponse'
          description: Result of the people creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
    put:
      description: Post a list of people to update.
      operationId: PersonUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonListResponse'
          description: Result of the people update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}:
    get:
      description: Get the details of the indicated person.
      operationId: PersonDetails
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
          description: Details of the person.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/custom_attributes:
    get:
      description: Get the list of custom attributes for people.
      operationId: PersonCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonCustomAttrs'
          description: Custom attributes for people.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/custom_attributes_list:
    get:
      description: Get the list of custom attributes for people.
      operationId: PersonCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonCustomAttrsList'
          description: Custom attributes list for people.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/attachments:
    get:
      description: Get all person attachments.
      operationId: PersonAttachments
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonAttachmentsResponse'
          description: List of all person attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/files/{file_id}:
    get:
      description: Download files for people.
      operationId: FilesDownload
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/files:
    post:
      description: Uploads files for people.
      operationId: FilesUpload
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for people.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/links/{link_id}:
    get:
      description: Get links for people.
      operationId: LinksGet
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/links:
    post:
      description: Adds links for people.
      operationId: LinksAdd
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for people.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/comments:
    get:
      description: Get all person comments.
      operationId: PersonComments
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonComments'
          description: List of all person comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
    post:
      description: Adds a comment to person.
      operationId: PersonCreateComment
      parameters:
      - description: ID of the person.
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for people.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/{person_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated person.
      operationId: PersonOrgGroupMap
      parameters:
      - description: ID of the person
        in: path
        name: person_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/people/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: OrgGroup)
        for replacing mappings to people.'
      operationId: PersonMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonMappedCreateUpdateListSchema'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonListResponse'
          description: Result of the person maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - People
  /api/v2/policies:
    get:
      description: Get all policies.
      operationId: PolicyList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyList'
          description: List of all policies.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
    post:
      description: Post a list of policies to create.
      operationId: PolicyCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyListResponse'
          description: Result of the policies creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
    put:
      description: Post a list of policies to update.
      operationId: PolicyUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyListResponse'
          description: Result of the policies update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
    delete:
      description: A list of policies to delete.
      operationId: PolicyDeleteList
      parameters:
      - description: ID of the policy to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyListResponse'
          description: Result of the policies delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}:
    get:
      description: Get the details of the indicated policy.
      operationId: PolicyDetails
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
          description: Details of the policy.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/custom_attributes:
    get:
      description: Get the list of custom attributes for policies.
      operationId: PolicyCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyCustomAttrs'
          description: Custom attributes for policies.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/custom_attributes_list:
    get:
      description: Get the list of custom attributes for policies.
      operationId: PolicyCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyCustomAttrsList'
          description: Custom attributes list for policies.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/attachments:
    get:
      description: Get all policy attachments.
      operationId: PolicyAttachments
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAttachmentsResponse'
          description: List of all policy attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/files/{file_id}:
    get:
      description: Download files for policies.
      operationId: FilesDownload
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/files:
    post:
      description: Uploads files for policies.
      operationId: FilesUpload
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for policies.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/links/{link_id}:
    get:
      description: Get links for policies.
      operationId: LinksGet
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/links:
    post:
      description: Adds links for policies.
      operationId: LinksAdd
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for policies.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/policies/{policy_id}/comments:
    get:
      description: Get all policy comments.
      operationId: PolicyComments
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyComments'
          description: List of all policy comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
    post:
      description: Adds a comment to policy.
      operationId: PolicyCreateComment
      parameters:
      - description: ID of the policy.
        in: path
        name: policy_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for policies.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Policies
  /api/v2/processes:
    get:
      description: Get all processes.
      operationId: ProcessList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessList'
          description: List of all processes.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
    post:
      description: Post a list of processes to create.
      operationId: ProcessCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessListResponse'
          description: Result of the processes creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
    put:
      description: Post a list of processes to update.
      operationId: ProcessUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessListResponse'
          description: Result of the processes update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
    delete:
      description: A list of processes to delete.
      operationId: ProcessDeleteList
      parameters:
      - description: ID of the process to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessListResponse'
          description: Result of the processes delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}:
    get:
      description: Get the details of the indicated process.
      operationId: ProcessDetails
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Process'
          description: Details of the process.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/custom_attributes:
    get:
      description: Get the list of custom attributes for processes.
      operationId: ProcessCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessCustomAttrs'
          description: Custom attributes for processes.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/custom_attributes_list:
    get:
      description: Get the list of custom attributes for processes.
      operationId: ProcessCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessCustomAttrsList'
          description: Custom attributes list for processes.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/attachments:
    get:
      description: Get all process attachments.
      operationId: ProcessAttachments
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessAttachmentsResponse'
          description: List of all process attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/files/{file_id}:
    get:
      description: Download files for processes.
      operationId: FilesDownload
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/files:
    post:
      description: Uploads files for processes.
      operationId: FilesUpload
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for processes.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/links/{link_id}:
    get:
      description: Get links for processes.
      operationId: LinksGet
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/links:
    post:
      description: Adds links for processes.
      operationId: LinksAdd
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for processes.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/processes/{process_id}/comments:
    get:
      description: Get all process comments.
      operationId: ProcessComments
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessComments'
          description: List of all process comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
    post:
      description: Adds a comment to process.
      operationId: ProcessCreateComment
      parameters:
      - description: ID of the process.
        in: path
        name: process_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for processes.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Processes
  /api/v2/products:
    get:
      description: Get all products.
      operationId: ProductList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductList'
          description: List of all products.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
    post:
      description: Post a list of products to create.
      operationId: ProductCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductListResponse'
          description: Result of the products creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
    put:
      description: Post a list of products to update.
      operationId: ProductUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductListResponse'
          description: Result of the products update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
    delete:
      description: A list of products to delete.
      operationId: ProductDeleteList
      parameters:
      - description: ID of the product to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductListResponse'
          description: Result of the products delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}:
    get:
      description: Get the details of the indicated product.
      operationId: ProductDetails
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
          description: Details of the product.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/custom_attributes:
    get:
      description: Get the list of custom attributes for products.
      operationId: ProductCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductCustomAttrs'
          description: Custom attributes for products.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/custom_attributes_list:
    get:
      description: Get the list of custom attributes for products.
      operationId: ProductCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductCustomAttrsList'
          description: Custom attributes list for products.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/attachments:
    get:
      description: Get all product attachments.
      operationId: ProductAttachments
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductAttachmentsResponse'
          description: List of all product attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/files/{file_id}:
    get:
      description: Download files for products.
      operationId: FilesDownload
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/files:
    post:
      description: Uploads files for products.
      operationId: FilesUpload
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for products.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/links/{link_id}:
    get:
      description: Get links for products.
      operationId: LinksGet
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/links:
    post:
      description: Adds links for products.
      operationId: LinksAdd
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for products.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/comments:
    get:
      description: Get all product comments.
      operationId: ProductComments
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductComments'
          description: List of all product comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
    post:
      description: Adds a comment to product.
      operationId: ProductCreateComment
      parameters:
      - description: ID of the product.
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for products.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated product.
      operationId: ProductAuditMap
      parameters:
      - description: ID of the product
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated product.
      operationId: ProductRiskMap
      parameters:
      - description: ID of the product
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/{product_id}/map/vendors:
    get:
      description: Get all mapped vendors of the indicated product.
      operationId: ProductVendorMap
      parameters:
      - description: ID of the product
        in: path
        name: product_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMappedVendor'
          description: List of all mapped vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/products/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Risks
        and Vendors) for replacing mappings to products.'
      operationId: ProductMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductListResponse'
          description: Result of the product maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
    put:
      description: 'Post list of existing objects ids (accepted types: Audits, Risks
        and Vendors) for adding mappings to products.'
      operationId: ProductMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductListResponse'
          description: Result of the product maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Products
  /api/v2/programs:
    get:
      description: Get all programs.
      operationId: ProgramList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramList'
          description: List of all programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
    post:
      description: Post a list of programs to create.
      operationId: ProgramCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgramCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramListResponse'
          description: Result of the programs creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
    put:
      description: Post a list of programs to update.
      operationId: ProgramUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgramUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramListResponse'
          description: Result of the programs update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
    delete:
      description: A list of programs to delete.
      operationId: ProgramDeleteList
      parameters:
      - description: ID of the program to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgramDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramListResponse'
          description: Result of the programs delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}:
    get:
      description: Get the details of the indicated program.
      operationId: ProgramDetails
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Program'
          description: Details of the program.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/custom_attributes:
    get:
      description: Get the list of custom attributes for programs.
      operationId: ProgramCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramCustomAttrs'
          description: Custom attributes for programs.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/custom_attributes_list:
    get:
      description: Get the list of custom attributes for programs.
      operationId: ProgramCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramCustomAttrsList'
          description: Custom attributes list for programs.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/attachments:
    get:
      description: Get all program attachments.
      operationId: ProgramAttachments
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramAttachmentsResponse'
          description: List of all program attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/files/{file_id}:
    get:
      description: Download files for programs.
      operationId: FilesDownload
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/files:
    post:
      description: Uploads files for programs.
      operationId: FilesUpload
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for programs.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/links/{link_id}:
    get:
      description: Get links for programs.
      operationId: LinksGet
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/links:
    post:
      description: Adds links for programs.
      operationId: LinksAdd
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for programs.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/comments:
    get:
      description: Get all program comments.
      operationId: ProgramComments
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramComments'
          description: List of all program comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
    post:
      description: Adds a comment to program.
      operationId: ProgramCreateComment
      parameters:
      - description: ID of the program.
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/assessments:
    get:
      description: Get all mapped assessments of the indicated program.
      operationId: ProgramAssessmentMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedAssessment'
          description: List of all mapped assessments.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated program.
      operationId: ProgramIssueMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated program.
      operationId: ProgramOrgGroupMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/requests:
    get:
      description: Get all mapped requests of the indicated program.
      operationId: ProgramRequestMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedRequest'
          description: List of all mapped requests.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated program.
      operationId: ProgramRiskMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/standards:
    get:
      description: Get all mapped standards of the indicated program.
      operationId: ProgramStandardMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedStandard'
          description: List of all mapped standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/{program_id}/map/systems:
    get:
      description: Get all mapped systems of the indicated program.
      operationId: ProgramSystemMap
      parameters:
      - description: ID of the program
        in: path
        name: program_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramMappedSystem'
          description: List of all mapped systems.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/programs/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Assessments,
        Issues, OrgGroups, Requests, Risks, Standards and Systems) for replacing mappings
        to programs.'
      operationId: ProgramMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgramMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramListResponse'
          description: Result of the program maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
    put:
      description: 'Post list of existing objects ids (accepted types: Assessments,
        Issues, OrgGroups, Requests, Risks, Standards and Systems) for adding mappings
        to programs.'
      operationId: ProgramMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgramMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramListResponse'
          description: Result of the program maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Programs
  /api/v2/projects:
    get:
      description: Get all projects.
      operationId: ProjectList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
          description: List of all projects.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
    post:
      description: Post a list of projects to create.
      operationId: ProjectCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
          description: Result of the projects creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
    put:
      description: Post a list of projects to update.
      operationId: ProjectUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
          description: Result of the projects update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
    delete:
      description: A list of projects to delete.
      operationId: ProjectDeleteList
      parameters:
      - description: ID of the project to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
          description: Result of the projects delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}:
    get:
      description: Get the details of the indicated project.
      operationId: ProjectDetails
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: Details of the project.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/custom_attributes:
    get:
      description: Get the list of custom attributes for projects.
      operationId: ProjectCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCustomAttrs'
          description: Custom attributes for projects.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/custom_attributes_list:
    get:
      description: Get the list of custom attributes for projects.
      operationId: ProjectCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCustomAttrsList'
          description: Custom attributes list for projects.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/attachments:
    get:
      description: Get all project attachments.
      operationId: ProjectAttachments
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectAttachmentsResponse'
          description: List of all project attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/files/{file_id}:
    get:
      description: Download files for projects.
      operationId: FilesDownload
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/files:
    post:
      description: Uploads files for projects.
      operationId: FilesUpload
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for projects.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/links/{link_id}:
    get:
      description: Get links for projects.
      operationId: LinksGet
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/links:
    post:
      description: Adds links for projects.
      operationId: LinksAdd
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for projects.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/comments:
    get:
      description: Get all project comments.
      operationId: ProjectComments
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectComments'
          description: List of all project comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
    post:
      description: Adds a comment to project.
      operationId: ProjectCreateComment
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for projects.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/{project_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated project.
      operationId: ProjectIssueMap
      parameters:
      - description: ID of the project
        in: path
        name: project_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/projects/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Issues) for
        replacing mappings to projects.'
      operationId: ProjectMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
          description: Result of the project maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
    put:
      description: 'Post list of existing objects ids (accepted types: Issues) for
        adding mappings to projects.'
      operationId: ProjectMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
          description: Result of the project maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Projects
  /api/v2/relationships:
    get:
      description: Get all relationships.
      operationId: RelationshipList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipList'
          description: List of all relationships.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Relationships
    post:
      description: Post a list of relationships to create.
      operationId: RelationshipCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipListResponse'
          description: Result of the relationships creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Relationships
    put:
      description: Post a list of relationships to update.
      operationId: RelationshipUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipListResponse'
          description: Result of the relationships update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Relationships
    delete:
      description: A list of relationships to delete.
      operationId: RelationshipDeleteList
      parameters:
      - description: ID of the relationship to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationshipDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelationshipListResponse'
          description: Result of the relationships delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Relationships
  /api/v2/relationships/{relationship_id}:
    get:
      description: Get the details of the indicated relationship.
      operationId: RelationshipDetails
      parameters:
      - description: ID of the relationship.
        in: path
        name: relationship_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
          description: Details of the relationship.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Relationships
  /api/v2/requests:
    get:
      description: Get all requests.
      operationId: RequestList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestList'
          description: List of all requests.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
    post:
      description: Post a list of requests to create.
      operationId: RequestCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestListResponse'
          description: Result of the requests creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
    put:
      description: Post a list of requests to update.
      operationId: RequestUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestListResponse'
          description: Result of the requests update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
    delete:
      description: A list of requests to delete.
      operationId: RequestDeleteList
      parameters:
      - description: ID of the request to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestListResponse'
          description: Result of the requests delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}:
    get:
      description: Get the details of the indicated request.
      operationId: RequestDetails
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Request'
          description: Details of the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/custom_attributes:
    get:
      description: Get the list of custom attributes for requests.
      operationId: RequestCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCustomAttrs'
          description: Custom attributes for requests.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/custom_attributes_list:
    get:
      description: Get the list of custom attributes for requests.
      operationId: RequestCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCustomAttrsList'
          description: Custom attributes list for requests.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/attachments:
    get:
      description: Get all request attachments.
      operationId: RequestAttachments
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestAttachmentsResponse'
          description: List of all request attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/files/{file_id}:
    get:
      description: Download files for requests.
      operationId: FilesDownload
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/files:
    post:
      description: Uploads files for requests.
      operationId: FilesUpload
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for requests.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/links/{link_id}:
    get:
      description: Get links for requests.
      operationId: LinksGet
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/links:
    post:
      description: Adds links for requests.
      operationId: LinksAdd
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for requests.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/comments:
    get:
      description: Get all request comments.
      operationId: RequestComments
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestComments'
          description: List of all request comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
    post:
      description: Adds a comment to request.
      operationId: RequestCreateComment
      parameters:
      - description: ID of the request.
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for requests.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated request.
      operationId: RequestControlMap
      parameters:
      - description: ID of the request
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated request.
      operationId: RequestIssueMap
      parameters:
      - description: ID of the request
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/{request_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated request.
      operationId: RequestProgramMap
      parameters:
      - description: ID of the request
        in: path
        name: request_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/requests/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Controls,
        Issues and Programs) for replacing mappings to requests.'
      operationId: RequestMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestListResponse'
          description: Result of the request maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
    put:
      description: 'Post list of existing objects ids (accepted types: Controls, Issues
        and Programs) for adding mappings to requests.'
      operationId: RequestMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestListResponse'
          description: Result of the request maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Requests
  /api/v2/risk_factor_options:
    get:
      description: Get all risk factor options.
      operationId: RiskFactorOptionList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskFactorOptionList'
          description: List of all risk factor options.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - RiskFactorOptions
  /api/v2/risk_vector_scores:
    get:
      description: Get all risk vector scores.
      operationId: RiskVectorScoreList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskVectorScoreList'
          description: List of all risk vector scores.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - RiskVectorScores
  /api/v2/risks:
    get:
      description: Get all risks.
      operationId: RiskList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskList'
          description: List of all risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
    post:
      description: Post a list of risks to create.
      operationId: RiskCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskListResponse'
          description: Result of the risks creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
    put:
      description: Post a list of risks to update.
      operationId: RiskUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskListResponse'
          description: Result of the risks update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
    delete:
      description: A list of risks to delete.
      operationId: RiskDeleteList
      parameters:
      - description: ID of the risk to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskListResponse'
          description: Result of the risks delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}:
    get:
      description: Get the details of the indicated risk.
      operationId: RiskDetails
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Risk'
          description: Details of the risk.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/custom_attributes:
    get:
      description: Get the list of custom attributes for risks.
      operationId: RiskCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskCustomAttrs'
          description: Custom attributes for risks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/custom_attributes_list:
    get:
      description: Get the list of custom attributes for risks.
      operationId: RiskCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskCustomAttrsList'
          description: Custom attributes list for risks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/attachments:
    get:
      description: Get all risk attachments.
      operationId: RiskAttachments
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskAttachmentsResponse'
          description: List of all risk attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/files/{file_id}:
    get:
      description: Download files for risks.
      operationId: FilesDownload
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/files:
    post:
      description: Uploads files for risks.
      operationId: FilesUpload
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for risks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/links/{link_id}:
    get:
      description: Get links for risks.
      operationId: LinksGet
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/links:
    post:
      description: Adds links for risks.
      operationId: LinksAdd
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for risks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/comments:
    get:
      description: Get all risk comments.
      operationId: RiskComments
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskComments'
          description: List of all risk comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
    post:
      description: Adds a comment to risk.
      operationId: RiskCreateComment
      parameters:
      - description: ID of the risk.
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated risk.
      operationId: RiskAuditMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/controls:
    get:
      description: Get all mapped controls of the indicated risk.
      operationId: RiskControlMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedControl'
          description: List of all mapped controls.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/exceptions:
    get:
      description: Get all mapped exceptions of the indicated risk.
      operationId: RiskDeviationMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedDeviation'
          description: List of all mapped exceptions.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/incidents:
    get:
      description: Get all mapped incidents of the indicated risk.
      operationId: RiskIncidentMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedIncident'
          description: List of all mapped incidents.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated risk.
      operationId: RiskIssueMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/objectives:
    get:
      description: Get all mapped objectives of the indicated risk.
      operationId: RiskObjectiveMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedObjective'
          description: List of all mapped objectives.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated risk.
      operationId: RiskOrgGroupMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/products:
    get:
      description: Get all mapped products of the indicated risk.
      operationId: RiskProductMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedProduct'
          description: List of all mapped products.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated risk.
      operationId: RiskProgramMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated risk.
      operationId: RiskRiskMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/{risk_id}/map/tasks:
    get:
      description: Get all mapped tasks of the indicated risk.
      operationId: RiskTaskMap
      parameters:
      - description: ID of the risk
        in: path
        name: risk_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskMappedTask'
          description: List of all mapped tasks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/risks/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Controls,
        Deviations, Incidents, Issues, Objectives, OrgGroups, Products, Programs,
        Risks and Tasks) for replacing mappings to risks.'
      operationId: RiskMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskListResponse'
          description: Result of the risk maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
    put:
      description: 'Post list of existing objects ids (accepted types: Audits, Controls,
        Deviations, Incidents, Issues, Objectives, OrgGroups, Products, Programs,
        Risks and Tasks) for adding mappings to risks.'
      operationId: RiskMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RiskMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskListResponse'
          description: Result of the risk maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Risks
  /api/v2/sections:
    get:
      description: Get all sections.
      operationId: SectionList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionList'
          description: List of all sections.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
    post:
      description: Post a list of sections to create.
      operationId: SectionCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionListResponse'
          description: Result of the sections creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
    put:
      description: Post a list of sections to update.
      operationId: SectionUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionListResponse'
          description: Result of the sections update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
    delete:
      description: A list of sections to delete.
      operationId: SectionDeleteList
      parameters:
      - description: ID of the section to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionListResponse'
          description: Result of the sections delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}:
    get:
      description: Get the details of the indicated section.
      operationId: SectionDetails
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: Details of the section.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/custom_attributes:
    get:
      description: Get the list of custom attributes for sections.
      operationId: SectionCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionCustomAttrs'
          description: Custom attributes for sections.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/custom_attributes_list:
    get:
      description: Get the list of custom attributes for sections.
      operationId: SectionCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionCustomAttrsList'
          description: Custom attributes list for sections.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/attachments:
    get:
      description: Get all section attachments.
      operationId: SectionAttachments
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionAttachmentsResponse'
          description: List of all section attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/files/{file_id}:
    get:
      description: Download files for sections.
      operationId: FilesDownload
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/files:
    post:
      description: Uploads files for sections.
      operationId: FilesUpload
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for sections.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/links/{link_id}:
    get:
      description: Get links for sections.
      operationId: LinksGet
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/links:
    post:
      description: Adds links for sections.
      operationId: LinksAdd
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for sections.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/sections/{section_id}/comments:
    get:
      description: Get all section comments.
      operationId: SectionComments
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionComments'
          description: List of all section comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
    post:
      description: Adds a comment to section.
      operationId: SectionCreateComment
      parameters:
      - description: ID of the section.
        in: path
        name: section_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for sections.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Sections
  /api/v2/standards:
    get:
      description: Get all standards.
      operationId: StandardList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardList'
          description: List of all standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
    post:
      description: Post a list of standards to create.
      operationId: StandardCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StandardCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardListResponse'
          description: Result of the standards creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
    put:
      description: Post a list of standards to update.
      operationId: StandardUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StandardUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardListResponse'
          description: Result of the standards update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
    delete:
      description: A list of standards to delete.
      operationId: StandardDeleteList
      parameters:
      - description: ID of the standard to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StandardDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardListResponse'
          description: Result of the standards delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}:
    get:
      description: Get the details of the indicated standard.
      operationId: StandardDetails
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Standard'
          description: Details of the standard.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/custom_attributes:
    get:
      description: Get the list of custom attributes for standards.
      operationId: StandardCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardCustomAttrs'
          description: Custom attributes for standards.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/custom_attributes_list:
    get:
      description: Get the list of custom attributes for standards.
      operationId: StandardCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardCustomAttrsList'
          description: Custom attributes list for standards.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/attachments:
    get:
      description: Get all standard attachments.
      operationId: StandardAttachments
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardAttachmentsResponse'
          description: List of all standard attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/files/{file_id}:
    get:
      description: Download files for standards.
      operationId: FilesDownload
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/files:
    post:
      description: Uploads files for standards.
      operationId: FilesUpload
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for standards.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/links/{link_id}:
    get:
      description: Get links for standards.
      operationId: LinksGet
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/links:
    post:
      description: Adds links for standards.
      operationId: LinksAdd
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for standards.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/comments:
    get:
      description: Get all standard comments.
      operationId: StandardComments
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardComments'
          description: List of all standard comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
    post:
      description: Adds a comment to standard.
      operationId: StandardCreateComment
      parameters:
      - description: ID of the standard.
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for standards.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated standard.
      operationId: StandardAuditMap
      parameters:
      - description: ID of the standard
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/map/issues:
    get:
      description: Get all mapped issues of the indicated standard.
      operationId: StandardIssueMap
      parameters:
      - description: ID of the standard
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardMappedIssue'
          description: List of all mapped issues.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/map/org_groups:
    get:
      description: Get all mapped org groups of the indicated standard.
      operationId: StandardOrgGroupMap
      parameters:
      - description: ID of the standard
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardMappedOrgGroup'
          description: List of all mapped org groups.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/{standard_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated standard.
      operationId: StandardProgramMap
      parameters:
      - description: ID of the standard
        in: path
        name: standard_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/standards/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Issues,
        OrgGroups and Programs) for replacing mappings to standards.'
      operationId: StandardMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StandardMappedCreateUpdateListSchema'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardListResponse'
          description: Result of the standard maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Standards
  /api/v2/systems:
    get:
      description: Get all systems.
      operationId: SystemList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemList'
          description: List of all systems.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
    post:
      description: Post a list of systems to create.
      operationId: SystemCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemListResponse'
          description: Result of the systems creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
    put:
      description: Post a list of systems to update.
      operationId: SystemUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemListResponse'
          description: Result of the systems update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
    delete:
      description: A list of systems to delete.
      operationId: SystemDeleteList
      parameters:
      - description: ID of the system to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemListResponse'
          description: Result of the systems delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}:
    get:
      description: Get the details of the indicated system.
      operationId: SystemDetails
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System'
          description: Details of the system.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/custom_attributes:
    get:
      description: Get the list of custom attributes for systems.
      operationId: SystemCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemCustomAttrs'
          description: Custom attributes for systems.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/custom_attributes_list:
    get:
      description: Get the list of custom attributes for systems.
      operationId: SystemCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemCustomAttrsList'
          description: Custom attributes list for systems.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/attachments:
    get:
      description: Get all system attachments.
      operationId: SystemAttachments
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemAttachmentsResponse'
          description: List of all system attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/files/{file_id}:
    get:
      description: Download files for systems.
      operationId: FilesDownload
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/files:
    post:
      description: Uploads files for systems.
      operationId: FilesUpload
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for systems.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/links/{link_id}:
    get:
      description: Get links for systems.
      operationId: LinksGet
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/links:
    post:
      description: Adds links for systems.
      operationId: LinksAdd
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for systems.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/comments:
    get:
      description: Get all system comments.
      operationId: SystemComments
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemComments'
          description: List of all system comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
    post:
      description: Adds a comment to system.
      operationId: SystemCreateComment
      parameters:
      - description: ID of the system.
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for systems.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/map/programs:
    get:
      description: Get all mapped programs of the indicated system.
      operationId: SystemProgramMap
      parameters:
      - description: ID of the system
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemMappedProgram'
          description: List of all mapped programs.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/{system_id}/map/vendors:
    get:
      description: Get all mapped vendors of the indicated system.
      operationId: SystemVendorMap
      parameters:
      - description: ID of the system
        in: path
        name: system_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemMappedVendor'
          description: List of all mapped vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/systems/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Programs,
        Vendors) for replacing mappings to systems.'
      operationId: SystemMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemMappedCreateUpdateListSchema'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemListResponse'
          description: Result of the system maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Systems
  /api/v2/tasks:
    get:
      description: Get all tasks.
      operationId: TaskList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskList'
          description: List of all tasks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
    post:
      description: Post a list of tasks to create.
      operationId: TaskCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskListResponse'
          description: Result of the tasks creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
    put:
      description: Post a list of tasks to update.
      operationId: TaskUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskListResponse'
          description: Result of the tasks update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
    delete:
      description: A list of tasks to delete.
      operationId: TaskDeleteList
      parameters:
      - description: ID of the task to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskListResponse'
          description: Result of the tasks delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}:
    get:
      description: Get the details of the indicated task.
      operationId: TaskDetails
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
          description: Details of the task.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/custom_attributes:
    get:
      description: Get the list of custom attributes for tasks.
      operationId: TaskCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCustomAttrs'
          description: Custom attributes for tasks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/custom_attributes_list:
    get:
      description: Get the list of custom attributes for tasks.
      operationId: TaskCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCustomAttrsList'
          description: Custom attributes list for tasks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/attachments:
    get:
      description: Get all task attachments.
      operationId: TaskAttachments
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskAttachmentsResponse'
          description: List of all task attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/files/{file_id}:
    get:
      description: Download files for tasks.
      operationId: FilesDownload
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/files:
    post:
      description: Uploads files for tasks.
      operationId: FilesUpload
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for tasks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/links/{link_id}:
    get:
      description: Get links for tasks.
      operationId: LinksGet
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/links:
    post:
      description: Adds links for tasks.
      operationId: LinksAdd
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for tasks.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/comments:
    get:
      description: Get all task comments.
      operationId: TaskComments
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskComments'
          description: List of all task comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
    post:
      description: Adds a comment to task.
      operationId: TaskCreateComment
      parameters:
      - description: ID of the task.
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for tasks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/map/audits:
    get:
      description: Get all mapped audits of the indicated task.
      operationId: TaskAuditMap
      parameters:
      - description: ID of the task
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskMappedAudit'
          description: List of all mapped audits.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/map/risks:
    get:
      description: Get all mapped risks of the indicated task.
      operationId: TaskRiskMap
      parameters:
      - description: ID of the task
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskMappedRisk'
          description: List of all mapped risks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/{task_id}/map/vendors:
    get:
      description: Get all mapped vendors of the indicated task.
      operationId: TaskVendorMap
      parameters:
      - description: ID of the task
        in: path
        name: task_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskMappedVendor'
          description: List of all mapped vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/tasks/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Audits, Risks
        and Vendors) for replacing mappings to tasks.'
      operationId: TaskMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskListResponse'
          description: Result of the task maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Tasks
  /api/v2/threats:
    get:
      description: Get all threats.
      operationId: ThreatList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatList'
          description: List of all threats.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
    post:
      description: Post a list of threats to create.
      operationId: ThreatCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreatCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatListResponse'
          description: Result of the threats creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
    put:
      description: Post a list of threats to update.
      operationId: ThreatUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreatUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatListResponse'
          description: Result of the threats update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
    delete:
      description: A list of threats to delete.
      operationId: ThreatDeleteList
      parameters:
      - description: ID of the threat to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreatDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatListResponse'
          description: Result of the threats delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}:
    get:
      description: Get the details of the indicated threat.
      operationId: ThreatDetails
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Threat'
          description: Details of the threat.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/custom_attributes:
    get:
      description: Get the list of custom attributes for threats.
      operationId: ThreatCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatCustomAttrs'
          description: Custom attributes for threats.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/custom_attributes_list:
    get:
      description: Get the list of custom attributes for threats.
      operationId: ThreatCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatCustomAttrsList'
          description: Custom attributes list for threats.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/attachments:
    get:
      description: Get all threat attachments.
      operationId: ThreatAttachments
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatAttachmentsResponse'
          description: List of all threat attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/files/{file_id}:
    get:
      description: Download files for threats.
      operationId: FilesDownload
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/files:
    post:
      description: Uploads files for threats.
      operationId: FilesUpload
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for threats.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/links/{link_id}:
    get:
      description: Get links for threats.
      operationId: LinksGet
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/links:
    post:
      description: Adds links for threats.
      operationId: LinksAdd
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for threats.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/threats/{threat_id}/comments:
    get:
      description: Get all threat comments.
      operationId: ThreatComments
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreatComments'
          description: List of all threat comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
    post:
      description: Adds a comment to threat.
      operationId: ThreatCreateComment
      parameters:
      - description: ID of the threat.
        in: path
        name: threat_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for threats.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Threats
  /api/v2/vendors:
    get:
      description: Get all vendors.
      operationId: VendorList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorList'
          description: List of all vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
    post:
      description: Post a list of vendors to create.
      operationId: VendorCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorListResponse'
          description: Result of the vendors creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
    put:
      description: Post a list of vendors to update.
      operationId: VendorUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorListResponse'
          description: Result of the vendors update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
    delete:
      description: A list of vendors to delete.
      operationId: VendorDeleteList
      parameters:
      - description: ID of the vendor to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorListResponse'
          description: Result of the vendors delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}:
    get:
      description: Get the details of the indicated vendor.
      operationId: VendorDetails
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
          description: Details of the vendor.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/custom_attributes:
    get:
      description: Get the list of custom attributes for vendors.
      operationId: VendorCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorCustomAttrs'
          description: Custom attributes for vendors.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/custom_attributes_list:
    get:
      description: Get the list of custom attributes for vendors.
      operationId: VendorCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorCustomAttrsList'
          description: Custom attributes list for vendors.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/attachments:
    get:
      description: Get all vendor attachments.
      operationId: VendorAttachments
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorAttachmentsResponse'
          description: List of all vendor attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/files/{file_id}:
    get:
      description: Download files for vendors.
      operationId: FilesDownload
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/files:
    post:
      description: Uploads files for vendors.
      operationId: FilesUpload
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for vendors.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/links/{link_id}:
    get:
      description: Get links for vendors.
      operationId: LinksGet
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/links:
    post:
      description: Adds links for vendors.
      operationId: LinksAdd
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for vendors.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/comments:
    get:
      description: Get all vendor comments.
      operationId: VendorComments
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorComments'
          description: List of all vendor comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
    post:
      description: Adds a comment to vendor.
      operationId: VendorCreateComment
      parameters:
      - description: ID of the vendor.
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for vendors.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/map/data_assets:
    get:
      description: Get all mapped data assets of the indicated vendor.
      operationId: VendorDataAssetMap
      parameters:
      - description: ID of the vendor
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMappedDataAsset'
          description: List of all mapped data assets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/map/facilities:
    get:
      description: Get all mapped facilities of the indicated vendor.
      operationId: VendorFacilityMap
      parameters:
      - description: ID of the vendor
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMappedFacility'
          description: List of all mapped facilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/map/products:
    get:
      description: Get all mapped products of the indicated vendor.
      operationId: VendorProductMap
      parameters:
      - description: ID of the vendor
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMappedProduct'
          description: List of all mapped products.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/map/systems:
    get:
      description: Get all mapped systems of the indicated vendor.
      operationId: VendorSystemMap
      parameters:
      - description: ID of the vendor
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMappedSystem'
          description: List of all mapped systems.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/{vendor_id}/map/tasks:
    get:
      description: Get all mapped tasks of the indicated vendor.
      operationId: VendorTaskMap
      parameters:
      - description: ID of the vendor
        in: path
        name: vendor_id
        required: true
        schema:
          type: integer
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorMappedTask'
          description: List of all mapped tasks.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vendors/map:
    post:
      description: 'Post a list of existing objects ids (accepted types: Data Assets,
        Facilities, Product, Systems and Tasks) for replacing mappings to vendors.'
      operationId: VendorMappedCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorListResponse'
          description: Result of the vendor maps creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
    put:
      description: 'Post list of existing objects ids (accepted types: Data Assets,
        Facilities, Product, Systems and Tasks) for adding mappings to vendors.'
      operationId: VendorMappedUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorMappedCreateUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorListResponse'
          description: Result of the vendor maps update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vendors
  /api/v2/vulnerabilities:
    get:
      description: Get all vulnerabilities.
      operationId: VulnerabilityList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityList'
          description: List of all vulnerabilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
    post:
      description: Post a list of vulnerabilities to create.
      operationId: VulnerabilityCreateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VulnerabilityCreateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityListResponse'
          description: Result of the vulnerabilities creation.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
    put:
      description: Post a list of vulnerabilities to update.
      operationId: VulnerabilityUpdateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VulnerabilityUpdateList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityListResponse'
          description: Result of the vulnerabilities update.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
    delete:
      description: A list of vulnerabilities to delete.
      operationId: VulnerabilityDeleteList
      parameters:
      - description: ID of the vulnerability to delete. Omit for deleting a list.
        in: path
        name: entity_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VulnerabilityDeleteList'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityListResponse'
          description: Result of the vulnerabilities delete.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}:
    get:
      description: Get the details of the indicated vulnerability.
      operationId: VulnerabilityDetails
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vulnerability'
          description: Details of the vulnerability.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/custom_attributes:
    get:
      description: Get the list of custom attributes for vulnerabilities.
      operationId: VulnerabilityCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityCustomAttrs'
          description: Custom attributes for vulnerabilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/custom_attributes_list:
    get:
      description: Get the list of custom attributes for vulnerabilities.
      operationId: VulnerabilityCustomAttrs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityCustomAttrsList'
          description: Custom attributes list for vulnerabilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/attachments:
    get:
      description: Get all vulnerability attachments.
      operationId: VulnerabilityAttachments
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityAttachmentsResponse'
          description: List of all vulnerability attachments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/files/{file_id}:
    get:
      description: Download files for vulnerabilities.
      operationId: FilesDownload
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      - description: ID of the requested file.
        in: path
        name: file_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: Requested file content.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/files:
    post:
      description: Uploads files for vulnerabilities.
      operationId: FilesUpload
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  type: string
              type: object
        description: multipart/form-data request body with the attached file to upload.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Files for vulnerabilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/links/{link_id}:
    get:
      description: Get links for vulnerabilities.
      operationId: LinksGet
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      - description: ID of the requested link.
        in: path
        name: link_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Links'
          description: Requested link data.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/links:
    post:
      description: Adds links for vulnerabilities.
      operationId: LinksAdd
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Links'
        description: application/json body with the title and the link to add.
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentsResponse'
          description: Link for vulnerabilities.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/vulnerabilities/{vulnerability_id}/comments:
    get:
      description: Get all vulnerability comments.
      operationId: VulnerabilityComments
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - latest
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityComments'
          description: List of all vulnerability comments.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
    post:
      description: Adds a comment to vulnerability.
      operationId: VulnerabilityCreateComment
      parameters:
      - description: ID of the vulnerability.
        in: path
        name: vulnerability_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentInfo'
        description: application/json body with the title and the link to add.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: Comment for vulnerabilities.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Vulnerabilities
  /api/v2/documents:
    get:
      description: Get all documents.
      operationId: DocumentList
      parameters:
      - description: Next/prev page cursor.
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: Sorting criteria
        in: query
        name: sorting
        required: false
        schema:
          enum:
          - updated_recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentList'
          description: List of all documents.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
          description: Bad request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
      security:
      - apiKeys: []
      tags:
      - Documents
  /api/v2/documents/{document_id}:
    get:
      description: Get the details of the indicated document.
      operationId: DocumentDetails
      parameters:
      - description: ID of the document.
        in: path
        name: document_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
          description: Details of the document.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
          description: API key not found.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
          description: Resource not found.
      security:
      - apiKeys: []
      tags:
      - Documents
  /api/v2/documents/{document_id}/: {}
security:
- apiKeys: []
