# Update Vendor

PATCH /{vendorId}

#### Description

Updates an existing vendor with new values, modifying its attributes such as name, description, status, or risk information.

Endpoint: PATCH /{vendorId}
Version: 1.0
Security: oauth2

## Path parameters:

  - `vendorId` (string, required)
    Unique ID of the vendor to update.

## Request fields (application/json):

  - `name` (string)
    The name of the vendor.
    Example: "Test Vendor from API Update"

  - `category` (string)
    The category of the vendor. If set, clearCategory must not be set. If set to an empty string, the category will be cleared.
    Example: "API Category 2"

  - `clearCategory` (boolean)
    Clears the category if 'true'. If set, category must not be set.

  - `ownerId` (string)
    The unique identifier for the user who will be the owner of the vendor.
    Example: "e99e616e-6211-22ff-b755-633587729bf9"

  - `groupId` (string)
    The unique identifier of the group to assign to the vendor. If set, clearGroupId must not be set.

  - `clearGroupId` (boolean)
    Clears the group unique identifier if true. If set, groupId must not be set.

  - `vendorStatus` (string)
    The current state of the vendor.
    Enum: "notSet", "preassessment", "approved", "active", "inactive", "expired", "rejected"

  - `tolerance` (string)
    The tolerance of the vendor.
    Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow"

  - `riskLevel` (string)
    The risk level of the vendor.
    Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow"

  - `riskLevelIsOverridden` (boolean)
    Flag indicating whether the calculated risk level has been overridden.
    Example: true

  - `riskLevelOverrideReasoning` (string)
    The reasoning provided for overriding the calculated risk level.
    Example: "Business decision to accept higher risk"

  - `contractStartDate` (string)
    The start date of the vendor's contract. If set, clearContractStartDate must not be set.
    Example: "2024-09-04T12:00:00Z"

  - `contractEndDate` (string)
    The end date of the vendor's contract. If set, clearContractEndDate must not be set.
    Example: "2025-09-04T12:00:00Z"

  - `clearContractStartDate` (boolean)
    Clears the contract start date if 'true'. If set, contractStartDate must not be set.

  - `clearContractEndDate` (boolean)
    Clears the contract end date if 'true'. If set, contractEndDate must not be set.

  - `freshnessPolicy` (string)
    The freshness policy of an object. Set to 'manual' with a 'freshAsOfDate' value otherwise 'freshness' will be set to 'unknown'.
    Enum: "none", "manual"

  - `freshForDuration` (string)
    Sets the duration after which the vendor becomes stale. Supply as a string in standard ISO-8601 duration format ex: P1Y3M2D or PT720H.
    Example: "PT720H"

  - `freshness` (string)
    The freshness status of an object. Cannot be set if 'freshnessPolicy' is 'none' and 'freshAsOfDate' is null.
    Enum: "noFreshness", "fresh", "expired", "unknown"

  - `freshAsOfDate` (string)
    The date when the vendor is being marked 'fresh'.
    Example: "2025-01-12T18:26:10.00.5365Z"

  - `freshAsOfNote` (string)
    The note to populate when the vendor is marked 'fresh'.
    Example: "Updating expired vendor freshness"

  - `resetFreshnessNote` (string)
    The note to populate when freshness is reset.

  - `status` (string)
    The status of the object
    Enum: "active", "archived"

  - `customFields` (array)
    Example: [{"fieldId":"ceb912ab-519b-11ee-a644-522476618ae8","textValue":"Antonio Moreno"}]

  - `customFields.fieldId` (string)
    Unique identifier for the custom field

  - `customFields.textValue` (string)
    Value if the field type is text

  - `customFields.numberValue` (number)
    Value if the field type is number

  - `customFields.dateValue` (string)
    Value if the field type is date

  - `customFields.userValue` (string)
    Value if the field type is user

  - `customFields.selections` (array)
    List of values for textMultiSelect

