Venminder (Digital Comply) Vendors API

The Vendors API from Venminder (Digital Comply) — 10 operation(s) for vendors.

OpenAPI Specification

venminder-digital-comply-vendors-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Venminder OpenApi BusinessUnit Vendors API
  version: v1
security:
- Bearer: []
tags:
- name: Vendors
paths:
  /api/v1/Vendors/GetVendorProfile:
    get:
      tags:
      - Vendors
      summary: Provides detailed information about a specific vendor.
      description: Provide detailed information about a specific vendor. This includes vendor profile information, oversight requirements, a list of products, a list of contracts and much more.
      parameters:
      - name: vendorKey
        in: query
        description: ''
        schema:
          type: string
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.VendorProfile'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.VendorProfile'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/VendorProduct:
    post:
      tags:
      - Vendors
      summary: Creates a new vendor and/or product.
      description: Creates a new vendor and product or adds a new product to an existing vendor.
      parameters:
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorProductRequest'
      responses:
        '200':
          description: Returns the success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.CreateVendorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.CreateVendorResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/VendorProfile:
    post:
      tags:
      - Vendors
      summary: Updates an existing vendor's profile information.
      description: Updates a vendor's profile information. This includes standard questions as well as custom question add to the Venminder platform. Validation based on results provided in the GET ProfileAnswers API.
      parameters:
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateVendorProfileRequest'
      responses:
        '200':
          description: Returns success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: If vendor api key does not belong to api user's client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/Relationships:
    post:
      tags:
      - Vendors
      summary: Adds a third and/or a fourth party relationships to a vendor.
      description: Adds a third and/or a fourth party relationships to a vendor.
      parameters:
      - name: cultureCode
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.VendorRelationships'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
    delete:
      tags:
      - Vendors
      summary: Deletes a third and/or a fourth party relationships from a vendor.
      description: Deletes a third and/or a fourth party relationships from a vendor.
      parameters:
      - name: cultureCode
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.DeleteVendorRelationships'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/Risk:
    post:
      tags:
      - Vendors
      summary: Updates a product's risk level.
      description: Updates a product's risk level given a Risk Assessment has not been performed.
      parameters:
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.RiskLevels'
      responses:
        '200':
          description: Returns the success response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/SetVendorRisk:
    post:
      tags:
      - Vendors
      summary: Updates a vendor's risk level.
      description: Updates a vendor's risk level given a Product Risk Assessment has not been performed.
      parameters:
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.VendorRiskLevels'
      responses:
        '200':
          description: Returns the success response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/ProductProfile:
    post:
      tags:
      - Vendors
      summary: Updates an existing product's profile information.
      description: Updates a product's profile information. This includes standard questions as well as custom question add to the Venminder platform. Validation based on results provided in the GET ProfileAnswers API.
      parameters:
      - name: cultureCode
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.UpdateProductProfileRequest'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/ProductContact:
    post:
      tags:
      - Vendors
      summary: Create a contact and assign them to a product.
      description: Creates a contact and assigns them to a product. If the contact already exists, use the POST ProductProfile API to update the list of contacts for a product.
      parameters:
      - name: cultureCode
        in: header
        description: ''
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          application/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          text/xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
          application/*+xml:
            schema:
              $ref: '#/components/schemas/OpenApi.v1.ProductContacts'
      responses:
        '200':
          description: Returns the success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.CreateContactResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.CreateContactResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/ProfileAnswers:
    get:
      tags:
      - Vendors
      summary: Provides a list of answers for vendor and product profile questions.
      description: Provides a list of expected answers for the vendor and product profile questions.
      parameters:
      - name: vendorKey
        in: query
        description: ''
        schema:
          type: string
      responses:
        '200':
          description: Returns list of expected answers of Vendor and Product Profile Questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ProfileAnswers'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ProfileAnswers'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
  /api/v1/Vendors/GetVendorQuestionKeys:
    get:
      tags:
      - Vendors
      summary: Provides a list of question keys for vendor information.
      description: Provides a list of question keys for vendor information.
      responses:
        '200':
          description: Returns a list of question keys for vendor information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.VendorProfileDataField'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.VendorProfileDataField'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/OpenApi.v1.ErrorResponse'
components:
  schemas:
    OpenApi.v1.CreateContactResponse:
      title: OpenApi.v1.CreateContactResponse
      type: object
      properties:
        contactsKeys:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: CreateContactResponse
    OpenApi.v1.NewProductContact:
      title: OpenApi.v1.NewProductContact
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ProductContactPhoneNumber'
          nullable: true
        emailAddress:
          type: string
          nullable: true
        isPrimaryContact:
          type: boolean
      additionalProperties: false
      xml:
        name: NewProductContact
    OpenApi.v1.VendorProfile:
      title: OpenApi.v1.VendorProfile
      type: object
      properties:
        key:
          type: string
          nullable: true
        contactKey:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        isThirdParty:
          type: boolean
        fourthPartyVendorKeys:
          type: array
          items:
            type: string
          nullable: true
        isFourthParty:
          type: boolean
        thirdPartyVendorKeys:
          type: array
          items:
            type: string
          nullable: true
        confidenceLevel:
          type: string
          nullable: true
        confidenceLevelComments:
          type: string
          nullable: true
        hasVendorSpendBudgets:
          type: boolean
        hasVendorSpendDetails:
          type: boolean
        vendorProfileData:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ProfileDataAnswerWithGroupIdentity'
          nullable: true
        openRequirements:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.OversightRequirementDetail'
          nullable: true
        products:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ProductDetail'
          nullable: true
        contracts:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ContractOverview'
          nullable: true
        vendorRisk:
          $ref: '#/components/schemas/OpenApi.v1.VendorRisk'
      additionalProperties: false
      xml:
        name: VendorProfile
    OpenApi.v1.ProductContacts:
      title: OpenApi.v1.ProductContacts
      type: object
      properties:
        productKey:
          type: string
          nullable: true
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.NewProductContact'
          nullable: true
      additionalProperties: false
      xml:
        name: ProductContacts
    OpenApi.v1.VendorRelationships:
      title: OpenApi.v1.VendorRelationships
      type: object
      properties:
        vendorKey:
          type: string
          nullable: true
        isThirdParty:
          type: boolean
          nullable: true
        fourthPartyVendorKeys:
          type: array
          items:
            type: string
          nullable: true
        isFourthParty:
          type: boolean
          nullable: true
        thirdPartyVendorKeys:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: VendorRelationships
    OpenApi.v1.PhoneNumber:
      title: OpenApi.v1.PhoneNumber
      type: object
      properties:
        type:
          type: string
          nullable: true
        areaCode:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        extension:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: PhoneNumber
    OpenApi.VendorRiskLevels:
      title: OpenApi.VendorRiskLevels
      type: object
      properties:
        vendorKey:
          type: string
          nullable: true
        inherentRiskKey:
          type: string
          nullable: true
        residualRiskKey:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: OpenApi.VendorRiskLevels
    OpenApi.v1.ProfileExpectedAnswers:
      title: OpenApi.v1.ProfileExpectedAnswers
      type: object
      properties:
        dataFieldKey:
          type: string
          nullable: true
        expectedAnswers:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: ProfileExpectedAnswers
    OpenApi.v1.ProductProfileData:
      title: OpenApi.v1.ProductProfileData
      type: object
      properties:
        dataFieldKey:
          type: string
          nullable: true
        answers:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: ProductProfileData
    OpenApi.v1.ProductDetail:
      title: OpenApi.v1.ProductDetail
      type: object
      properties:
        key:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        isActive:
          type: boolean
        inherentRisk:
          type: string
          nullable: true
        inherentRiskScore:
          type: integer
          format: int32
        residualRisk:
          type: string
          nullable: true
        residualRiskScore:
          type: integer
          format: int32
          nullable: true
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.Contact'
          nullable: true
        businessUnits:
          type: array
          items:
            type: string
          nullable: true
        category:
          type: string
          nullable: true
        productProfileData:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ProfileDataAnswerWithGroupIdentity'
          nullable: true
        managerKey:
          type: string
          nullable: true
        collaboratorKeys:
          type: array
          items:
            type: string
          nullable: true
        assessmentLastCompleted:
          type: string
          format: date-time
          nullable: true
        inherentAssessmentPerformedBy:
          type: string
          nullable: true
        residualAssessmentPerformedBy:
          type: string
          nullable: true
        inherentAssessmentApprovedBy:
          type: string
          nullable: true
        residualAssessmentApprovedBy:
          type: string
          nullable: true
        assessmentNextDue:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
      xml:
        name: ProductDetail
    OpenApi.v1.CreateVendorResponse:
      title: OpenApi.v1.CreateVendorResponse
      type: object
      properties:
        vendorKey:
          type: string
          nullable: true
        productKey:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: CreateVendorResponse
    OpenApi.v1.VendorProfileDataField:
      title: OpenApi.v1.VendorProfileDataField
      type: object
      properties:
        key:
          type: string
          nullable: true
        label:
          type: string
          nullable: true
        answerFormat:
          type: string
          nullable: true
        vendorsAppliedTo:
          type: array
          items:
            type: string
          nullable: true
        parentKey:
          type: string
          nullable: true
        selectedParentOption:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: VendorProfileDataField
    OpenApi.v1.ErrorResource:
      title: OpenApi.v1.ErrorResource
      type: object
      properties:
        resourceKey:
          type: string
          nullable: true
        resourceValue:
          type: string
          nullable: true
        field:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: ErrorResource
    OpenApi.v1.ProductContact:
      title: OpenApi.v1.ProductContact
      type: object
      properties:
        key:
          type: string
          nullable: true
        isPrimaryContact:
          type: boolean
      additionalProperties: false
      xml:
        name: ProductContact
    OpenApi.v1.RiskLevels:
      title: OpenApi.v1.RiskLevels
      type: object
      properties:
        productKey:
          type: string
          nullable: true
        inherentRiskKey:
          type: string
          nullable: true
        residualRiskKey:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: RiskLevels
    OpenApi.v1.ProfileDataAnswerWithGroupIdentity:
      title: OpenApi.v1.ProfileDataAnswerWithGroupIdentity
      type: object
      properties:
        answers:
          type: array
          items:
            type: string
          nullable: true
        answer:
          type: string
          nullable: true
        key:
          type: string
          nullable: true
        groupIdentity:
          type: string
          nullable: true
        dataFieldKey:
          type: string
          nullable: true
        label:
          type: string
          nullable: true
        answerFormat:
          type: string
          nullable: true
        formattedAnswer:
          type: string
          nullable: true
      additionalProperties: false
      xml:
        name: ProfileDataAnswerWithGroupIdentity
    OpenApi.v1.ContractOverview:
      title: OpenApi.v1.ContractOverview
      type: object
      properties:
        key:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        isPerpetual:
          type: boolean
        effectiveDate:
          type: string
          format: date-time
          nullable: true
        notificationDeadline:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        vendorKey:
          type: string
          nullable: true
        productKeys:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: ContractOverview
    OpenApi.v1.ErrorResponse:
      title: OpenApi.v1.ErrorResponse
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
        errors:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.v1.ErrorResource'
          nullable: true
      additionalProperties: false
      xml:
        name: ErrorResponse
    OpenApi.v1.VendorRisk:
      title: OpenApi.v1.VendorRisk
      type: object
      properties:
        inherentRisk:
          type: string
          nullable: true
        inherentRiskScore:
          type: integer
          format: int32
          nullable: true
        residualRisk:
          type: string
          nullable: true
        residualRiskScore:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
      xml:
        name: VendorRisk
    OpenApi.v1.OversightRequirementDetail:
      title: OpenApi.v1.OversightRequirementDetail
      type: object
      properties:
        requirementKey:
          type: string
          nullable: true
        key:
          type: string
          nullable: true
        taskOwnerKey:
          type: string
          nullable: true
        dueDate:
          type: string
          format: date-time
        productKeys:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
      xml:
        name: OversightRequirementDetail
    OpenApi.v1.UpdateProductProfileRequest:
      title: OpenApi.v1.UpdateProductProfileRequest
      type: object
      properties:
        productKey:
          type: string
          nullable: true
        productManagerKey:
          type: string
          nullable: true
        productName:
          type: string
          nullable: true
        productType:
          type: string
          nullable: true
        productProfileData:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi.

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/venminder-digital-comply/refs/heads/main/openapi/venminder-digital-comply-vendors-api-openapi.yml