# 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

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the Sinch Dashboard.

## Request fields (application/json):

  - `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= 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"

  - `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= Ensure that the name shown exactly matches the one you enter here.

## Response 200 fields (application/json):

  - `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"

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

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

  - `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` (array) — one of:
    The pending changes to account details and information
    - WhatsappAccountDetailsDto:
      - `clientBusinessManagerId` (string, required)
        The Business Manager ID for the client.
      - `wabaName` (string, required)
        The registered name of the brand who will be engaging with their users.
      - `senderDetails` (object)
        Details of the sender firstly created.
      - `senderDetails.displayName` (string, required)
        Waba display name / used as default display name of new phone at Meta
      - `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"
      - `senderDetails.region` (string, required)
        Region for the partner-initiated sender.
        Enum: "BR", "EU", "US", "UNRECOGNIZED"
      - `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"
      - `companyLegalName` (string)
        The registered name of the brand who will be engaging with their users.
    - WhatsappAccountChangesDetailsDto:
      - `clientBusinessManagerId` (string)
        The Business Manager ID for the client.
      - `wabaName` (string)
        The registered name of the brand who will be engaging with their users.
      - `senderDetails` (object)
        Details of the sender firstly created.
      - `senderDetails.displayName` (string, required)
        Waba display name / used as default display name of new phone at Meta
      - `senderDetails.businessCategory` (string, required)
        Vertical / business category for the business account.
        Enum: same as `senderDetails.businessCategory` in "WhatsappAccountDetailsDto" (23 values)
      - `senderDetails.region` (string, required)
        Region for the partner-initiated sender.
        Enum: same as `senderDetails.region` in "WhatsappAccountDetailsDto" (4 values)
      - `senderDetails.metaLocalStorage` (string, required)
        Local storage region for the partner-initiated sender.
        Enum: same as `senderDetails.metaLocalStorage` in "WhatsappAccountDetailsDto" (17 values)
      - `companyLegalName` (string)
        The registered name of the brand who will be engaging with their users.

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

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

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

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

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

  - `details.senderDetails.businessCategory` (string, required)
    Vertical / business category for the business account.
    Enum: same as `senderDetails.businessCategory` in "WhatsappAccountDetailsDto" (23 values)

  - `details.senderDetails.region` (string, required)
    Region for the partner-initiated sender.
    Enum: same as `senderDetails.region` in "WhatsappAccountDetailsDto" (4 values)

  - `details.senderDetails.metaLocalStorage` (string, required)
    Local storage region for the partner-initiated sender.
    Enum: same as `senderDetails.metaLocalStorage` in "WhatsappAccountDetailsDto" (17 values)

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

  - `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.

  - `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"

  - `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.

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

## Response 400 fields (application/json):

  - `body` (InvalidInputErrorTitle (object) or NoFieldsToUpdateErrorTitle (object)) — one of:
    - InvalidInputErrorTitle:
      - `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"]}
    - NoFieldsToUpdateErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "no_fields_to_update"
      - `message` (string)
        Human readable message.
        Example: "No fields to be updated."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Supply at least one field to be updated."
    - NoFieldsToUpdateErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "no_fields_to_update"
      - `message` (string)
        Human readable message.
        Example: "No fields to be updated."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Supply at least one field to be updated."

## 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 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 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 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."


