# Update Vendors PATCH / #### Description Updates all existing vendors within an organization, modifying their attributes such as names, descriptions, statuses, or risk information. Endpoint: PATCH / Version: 1.0 Security: oauth2 ## Request fields (application/json): - `vendorIds` (array, required) List of unique identifiers of the vendors to update. Example: ["23b806db-bad2-4f7a-b8d1-ac1177909992","23b402db-bad2-4f7a-b8d1-ac1177909992"] - `patch` (object, required) Example: {"name":"Test Vendor from API Update","category":"API Category 2","ownerId":"e99e616e-6211-22ff-b755-633587729bf9","vendorStatus":"approved","tolerance":"high","riskLevel":"moderate","riskLevelIsOverridden":true,"riskLevelOverrideReasoning":"Business decision to accept higher risk","contractStartDate":"2024-09-04T12:00:00Z","contractEndDate":"2025-09-04T12:00:00Z","freshnessPolicy":"manual","freshForDuration":"PT720H","freshness":"fresh","freshAsOfDate":"2025-01-12T18:26:10.00.5365Z","freshAsOfNote":"Updating expired vendor freshness","status":"active","customFields":[{"fieldId":"ceb912ab-519b-11ee-a644-522476618ae8","textValue":"Antonio Moreno"}]} - `patch.name` (string) The name of the vendor. Example: "Test Vendor from API Update" - `patch.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" - `patch.clearCategory` (boolean) Clears the category if 'true'. If set, category must not be set. - `patch.ownerId` (string) The unique identifier for the user who will be the owner of the vendor. Example: "e99e616e-6211-22ff-b755-633587729bf9" - `patch.groupId` (string) The unique identifier of the group to assign to the vendor. If set, clearGroupId must not be set. - `patch.clearGroupId` (boolean) Clears the group unique identifier if true. If set, groupId must not be set. - `patch.vendorStatus` (string) The current state of the vendor. Enum: "notSet", "preassessment", "approved", "active", "inactive", "expired", "rejected" - `patch.tolerance` (string) The tolerance of the vendor. Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow" - `patch.riskLevel` (string) The risk level of the vendor. Enum: "notSet", "veryHigh", "high", "moderate", "low", "veryLow" - `patch.riskLevelIsOverridden` (boolean) Flag indicating whether the calculated risk level has been overridden. Example: true - `patch.riskLevelOverrideReasoning` (string) The reasoning provided for overriding the calculated risk level. Example: "Business decision to accept higher risk" - `patch.contractStartDate` (string) The start date of the vendor's contract. If set, clearContractStartDate must not be set. Example: "2024-09-04T12:00:00Z" - `patch.contractEndDate` (string) The end date of the vendor's contract. If set, clearContractEndDate must not be set. Example: "2025-09-04T12:00:00Z" - `patch.clearContractStartDate` (boolean) Clears the contract start date if 'true'. If set, contractStartDate must not be set. - `patch.clearContractEndDate` (boolean) Clears the contract end date if 'true'. If set, contractEndDate must not be set. - `patch.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" - `patch.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" - `patch.freshness` (string) The freshness status of an object. Cannot be set if 'freshnessPolicy' is 'none' and 'freshAsOfDate' is null. Enum: "noFreshness", "fresh", "expired", "unknown" - `patch.freshAsOfDate` (string) The date when the vendor is being marked 'fresh'. Example: "2025-01-12T18:26:10.00.5365Z" - `patch.freshAsOfNote` (string) The note to populate when the vendor is marked 'fresh'. Example: "Updating expired vendor freshness" - `patch.resetFreshnessNote` (string) The note to populate when freshness is reset. - `patch.status` (string) The status of the object Enum: "active", "archived" - `patch.customFields` (array) Example: [{"fieldId":"ceb912ab-519b-11ee-a644-522476618ae8","textValue":"Antonio Moreno"}] - `patch.customFields.fieldId` (string) Unique identifier for the custom field - `patch.customFields.textValue` (string) Value if the field type is text - `patch.customFields.numberValue` (number) Value if the field type is number - `patch.customFields.dateValue` (string) Value if the field type is date - `patch.customFields.userValue` (string) Value if the field type is user - `patch.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.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"