Skip to main content
PUT
/
v2
/
vendors
/
{vendorId}
/
profile
Update Vendor Profile
curl --request PUT \
  --url https://api.puppetvendors.com/v2/vendors/{vendorId}/profile \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "fields": [
    {}
  ]
}
'
V2 Alpha — This endpoint is part of the V2 API preview. Breaking changes may occur.

Overview

Update custom profile fields for a specific vendor. Provide an array of field-value pairs to set or overwrite. Existing fields not included in the request are left unchanged. Accepts between 1 and 50 field updates per request.

Use Cases

  • Vendor onboarding — Set initial profile fields after vendor creation
  • Profile updates — Allow vendors or merchants to update custom fields
  • Bulk field sync — Push profile data from external CRM or ERP systems

Path Parameters

vendorId
string
required
The vendor’s MongoDB ObjectId.

Request Body

fields
object[]
required
Array of field updates (1-50 items). Each object contains:
  • field (string, required) — The field name
  • value (any, required) — The field value

Response

200
{
  "success": true,
  "data": {
    "profile": {
      "fields": [
        { "field": "Company Registration", "value": "12345678" },
        { "field": "Website", "value": "https://acmesupplies.com" },
        { "field": "Tax ID", "value": "GB987654321" }
      ]
    }
  }
}

Error Responses

400
{
  "success": false,
  "error": {
    "message": "Fields array is required and must contain 1-50 items",
    "code": "VALIDATION_ERROR"
  }
}
404
{
  "success": false,
  "error": {
    "message": "Vendor not found",
    "code": "NOT_FOUND"
  }
}

Example

curl -X PUT https://api.puppetvendors.com/v2/vendors/507f1f77bcf86cd799439011/profile \
  -H "Content-Type: application/json" \
  -H "x-access-token: YOUR_JWT_TOKEN" \
  -d '{
    "fields": [
      { "field": "Tax ID", "value": "GB987654321" },
      { "field": "Website", "value": "https://acmesupplies.com" }
    ]
  }'