Send WhatsApp contact message

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 should be used.
The API response will not contain the final delivery status, use Delivery Reports instead.

Please log in to see full path URL. Learn why.
post
/whatsapp/1/message/contact
Request rate limit:
4000 requests / second (per account)
Request Body schema:
application/json
collapse all -
from
required
string [ 1 .. 24 ] characters

Registered WhatsApp sender number. Must be in international format and comply with WhatsApp's requirements.

to
required
string [ 1 .. 24 ] characters

Message recipient number. Must be in international format.

messageId
string [ 0 .. 100 ] characters

The ID that uniquely identifies the message sent.

content
required
object

The content object to build a message that will be sent.

contacts
required
Array of objects

An array of contacts sent in a WhatsApp message.

Array
addresses
Array of objects

Array of addresses information.

Array
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
string
Enum: "HOME" "WORK"

Type of the address. Can be HOME or WORK.

birthday
string

Date of birth in YYYY-MM-DD format.

emails
Array of objects

Array of emails information.

Array
email
string

Contact's email.

type
string
Enum: "HOME" "WORK"

Type of the email. Can be HOME or WORK.

name
required
object

Contains information about contact's name.

firstName
required
string

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
required
string

Contact's full name as it normally appears.

org
object

Contains information about contact's company.

company
string

Company name.

department
string

Department name.

title
string

Title value.

phones
Array of objects

Array of phones information.

Array
phone
string

Contact's phone number.

type
string
Enum: "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
Array of objects

Array of urls information.

Array
url
string

Contact's url.

type
string
Enum: "HOME" "WORK"

Type of the url. Can be HOME or WORK.

callbackData
string [ 0 .. 4000 ] characters

Custom client data that will be included in a Delivery Report.

notifyUrl
string [ 0 .. 2048 ] characters

The URL on your callback server to which delivery and seen reports will be sent. Delivery report format, Seen report format.

entityId
string [ 0 .. 255 ] characters

Required for entity use in a send request for outbound traffic. Returned in notification events. For more details, see our documentation.

applicationId
string [ 0 .. 255 ] characters

Required for application use in a send request for outbound traffic. Returned in notification events. For more details, see our documentation.

Responses

200

Message accepted for delivery

400

Bad request

401

Unauthorized

403

Forbidden

429

Too Many Requests

500

Internal Server Error

Request samples

Content type
application/json
Example
Copy
Collapse all
{
  • "from": "441134960000",
  • "to": "441134960001",
  • "messageId": "a28dd97c-1ffb-4fcf-99f1-0b557ed381da",
  • "content":
    {
    • "contacts":
      [
      • {
        • "addresses":
          [
          • {
            • "street": "Istarska",
            • "city": "Vodnjan",
            • "zip": "52215",
            • "country": "Croatia",
            • "countryCode": "HR",
            • "type": "WORK"
            },
          • {
            • "street": "Istarska",
            • "city": "Vodnjan",
            • "zip": "52215",
            • "country": "Croatia",
            • "countryCode": "HR",
            • "type": "HOME"
            }
          ],
        • "birthday": "2010-01-01",
        • "emails":
          [
          • {
            • "email": "John.Smith@example.com",
            • "type": "WORK"
            },
          • {
            • "email": "John.Smith.priv@example.com",
            • "type": "HOME"
            }
          ],
        • "name":
          {
          • "firstName": "John",
          • "lastName": "Smith",
          • "middleName": "B",
          • "namePrefix": "Mr.",
          • "formattedName": "Mr. John Smith"
          },
        • "org":
          {
          • "company": "Company Name",
          • "department": "Department",
          • "title": "Director"
          },
        • "phones":
          [
          • {
            • "phone": "+441134960019",
            • "type": "HOME",
            • "waId": "441134960019"
            },
          • {
            • "phone": "+441134960000",
            • "type": "WORK",
            • "waId": "441134960000"
            }
          ],
        • "urls":
          []
        }
      ]
    },
  • "callbackData": "Callback data",
}

Response samples

Content type
application/json
Copy
Collapse all
{
  • "to": "441134960001",
  • "messageCount": 1,
  • "messageId": "a28dd97c-1ffb-4fcf-99f1-0b557ed381da",
  • "status":
    {
    • "groupId": 1,
    • "groupName": "PENDING",
    • "id": 7,
    • "name": "PENDING_ENROUTE",
    • "description": "Message sent to next instance"
    }
}

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Learn more
Service status

Copyright @ 2006-2025 Infobip ltd.