# Verify sender for project

Verify sender with the OTP received after triggering registration.

Endpoint: POST /v1/projects/{projectId}/whatsapp/senders/{senderId}/verify
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.

  - `senderId` (string, required)
    The unique ID of the sender.

## Request fields (application/json):

  - `code` (string)
    OTP code used for sender verification. Must be exactly 6 characters with no spaces. Not required if the sender number is already verified by Meta.
    Example: "123456"

## Response 400 fields (application/json):

  - `body` (InvalidInputErrorTitle (object) or ProjectNotInitializedErrorTitle (object) or InvalidPayloadErrorTitle (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":["code must be a string","code must be exactly 6 characters"]}
    - ProjectNotInitializedErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "project_not_initialized"
      - `message` (string)
        Human readable message.
        Example: "Project not initialized for WhatsApp."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the project ID is correct and that it has been onboarded for WhatsApp."
    - InvalidPayloadErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_payload"
      - `message` (string)
        Human readable message.
        Example: "Invalid payload."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Correct payload and submit again."

## 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: "sender_not_found"

  - `message` (string)
    Human readable message.
    Example: "Sender 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):

  - `body` (NotAllowedVerifyErrorTitle (object) or WrongOtpErrorTitle (object)) — one of:
    - NotAllowedVerifyErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "not_allowed_verify"
      - `message` (string)
        Human readable message.
        Example: "Sender not allowed to be verified."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Only \"PENDING_VERIFICATION\" sender can be verified."
    - WrongOtpErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "wrong_otp"
      - `message` (string)
        Human readable message.
        Example: "Sender verification failed due to wrong OTP."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Please make sure that the correct OTP code is entered."

## 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 204 fields
