Update a business
Change your business's name, website and emails, and turn alert emails on or off.
Send only what changes. It takes a person signed in to the dashboard, never an API key. You receive business.updated when the profile, as it comes back, changes.
A new alert_email doesn't take the alerts right away: it becomes pending_alert_email and gets a 6-digit code, and alerts keep going to alert_email until the code is confirmed. Sending another address replaces the one waiting, with a new code. null, your own sign-in email and the address alerts already go to apply at once, and drop any address waiting.
Path
idstring RequiredThe business's ID, such asbiz_Nq4sT8vWx2Lm6Rb1.
Body
namestring2 to 60 characters.websitestringAnhttps://URL, ornullto clear it.support_emailstringShown on receipts so customers can reach you, ornullto clear it.alert_emailstringWhere payment alerts should go once its code is confirmed.nullsends them to your sign-in email.email_alertsbooleanWhether alert emails go out at all.product_updatesbooleanWhether 402pay emails you about new features.
Errors
- 400
invalid_requestA field is unknown or has a value it can't take, such as analert_emailthat isn't an email address.fieldnames it. - 403
session_requiredAn API key sent the request. Only a person signed in to the dashboard can send. - 404
not_foundYou don't own a business with that ID. - 429
too_many_emailsYou started 3 new alert addresses in the last hour, across all your businesses and counting ones since replaced or canceled, or the newalert_emailhas had as many emails as it can get for now, 5 an hour and 20 a day. Nothing in the request changed.Retry-Aftersays when to try again.
Any request can also fail on its key or its body. See errors.
RequestBrowser
// On a dashboard page, whose session cookie the browser sends.const response = await fetch("/api/v1/businesses/biz_Nq4sT8vWx2Lm6Rb1", { method: "PATCH", headers: { "402pay-Business": businessId, "Content-Type": "application/json", }, body: JSON.stringify({ alert_email: "alerts@example.com" }),});const { data } = await response.json();Response200 OK
{ "data": { "id": "biz_Nq4sT8vWx2Lm6Rb1", "kind": "business", "name": "Acme Studio", "website": "https://example.com", "support_email": "billing@example.com", "alert_email": "payments@example.com", "pending_alert_email": "alerts@example.com", "status": "active", "suspended_at": null, "email_alerts": true, "product_updates": false, "created_at": "2026-05-09T21:18:42.216Z", "updated_at": "2026-09-24T10:02:51.338Z" }}