> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # UpdateBusinessProfile # Package: siteProperties # Namespace: SitePropertiesV4 # Method link: https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/update-business-profile.md ## Permission Scopes: Manage Business Profile: SCOPE.DC-SITEPROP.MANAGE-BUSINESS-PROFILE ## Introduction Updates a site's business profile. --- ## REST API ### Schema ``` Method: updateBusinessProfile Description: Updates a site's business profile. URL: https://www.wixapis.com/site-properties/v4/properties/business-profile Method: POST Method parameters: param name: businessProfile | type: BusinessProfileData - name: siteDisplayName | type: string | description: Site display name. - name: businessName | type: string | description: Business name. - name: logo | type: string | description: Path to the site's logo in Wix Media (without Wix Media base URL). - name: description | type: string | description: Site description. - name: companyId | type: string | description: Company GUID issued to the business by local authorities. Appears on invoices and price quotes. param name: fields | type: fields | description: The properties of `businessProfile` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessProfile` are cleared. Return type: UpdateBusinessProfileResponse EMPTY-OBJECT {} Possible Errors: HTTP Code: 401 | Status Code: UNAUTHENTICATED | Application Code: META_SITE_NOT_FOUND | Description: Couldn't find the site. HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: PERMISSION_DENIED | Description: The [identity](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities.md) used to call the method doesn't have the required permissions. ``` ### Examples ### Update site business profile ```curl curl -X POST \ 'https://www.wixapis.com/site-properties/v4/properties/business-profile' -H 'Content-Type: application/json' \ -H 'Authorization: ' \ --data-binary '{ "businessProfile": { "siteDisplayName": "My Site Display Name", "businessName": "My Business Name", "logo": "663051_3dd7332ef233f245419432ffba703a4370~mv2.jpg", "description": "This is a site for my business", }, "fields": { "paths":["siteDisplayName","businessName","logo","description"] } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.siteProperties.SitePropertiesV4.updateBusinessProfile(businessProfile, options) Description: Updates a site's business profile. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: businessProfile Method parameters: param name: businessProfile | type: BusinessProfileData | required: true - name: siteDisplayName | type: string | description: Site display name. - name: businessName | type: string | description: Business name. - name: logo | type: string | description: Path to the site's logo in Wix Media (without Wix Media base URL). - name: description | type: string | description: Site description. - name: companyId | type: string | description: Company GUID issued to the business by local authorities. Appears on invoices and price quotes. param name: options | type: UpdateBusinessProfileOptions none - name: fields | type: array | description: The properties of `businessProfile` to be updated. Properties not explicitly specified here are ignored. Properties included here but excluded from `businessProfile` are cleared. Return type: PROMISE EMPTY-OBJECT {} Possible Errors: HTTP Code: 401 | Status Code: UNAUTHENTICATED | Application Code: META_SITE_NOT_FOUND | Description: Couldn't find the site. HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: PERMISSION_DENIED | Description: The [identity](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities.md) used to call the method doesn't have the required permissions. ``` ### Examples ### updateBusinessProfile() for only specific fields (with $w) This code is an example of a webpage where the user updates the business' description or logo. If they don't enter text for a specific field, it won't overwrite. Access to this page would be given only to managers. ```javascript /**************************************************** * Backend code - update-business-profile.web.js/ts * ***************************************************/ import { Permissions, webMethod } from '@wix/web-methods'; import { siteProperties } from '@wix/business-tools'; import { auth } from '@wix/essentials'; export const profileDetailsUpdate = webMethod(Permissions.Anyone, async (businessProfile, fields) => { try { const elevatedUpdateBusinessProfile = auth.elevate(siteProperties.updateBusinessProfile); await elevatedUpdateBusinessProfile(businessProfile, fields); console.log('Success! Profile Details Updated'); return true; } catch (error) { console.error(error); throw new Error(error); } }); /************* * Page code * ************/ import { profileDetailsUpdate } from 'backend/update-business-profile.web'; $w.onReady(() => { $w('#submit').onClick(async () => { const paramDetails = getParamDetails(); if (!paramDetails.checkedFields.length) { $w('#changeAFieldsMsg').show(); setTimeout(() => { $w('#changeAFieldsMsg').hide(); }, 10000); } else { const isUpdated = await profileDetailsUpdate(paramDetails.updateDetails, paramDetails.checkedFields); if (isUpdated) { console.log('Business Profile successfully updated'); $w('#successfulUpdateMsg').show(); setTimeout(() => { $w('#successfulUpdateMsg').hide(); }, 10000); } } }); }); function getParamDetails() { const checkedFields = []; const updateDetails = {}; if ($w('#description').value.length) { checkedFields.push('description'); updateDetails.description = $w('#description').value; } if ($w('#logo').value.length) { checkedFields.push('logo'); updateDetails.logo = $w('#logo').value; } return {updateDetails, checkedFields}; } ``` ### Update description of business profile (with elevated permissions) @description: ```javascript import { siteProperties } from '@wix/business-tools'; import { auth } from '@wix/essentials'; /* Sample businessProfile value: * { * description: 'We have what you need, whatever the occasion.' * } * * Sample fields value: ['description'] */ export async function myUpdateBusinessProfileFunction(businessProfile, fields) { try { const elevatedUpdateBusinessProfile = auth.elevate(siteProperties.updateBusinessProfile); await elevatedUpdateBusinessProfile(businessProfile, fields); console.log('Successfully updated business profile'); return true; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### Update description of business profile @description: ```javascript import { siteProperties } from '@wix/business-tools'; /* Sample businessProfile value: * { * description: 'We have what you need, whatever the occasion.' * } * * Sample fields value: ['description'] */ export async function myUpdateBusinessProfileFunction(businessProfile, fields) { try { await siteProperties.updateBusinessProfile(businessProfile, fields); console.log('Successfully updated business profile'); return true; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### Update Business Profile (with elevated permissions) @description: ```javascript import { siteProperties } from '@wix/business-tools'; import { auth } from '@wix/essentials'; /* Sample businessProfile value: * { * description: 'Whatever the occasion, we have what you need.', * logo: 'a8a52b_bf5596e614d8484e9f1d429ac256e1ad~mv2.jpeg' * } * * Sample fields value: ['description', 'logo'] */ export async function myUpdateBusinessProfileFunction(businessProfile, fields) { try { const elevatedUpdateBusinessProfile = auth.elevate(siteProperties.updateBusinessProfile); await elevatedUpdateBusinessProfile(businessProfile, fields); console.log('Successfully updated business profile'); return true; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### Update Business Profile @description: ```javascript import { siteProperties } from '@wix/business-tools'; /* Sample businessProfile value: * { * description: 'Whatever the occasion, we have what you need.', * logo: 'a8a52b_bf5596e614d8484e9f1d429ac256e1ad~mv2.jpeg' * } * * Sample fields value: ['description', 'logo'] */ export async function myUpdateBusinessProfileFunction(businessProfile, fields) { try { await siteProperties.updateBusinessProfile(businessProfile, fields); console.log('Successfully updated business profile'); return true; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to void */ ``` ### updateBusinessProfile (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { siteProperties } from '@wix/business-tools'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { siteProperties }, // Include the auth strategy and host as relevant }); async function updateBusinessProfile(businessProfile,options) { const response = await myWixClient.siteProperties.updateBusinessProfile(businessProfile,options); }; ``` ---