# Update account for project

Update an account.
It is only possible to update an account that has been rejected. After update the status will be set to `IN_PROGRESS`.

Endpoint: PATCH /v1/projects/{projectId}/whatsapp
Version: 1.2.91
Security: BasicAuth, BearerAuth, OAuth2Production

## Security:

  - `BasicAuth` (unknown)
    http basic

  - `BearerAuth` (unknown)
    http bearer JWT

  - `OAuth2Production` (unknown)
    oauth2

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the <a href="https://dashboard.sinch.com/">Sinch Dashboard</a>.

## Request body:

  - `application/json` (unknown)
    Supported account fields to update.

## Request fields (application/json):

  - `companyLegalName` (string)
    The registered name of the brand who will be engaging with their users needs to be specified. This name must match the name associated with the Facebook Business Manager ID below. You can verify the registered name by visiting: https://business.facebook.com/select/?business_id=<your_business_manager_id> Ensure that the name shown exactly matches the one you enter here.

  - `wabaName` (string)
    The registered name of the brand who will be engaging with their users needs to be specified. This name must match the name associated with the Facebook Business Manager ID below. You can verify the registered name by visiting: https://business.facebook.com/select/?business_id=<your_business_manager_id> Ensure that the name shown exactly matches the one you enter here.

  - `clientBusinessManagerId` (string)
    The Business Manager ID for the client to create the account. This can be found in the Meta Business Manager in Business Settings > Business Info below the Business Manager Account Name.

  - `senderDetails` (object)
    Details of the sender to be created.

  - `senderDetails.displayName` (string)
    Waba display name / used as default display name of new phone at Meta

  - `senderDetails.businessCategory` (string)
    Vertical / business category for the business account.
    Enum: "ALCOHOL", "AUTOMOTIVE", "BEAUTY_SPA_SALON", "CLOTHING_AND_APPAREL", "EDUCATION", "ENTERTAINMENT", "EVENT_PLANNING_AND_SERVICE", "FINANCE_AND_BANKING", "FOOD_AND_GROCERY", "HOTEL_AND_LODGING", "MEDICAL_AND_HEALTH", "NON_PROFIT", "NOT_SET", "OTC_DRUGS", "OTHER", "PHYSICAL_GAMBLING", "PROFESSIONAL_SERVICES", "PUBLIC_SERVICE", "RESTAURANT", "SHOPPING_AND_RETAIL", "TRAVEL_AND_TRANSPORTATION"

  - `senderDetails.region` (string)
    Region sender will be provisioned in. If not provided, default region for the country set in the billing account will be used.
    Enum: "BR", "EU", "US"

  - `senderDetails.metaLocalStorage` (string)
    Region Meta will store data in Meta. If not provided, the default value set for the chosen region will be used.
    Enum: "AE", "AU", "BH", "BR", "CA", "CH", "DE", "GB", "ID", "IN", "JP", "KR", "SG", "US", "ZA"

## Request examples:

  - `Body request` (unknown)
    Example body request to update an account.

  - `Body request - Partner Initiated` (unknown)
    Example body request to update an account using Partner Initiated flow.

## Response 200:

  - `200` (unknown)
    Account

