> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a phone number business username

> Requests a Business Username update for a WhatsApp business phone number.
The requested username may require Meta review before it becomes active. If Meta accepts or reserves the request for review, the response status is usually `reserved`; `pending_review` is kept only as a legacy compatibility value. If Meta returns an error, YCloud returns the error and does not change the stored Business Username state.

The `username` value is a plain username without `@`. YCloud trims leading and trailing whitespace and normalizes the value to lowercase before validation and submission.



## OpenAPI

````yaml /openapi/endpoints/ycloud-api-v2.yaml patch /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}/businessUsername
openapi: 3.0.0
info:
  description: >-
    The [YCloud](https://ycloud.com) API is organized around
    [REST](https://en.wikipedia.org/wiki/Representational_state_transfer). Our
    API is designed to have predictable, resource-oriented URLs, return
    [JSON](https://www.json.org) responses, and use standard HTTP response codes
    and verbs.
  version: v2
  title: YCloud API
  termsOfService: https://ycloud.com/terms-service
  contact:
    email: service@ycloud.com
servers:
  - url: https://api.ycloud.com/v2
    description: Base URL
security:
  - api_key: []
tags:
  - name: Balance
  - name: Contacts
  - name: Custom Events
  - name: Emails
  - name: SMS
  - name: Unsubscribers
  - name: Verify
  - name: Voices
  - name: Webhook Endpoints
  - name: WhatsApp Business Accounts
  - name: WhatsApp Inbound Messages
  - name: WhatsApp Media
  - name: WhatsApp Messages
  - name: WhatsApp Blocked Users
  - name: WhatsApp Groups
  - name: WhatsApp Calling
  - name: WhatsApp Phone Numbers
  - name: WhatsApp Templates
  - name: WhatsApp Flows
  - name: Meta Business Agent
  - name: WhatsApp Group Messages
externalDocs:
  description: Homepage
  url: https://ycloud.com
paths:
  /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}/businessUsername:
    patch:
      tags:
        - WhatsApp Phone Numbers
      summary: Update a phone number business username
      description: >-
        Requests a Business Username update for a WhatsApp business phone
        number.

        The requested username may require Meta review before it becomes active.
        If Meta accepts or reserves the request for review, the response status
        is usually `reserved`; `pending_review` is kept only as a legacy
        compatibility value. If Meta returns an error, YCloud returns the error
        and does not change the stored Business Username state.


        The `username` value is a plain username without `@`. YCloud trims
        leading and trailing whitespace and normalizes the value to lowercase
        before validation and submission.
      operationId: whatsapp_phone_number-update-business-username
      parameters:
        - name: wabaId
          in: path
          description: WhatsApp Business Account ID.
          required: true
          schema:
            type: string
            example: whatsapp-business-account-id
        - name: phoneNumber
          in: path
          description: Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.
          required: true
          schema:
            type: string
            example: '+16315551111'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhatsappBusinessUsernameUpdateRequest'
        required: true
      responses:
        '200':
          description: Successfully submitted the update request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsappBusinessUsername'
        '400':
          description: Bad request. Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The requested resource does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    WhatsappBusinessUsernameUpdateRequest:
      type: object
      required:
        - username
      properties:
        username:
          type: string
          description: >-
            Business Username to request for the phone number. Send the plain
            username without `@`.


            YCloud trims leading and trailing whitespace and normalizes the
            value to lowercase before validation and submission. The value must
            be 3-35 characters, contain only English letters, numbers, periods,
            and underscores, and contain at least one English letter. It must
            not start or end with a period, contain consecutive periods, start
            with `www`, or end with common domain suffixes such as `.com`,
            `.org`, `.net`, `.int`, `.edu`, `.gov`, `.mil`, `.us`, `.in`, or
            `.html`.
          minLength: 3
          maxLength: 35
          pattern: ^[A-Za-z0-9._]+$
          example: acme.support
    WhatsappBusinessUsername:
      type: object
      description: Business Username state for a WhatsApp business phone number.
      properties:
        id:
          type: string
          description: Phone number ID.
          example: '1234567890123456'
        wabaId:
          type: string
          description: WhatsApp Business Account ID.
          example: whatsapp-business-account-id
        phoneNumber:
          type: string
          description: Phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.
          example: '+16315551111'
        displayPhoneNumber:
          type: string
          description: Display phone number.
          example: +1 631-555-1111
        businessUsername:
          type: string
          description: Active Business Username. The value is a plain username without `@`.
          example: acme.support
        businessUsernameStatus:
          $ref: '#/components/schemas/WhatsappBusinessUsernameStatus'
        requestedBusinessUsername:
          type: string
          description: >-
            Last requested Business Username that is still under review. This
            value can coexist with an active `businessUsername` while the new
            request is pending.
          example: acme.help
        businessUsernameUpdatedAt:
          type: string
          format: date-time
          description: The time when the Business Username state was last updated.
          example: '2026-05-26T12:00:00.000Z'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
          description: >-
            Contains the error code and human-readable message for the API
            error.
    WhatsappBusinessUsernameStatus:
      type: string
      description: >-
        Business Username state for a WhatsApp business phone number.

        - `not_set`: No active or pending Business Username exists.

        - `active`: A Business Username is active.

        - `reserved`: A requested Business Username is reserved by Meta and may
        still be under review.

        - `pending_review`: Legacy compatibility value for an under-review
        request. New writes use `reserved`.

        If an active username exists while a new request is reserved or under
        review, `businessUsernameStatus` is `reserved`, `businessUsername`
        contains the still-active username, and `requestedBusinessUsername`
        contains the requested username.
      enum:
        - not_set
        - active
        - pending_review
        - reserved
    Error:
      type: object
      required:
        - status
        - code
      properties:
        status:
          type: integer
          format: int32
          pattern: '[45]\d{2}'
          description: >-
            HTTP status code, [RFC 7231, Section
            6](https://datatracker.ietf.org/doc/html/rfc7231#section-6). It
            conveys the HTTP status code used for the convenience of the
            consumer.
          example: 404
        code:
          type: string
          description: >-
            One of a server-defined error codes. Some `4xx` errors that could be
            handled programmatically include an error code that briefly explains
            the error reported.
          example: NOT_FOUND
        message:
          type: string
          description: >-
            A human-readable representation of the error. It is intended as an
            aid to developers and is not suitable for exposure to end users.
          example: The requested resource does not exist.
        target:
          type: string
          description: The target of the error.
          example: ''
        docUrl:
          type: string
          description: A URL to more information about the error.
          example: ''
        requestId:
          type: string
          description: >-
            Each API request has an associated request ID. It conveys the
            response header `YCloud-Request-ID` used for the convenience of the
            consumer.
          example: req_1KjtKI80IKoaJNa6n6p
        whatsappApiError:
          $ref: '#/components/schemas/WhatsappApiError'
          description: >-
            The original error object returned by WhatsApp. See [Handling
            Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling),
            [Cloud API Error
            Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).


            Note: This field is returned if we tried to request the WhatsApp
            Business API and got an error response.
        metaBusinessAgentApiError:
          $ref: '#/components/schemas/MetaBusinessAgentApiError'
          description: >-
            Sanitized upstream details returned when a Meta Business Agent
            request fails.
    WhatsappApiError:
      type: object
      description: >-
        The original error object returned by WhatsApp. See [Handling
        Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling),
        [Cloud API Error
        Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).
      required:
        - message
        - code
      properties:
        message:
          type: string
          description: A human-readable description of the error.
          example: HSM Template creation failed
        code:
          type: string
          description: An error code.
          example: 200002
        type:
          type: string
          description: Error type.
          example: OAuthException
        is_transient:
          type: boolean
          description: Whether the error is transient.
          example: false
        error_subcode:
          type: string
          description: Additional code about the error.
          example: 2388109
        error_user_msg:
          type: string
          description: >-
            The message to display to the user. The language of the message is
            based on the locale of the API request.
          example: This message template cannot be created.
        error_user_title:
          type: string
          description: >-
            The title of the dialog, if shown. The language of the message is
            based on the locale of the API request.
          example: Message Cannot Be Submitted
        fbtrace_id:
          type: string
          description: >-
            Internal support identifier. When reporting a bug related to a Graph
            API call, include the fbtrace_id to help us find log data for
            debugging.
          example: AVGjJ7ia2zJkrHG
        error_data:
          description: >-
            Additional data about the error. A string or map.

            - For template APIs, this field is a string describing the reason
            for the error.

            - For message APIs, this field is a map with property `details`
            describing the reason for the error.
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
    MetaBusinessAgentApiError:
      type: object
      description: Sanitized details from a failed Meta Business Agent upstream request.
      properties:
        title:
          type: string
        detail:
          type: string
        type:
          type: string
        status:
          type: integer
          format: int32
        requestId:
          type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.