Update Merchant
PATCH {{BASE_URL}}/vendors/{{$merchantId}}
Required scope: merchants:write
Partially updates a business profile (merchant). All body fields are optional — only the fields you include will be changed.
Requires admin or vendor role. Pass your API key as a Bearer token:
Authorization: Bearer YOUR_API_KEYPath Parameter
Section titled “Path Parameter”| Parameter | Type | Description |
|---|---|---|
vendorId |
UUID | The ID of the merchant to update. Uses $merchantId collection variable by default. |
Request Body Fields
Section titled “Request Body Fields”| Field | Type | Notes |
|---|---|---|
company_name |
string | Display name of the merchant |
company_email |
string | Primary contact email |
company_phone |
string | Primary contact phone |
company_address |
string | Street address. Triggers geocoding — returns 400 if the address cannot be resolved |
order_phone |
string | Phone shown to couriers at pickup |
owner_phone |
string | Owner’s direct phone |
prep_time |
number | Average prep time in minutes |
auto_accept |
boolean | Whether incoming orders are auto-accepted |
catering |
boolean | Whether the merchant accepts catering orders |
catering_price |
number | Flat delivery fee for catering orders |
scheduled_price |
number | Flat delivery fee for scheduled orders |
tier |
number | Merchant dispatch tier |
strategy_id |
UUID | Dispatch strategy to assign. Must exist in the strategies table and belong to the same operator as the merchant. Returns 400 if the strategy is not found or operator doesn’t match |
footer_image |
string | Base64 or URL — uploaded to S3 |
header_image |
string | Base64 or URL — uploaded to S3 |
runner_commission |
number | Commission rate for runners |
chat_support |
boolean | Whether chat support is enabled |
operator_idis always stripped and cannot be changed via this endpoint.- On success, the updated merchant object is returned with
operator_idomitted. - Redis cache keys
merchant:{id}andmerchant_by_uid:{uid}are invalidated on every update.
Request body
Section titled “Request body”{ "strategy_id": "{{strategyId}}"}Examples
Section titled “Examples”curl --request PATCH '${BASE_URL}/vendors/${$merchantId}' \ --header 'Content-Type: application/json' \ --data '{ "strategy_id": "{{strategyId}}"}'const response = await fetch("${BASE_URL}/vendors/${$merchantId}", { "method": "PATCH", "headers": { "Content-Type": "application/json" }, "body": "{\n \"strategy_id\": \"{{strategyId}}\"\n}"})const data = await response.json()import requests
response = requests.request( "PATCH", "${BASE_URL}/vendors/${$merchantId}", headers={ 'Content-Type': 'application/json'}, data="{\n \"strategy_id\": \"{{strategyId}}\"\n}",)response.raise_for_status()Saved responses
Section titled “Saved responses”{ "id": "c82c2dc1-db14-4962-abe0-3be7b5fcc2e6", "auto_accept": true, "company_address": "2188 E Norris St, Philadelphia", "company_email": "wawa@firstdelivery.com", "company_name": "WAWA", "company_phone": "2677660550", "company_type": "Restaurant", "diner_delivery_fee": 5.25, "geometry": { "type": "Point", "coordinates": [ -75.13014249999999, 39.9782879 ], "interpolated": true }, "grubhub_email": null, "grubhub_password": null, "dashboard_id": null, "daas_rate": 11, "order_phone": "2677660550", "owner_phone": null, "pickup_details": "11", "pizza": true, "priority": true, "habitat": "627e5f1d-4e66-4533-9aac-14fbdf99b231", "prep_time": 18, "radius": null, "active_zone": null, "send_call_alerts": true, "self_delivery": true, "timezone": "America/New_York", "uid": "f3ba2c00-0331-11ef-8407-67c0cf7a3a57", "seed_demand_matrix": null, "created_at": "2024-04-25T18:30:55.023Z", "onboard_start": null, "archived_at": null, "yelp_phone": null, "grubhub_phone": null, "cusine_type": null, "billing_email": "wawa@firstdelivery.com", "stripe_id": "cus_OAOY0zjNyLn1mp", "completed_orders": 0, "test": true, "smart_arrival_estimates": true, "tier": null, "runner_commission": null, "billing_relationship": true, "territory_id": "db93f018-36e2-416b-8196-5d3a36033440", "oozo_rate": 11, "default_partner": null, "partnered": true, "operator_id": 1, "catering_price": 11, "strategy_id": "9a2c394d-0613-466e-ba7b-dc7d2aad527b", "default_invoice_type": null, "scheduled_price": 11, "daas_types": [ "online", "cash" ], "auto_route_accept": false, "chat_support": false, "external_assign": false, "use_smart_arrival_estimates": false, "footer_image": "https://dsp-assets-first.s3.amazonaws.com/footer_merchant-c82c2dc1-db14-4962-abe0-3be7b5fcc2e6", "footer_link": "https://marketing.com", "header_image": null, "catering": true, "partial_volume": false, "internal_fleet": true}{ "id": "2c77c710-d9a2-11ed-bffb-7df939ab8e29", "company_name": "Demo Restaurant", "company_email": "demo@restaurant.com", "company_phone": "555-555-5555", "company_address": "123 Main St, Chicago, IL 60601", "strategy_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "territory_id": "terr-uuid-here", "prep_time": 15, "auto_accept": true, "priority": false, "self_delivery": false, "tier": 1, "catering": false, "smart_arrival_estimates": true, "uid": "demo-restaurant", "created_at": "2023-04-01T12:00:00.000Z"}{ "error": "Strategy id does not exist in stratgies table"}
