# Update partner settings > PATCH /api/partners/settings on the Vigilbase One API. Source: https://docs.vigilbase.com/one/api/reference/partners/patch-partners-settings `PATCH https://one.vigilbase.com/api/partners/settings` ## Authorizations Send one of these: - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. - `Authorization` (string, header, required): Organisation API key (`vb_one_…`) from **Settings → API keys** in Vigilbase One, sent as `Authorization: Bearer vb_one_…`. Needs a key with write access: read-only keys get `403` with the code `read_only_key`. See [organisation API keys](https://docs.vigilbase.com/one/api#organisation-api-keys). - Permissions checked: `admin:full`, `read:partner_customers`, `write:organizations`, `write:partner_services` ## Query parameters - `impersonate_customer_id` (string) ## Body (application/json) Validation schema (Zod source): ```ts PartnerSettingsSchema = z.object({ reportRecipientEmails: z .array(z.string().email()) .max(20, 'At most 20 report recipients are allowed') .transform((emails) => Array.from(new Set(emails.map((email) => email.trim().toLowerCase())))) .optional(), supportEmail: PartnerSupportEmailSchema.optional(), /** Emergency line on branded datasheets; blank or null clears it (Vigilbase's line). */ emergencyContact: PartnerEmergencyContactSchema.optional(), brandColor: z .string() .trim() .regex(/^#[0-9a-fA-F]{6}$/u, 'Enter the brand colour as a hex value like #1a73e8') .transform((color) => color.toLowerCase()) .optional(), /** Go back to the website brand for these parts. The logo resets only once no uploaded logo is current (DELETE /api/partners/logo first). */ resetToWebsite: z.array(z.enum(['color', 'logo'])).min(1).max(2).optional(), }).refine( (body) => body.reportRecipientEmails !== undefined || body.supportEmail !== undefined || body.emergencyContact !== undefined || body.brandColor !== undefined || body.resetToWebsite !== undefined, 'Provide reportRecipientEmails, supportEmail, emergencyContact, brandColor or resetToWebsite', ).refine( (body) => !(body.brandColor !== undefined && body.resetToWebsite?.includes('color')), 'Set a brand colour or reset it to the website colour, not both', ) ``` ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`, or a write API key (vb_one_…) curl --request PATCH \ --url 'https://one.vigilbase.com/api/partners/settings' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{}' ```