---
title: "Send WhatsApp contact message"
method: POST
path: "/whatsapp/1/message/contact"
tags: ["channels", "whatsapp", "whatsapp-outbound-messages", "whatsapp-text-and-media-messages"]
---

# Send WhatsApp contact message

`POST /whatsapp/1/message/contact`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/whatsapp/1/message/contact`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

Send a contact to a single recipient. Contact messages can only be successfully delivered if the recipient has contacted the business within the last 24 hours, otherwise [template message](#channels/whatsapp/send-whatsapp-template-message) should be used. <br/> The API response will not contain the final delivery status, use [Delivery Reports](#channels/whatsapp/receive-whatsapp-delivery-reports) instead.

## Request body

- F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2ContactsMessage
  - `from` string, required: Registered WhatsApp sender number. Must be in international format and comply with [WhatsApp's requirements](https://www.infobip.com/docs/whatsapp/get-started/sender-registration#phone-number-what-you-need-to-know).
  - `to` string, required: Message recipient number in international format or WhatsApp business-scoped user ID.
  - `messageId` string: The ID that uniquely identifies the message sent.
  - `content` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2ContactsContent, required: The content object to build a message that will be sent.
    - `contacts` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2ContactContent[], required: An array of contacts sent in a WhatsApp message.
      - `addresses` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2AddressContent[]: Array of addresses information.
        - `street` string: Street name.
        - `city` string: City name.
        - `state` string: State name.
        - `zip` string: Zip code value.
        - `country` string: Country name.
        - `countryCode` string: Country code value.
        - `type` 'HOME' | 'WORK': Type of the address. Can be `HOME` or `WORK`.
      - `birthday` string: Date of birth in `YYYY-MM-DD` format.
      - `emails` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2EmailContent[]: Array of emails information.
        - `email` string, email: Contact's email.
        - `type` 'HOME' | 'WORK': Type of the email. Can be `HOME` or `WORK`.
      - `name` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2NameContent, required: Contains information about contact's name.
        - `firstName` string, required: Contact's first name.
        - `lastName` string: Contact's last name.
        - `middleName` string: Contact's middle name.
        - `nameSuffix` string: Contact's name suffix.
        - `namePrefix` string: Contact's name prefix.
        - `formattedName` string, required: Contact's full name as it normally appears.
      - `org` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2OrganizationContent: Contains information about contact's company.
        - `company` string: Company name.
        - `department` string: Department name.
        - `title` string: Title value.
      - `phones` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2PhoneContent[]: Array of phones information.
        - `phone` string: Contact's phone number.
        - `type` 'CELL' | 'MAIN' | 'IPHONE' | 'HOME' | 'WORK': Type of the phone number. Can be `CELL`, `MAIN`, `IPHONE`, `HOME` or `WORK`.
        - `waId` string: Contact's WhatsApp ID.
      - `urls` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2UrlContent[]: Array of urls information.
        - `url` string: Contact's url.
        - `type` 'HOME' | 'WORK': Type of the url. Can be `HOME` or `WORK`.
  - `callbackData` string: Custom client data that will be included in a [Delivery Report](#channels/whatsapp/receive-whatsapp-delivery-reports).
  - `notifyUrl` string: The URL on your callback server to which delivery and seen reports will be sent. [Delivery report format](#channels/whatsapp/receive-whatsapp-delivery-reports), [Seen report format](#channels/whatsapp/receive-whatsapp-seen-reports).
  - `entityId` string: Required for entity use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
  - `applicationId` string: Required for application use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
  - `context` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2MessageContext: Context object to define WhatsApp-specific metadata about a message.
    - `replyToMessageId` string, required: Inbound message ID used for a reply. Contextual bubble will not appear for template messages.

## Response `200`

Message accepted for delivery

- F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2SingleMessageInfo
  - `to` string: The destination address of the message.
  - `messageCount` integer: Number of messages required to deliver.
  - `messageId` string: The ID that uniquely identifies the message sent. If not passed, it will be automatically generated and returned in a response.
  - `status` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2SingleMessageStatus: Indicates the [status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) of the message and how to recover from an error should there be any.
    - `groupId` integer: Status group ID.
    - `groupName` string: Status group name.
    - `id` integer: Status ID.
    - `name` string: Status name.
    - `description` string: Human-readable description of the status.
    - `action` string: Action that should be taken to eliminate the error.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