## Response 200 fields (application/json):

  - `id` (string)
    The unique identifier for the vendor.
    Example: "f96d2b0c-9894-49ca-b26a-afd53268e760"

  - `orgId` (string)
    The unique identifier for the organization.
    Example: "f5cd56b9-6725-4d1a-88ad-e7486240fbd3"

  - `name` (string)
    The name of the vendor.
    Example: "Hyperproof"

  - `category` (string)
    The category of the vendor.
    Example: "Compliance"

  - `ownerId` (string)
    The unique identifier for the owner of the vendor.
    Example: "e99e616e-6211-22ff-b755-633587729bf9"

  - `vendorStatus` (string)
    The current state of the vendor.
    Enum: "notSet", "preassessment", "approved", "active", "inactive", "expired", "rejected"

  - `tolerance` (string)
    The tolerance of the vendor.
    Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow"

  - `assessedRiskLevel` (string)
    The risk level of the vendor.
    Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow"

  - `assessedRiskLevelValue` (number)
    The numeric value associated with the assessed risk level.
    Example: 40

  - `riskLevel` (string)
    The risk level of the vendor.
    Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow"

  - `riskLevelIsOverridden` (boolean)
    Flag indicating whether the calculated risk level has been overridden.

  - `riskLevelOverrideReasoning` (string)
    The reasoning provided for overriding the calculated risk level.

  - `riskLevelOverriddenBy` (string)
    The unique identifier for the user who overrode the risk level.
    Example: "e99e616e-6211-22ff-b755-633587729bf9"

  - `riskLevelOverriddenOn` (string)
    The date when the risk level was overridden (ISO 8601 format).
    Example: "2024-09-04T12:00:00Z"

  - `health` (string)
    Health status
    Enum: "critical", "atRisk", "healthy", "notAvailable"

  - `contractStartDate` (string)
    The start date of the vendor contract (ISO 8601 format).
    Example: "2024-09-04T12:00:00Z"

  - `contractEndDate` (string)
    The end date of the vendor contract (ISO 8601 format).
    Example: "2025-09-04T12:00:00Z"

  - `freshnessPolicy` (string)
    The freshness policy of an object. Set to 'manual' with a 'freshAsOfDate' value otherwise 'freshness' will be set to 'unknown'.
    Enum: "none", "manual"

  - `freshForDuration` (string)
    The duration after which vendor becomes stale.
    Example: "PT720H"

  - `freshness` (string)
    The freshness status of an object. Cannot be set if 'freshnessPolicy' is 'none' and 'freshAsOfDate' is null.
    Enum: "noFreshness", "fresh", "expired", "unknown"

  - `freshAsOfDate` (string)
    The date when the vendor was last marked 'fresh'.
    Example: "2025-01-12T18:26:10.00.5365Z"

  - `freshAsOfNote` (string)
    The note populated when the vendor was marked 'fresh'.
    Example: "Initial freshness set"

  - `customFields` (array)
    Example: [{"fieldId":"ceb912ab-519b-11ee-a644-522476618ae8","fieldName":"Sponsor","fieldType":"text","textValue":"John Smith"}]

  - `customFields.fieldId` (string)
    Unique identifier for the custom field

  - `customFields.fieldName` (string)
    Name of the custom field

  - `customFields.fieldType` (string)
    Type of field
    Enum: "text", "number", "date", "user", "textSingleSelect", "textMultiSelect"

  - `customFields.numberFormat` (string)
    Format if the field type is number
    Enum: "decimal", "percentage"

  - `customFields.textValue` (string)
    Value if the field type is text

  - `customFields.numberValue` (number)
    Value if the field type is number

  - `customFields.dateValue` (string)
    Value if the field type is date

  - `customFields.userValue` (string)
    Value if the field type is user

  - `customFields.selection` (string)
    Value for textSingleSelect

  - `customFields.selections` (array)
    List of values for textMultiSelect

  - `contacts` (array)
    Example: [{"id":"d88d505d-5199-11ee-a644-522476618ae8","orgId":"ce83e3cd-5199-11ee-a644-522476618ae8","givenName":"John","surname":"Smith","email":"john.smith@example.com","status":"active","objectType":"vendor","objectId":"e99e616e-6211-22ff-b755-633587729bf9","createdBy":"82d7c228-8bcd-11e9-a94b-ab3de8494987","createdOn":"2023-09-12T18:26:10.005365Z","updatedBy":"82d7c228-8bcd-11e9-a94b-ab3de8494987","updatedOn":"2023-09-12T18:26:10.005365Z","permissions":[]}]

  - `contacts.id` (string)
    The unique identifier for the external contact.
    Example: "d88d505d-5199-11ee-a644-522476618ae8"

  - `contacts.orgId` (string)
    The unique identifier for the organization.
    Example: "ce83e3cd-5199-11ee-a644-522476618ae8"

  - `contacts.givenName` (string)
    The given name of the external contact.
    Example: "John"

  - `contacts.surname` (string)
    The surname of the external contact.
    Example: "Smith"

  - `contacts.email` (string)
    The email address of the external contact.
    Example: "john.smith@example.com"

  - `contacts.objectType` (string)
    The type of the Hyperproof object the external contact is associated with.
    Example: "vendor"

  - `contacts.objectId` (string)
    The id of the Hyperproof object the external contact is associated with.
    Example: "e99e616e-6211-22ff-b755-633587729bf9"

  - `contacts.status` (string)
    The status of the external contact.
    Enum: "active", "archived", "deleted"

  - `contacts.createdOn` (string)
    The date the external contact was created (ISO-8601 format).
    Example: "2023-09-12T18:26:10.005365Z"

  - `contacts.createdBy` (string)
    The unique identifier of the user who created the external contact.
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `contacts.updatedOn` (string)
    The date the external contact was updated (ISO-8601 format).
    Example: "2023-09-12T18:26:10.005365Z"

  - `contacts.updatedBy` (string)
    The unique identifier of the user who last updated the external contact.
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `contacts.permissions` (array)
    List of permissions the API user has on the external contact.
    Example: []

  - `createdBy` (string)
    The unique identifier of the user who created the vendor.
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `createdOn` (string)
    The date the vendor was created (ISO-8601 format).
    Example: "2023-09-12T18:26:10.005365Z"

  - `updatedBy` (string)
    The unique identifier of the user who last updated the vendor.
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `updatedOn` (string)
    The date the vendor was last updated (ISO-8601 format).
    Example: "2023-09-12T18:26:10.005365Z"

  - `status` (string)
    The status of the object
    Enum: "active", "archived"