## Response 200 fields (application/json):

  - `state` (string)
    The current state of your account.
    Enum: "ONBOARDED", "PENDING_FACEBOOK_VERIFICATION", "REJECTED"

  - `isEmbeddedSignup` (boolean, required)
    `true` if the Account was created through Embedded Signup. `false` otherwise.

  - `businessManager` (string, required)
    Business manager.
    Enum: "SINCH_AMERICA", "SINCH_BR", "SINCH_MX", "SINCH_SEP", "SINCH_UK", "UNRECOGNIZED"

  - `wabaId` (string)
    WhatsApp Business Manager ID.

  - `changes` (object)
    Any pending changes to the account.

  - `changes.status` (string, required)
    Current status of the pending changes.
    Enum: "DRAFT", "IN_PROGRESS", "PENDING_FACEBOOK_VERIFICATION", "REJECTED"

  - `changes.details` (any)
    The pending changes to account details and information

  - `changes.details.clientBusinessManagerId` (string, required)
    The Business Manager ID for the client.

  - `changes.details.companyLegalName` (string)
    The registered name of the brand who will be engaging with their users.

  - `changes.details.wabaName` (string, required)
    The registered name of the brand who will be engaging with their users.

  - `changes.details.senderDetails` (object)
    Details of the sender firstly created.

  - `changes.details.senderDetails.displayName` (string, required)
    Waba display name / used as default display name of new phone at Meta

  - `changes.details.senderDetails.businessCategory` (string, required)
    Vertical / business category for the business account.
    Enum: "ALCOHOL", "AUTOMOTIVE", "BEAUTY_SPA_SALON", "CLOTHING_AND_APPAREL", "EDUCATION", "ENTERTAINMENT", "EVENT_PLANNING_AND_SERVICE", "FINANCE_AND_BANKING", "FOOD_AND_GROCERY", "HOTEL_AND_LODGING", "MEDICAL_AND_HEALTH", "NON_PROFIT", "NOT_SET", "ONLINE_GAMBLING", "OTC_DRUGS", "OTHER", "PHYSICAL_GAMBLING", "PROFESSIONAL_SERVICES", "PUBLIC_SERVICE", "RESTAURANT", "SHOPPING_AND_RETAIL", "TRAVEL_AND_TRANSPORTATION", "UNRECOGNIZED"

  - `changes.details.senderDetails.region` (string, required)
    Region for the partner-initiated sender.
    Enum: "BR", "EU", "US", "UNRECOGNIZED"

  - `changes.details.senderDetails.metaLocalStorage` (string, required)
    Local storage region for the partner-initiated sender.
    Enum: "AE", "AU", "BH", "BR", "CA", "CH", "DE", "GB", "ID", "IN", "JP", "KR", "SG", "US", "ZA", "UNRECOGNIZED", "UNSPECIFIED"

  - `details` (object)
    Account details and information.

  - `wabaBanState` (string)
    Ban state when account has been banned.
    Enum: "DISABLE", "REINSTATE", "SCHEDULE_FOR_DISABLE", "UNRECOGNIZED"

  - `wabaBanDate` (string)
    The UTC Date Time in ISO 8601 for when account has been banned.

  - `wabaEnabledForInsights` (boolean)
    Template analytics status for account.

  - `wabaEnabledForDirectSend` (boolean)
    Direct Send API status for account.

  - `compatibleRegions` (array, required)
    Conversation API app regions the sender can be used for.

  - `primaryBusinessLocation` (string)
    Two-letter country code in ISO 3166 standard, specifying the country where business is based
    Enum: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "UNRECOGNIZED"

  - `partnerInitiatedRequestId` (string)
    Deprecated. This field is retained for backward compatibility and is always returned as undefined.

  - `businessDailyLimit` (string)
    Current daily message limit of the account.
    Enum: "NOT_SET", "TIER_100K", "TIER_10K", "TIER_1K", "TIER_250", "TIER_2K", "TIER_50", "TIER_UNLIMITED", "UNRECOGNIZED"

  - `currency` (string)
    The currency code for the account.

## Response 400:

  - `400` (unknown)
    BadRequest

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: invalid_input

  - `message` (string)
    Human readable message.
    Example: Invalid input.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Correct the validation errors and submit again.

  - `additionalInformation` (object)
    Additional information for error.
    Example: {"validationErrors":["wabaName must be a string"]}

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: unauthorized_error

  - `message` (string)
    Human readable message.
    Example: Unauthorized error.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that projectId is correct.

## Response 404:

  - `404` (unknown)
    NotFound

## Response 404 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: account_not_found

  - `message` (string)
    Human readable message.
    Example: Account not found.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that the parameters are correct.

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: account_not_updatable

  - `message` (string)
    Human readable message.
    Example: Account is not updatable.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Only account that are in "REJECTED" state can be updated.

## Response 500:

  - `500` (unknown)
    InternalServerError

## Response 500 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: internal_error

  - `message` (string)
    Human readable message.
    Example: Internal server error.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Please wait and try again, if the error persist please contact support.

## Response 200 examples:

  - `Update response` (unknown)
    Response when successfully update an account.

