Skip to content

Contacts

Contacts belong to a WhatsApp number (channel_id). They are created automatically when someone messages you or you send to them, and you can create or update them yourself.

GET https://login.meapi.in/api/v1/contacts
Query Description
page Page number, from 1
limit Per page, 1–200 (default 50)
q Search the name, WhatsApp profile name or phone digits (without +)
tag Only contacts with this tag
updated_since ISO date-time; only contacts changed since then — handy for syncing
channel_id Which of your numbers (default: the key’s number or your default)
{
"success": true,
"page": 1, "limit": 50, "total": 1284,
"contacts": [
{
"id": 3310,
"phone": "+919812345678",
"name": "Asha Patel",
"tags": ["vip", "lead"],
"fields": { "city": "Pune", "plan": "gold" },
"opted_out": false,
"opt_in_source": "inbound_message",
"opt_in_at": "2026-10-01T09:12:44.000Z",
"last_message_at": "2026-10-26T10:15:02.000Z",
"created_at": "2026-09-30T18:02:11.000Z",
"updated_at": "2026-10-26T10:15:02.000Z"
}
]
}

name is the name you saved, or else the customer’s WhatsApp profile name. Contacts are sorted by id, oldest first.

POST https://login.meapi.in/api/v1/contacts

Matches on the phone number: creates the contact if it is new (201), otherwise updates it (200).

Field Type Description
phone string Required. International format, e.g. +919812345678. Without +, 10 digits or fewer are read as an Indian number.
name string Sets the name, up to 190 characters (null or "" clears it). Leave it out to keep the current name.
tags string or string[] Tags to add. Each tag is cut to 50 characters; a contact keeps at most 100 tags.
remove_tags string or string[] Tags to remove
fields object Custom fields to merge; a null value removes that field. Names are lower-cased, and any character other than a-z, 0-9 and _ becomes _ (max 64 characters). Values are stored as text, up to 1,000 characters; objects are stored as JSON text.
opted_in boolean true: the customer gave consent (for example on your website). Clears an earlier opt-out, records the opt-in source api and starts your published Opt-in flows. false: opt the contact out, as if they had sent STOP (no message is sent).
channel_id integer Which of your numbers (body or query)

Date fields that drive Auto reminders — payment_due, appointment_at, renewal_date, birthday… — take 2026-11-02, 02/11/2026 (day first) or either with a time (15:30, 3:30 pm). Changing the date re-plans that contact’s reminders; removing it stops them.

Terminal window
curl https://login.meapi.in/api/v1/contacts \
-H "Authorization: Bearer $MEAPI_KEY" -H "Content-Type: application/json" \
-d '{ "phone": "+919812345678", "name": "Asha Patel", "tags": ["vip"], "fields": { "city": "Pune", "birthday": "1992-03-14" } }'
{
"success": true,
"created": true,
"contact": { "id": 3310, "phone": "+919812345678", "name": "Asha Patel", "tags": ["vip"], "fields": { "city": "Pune", "birthday": "1992-03-14" }, "opted_out": false }
}

Tags and fields you set here can drive campaigns (segments), automation conditions and date triggers such as birthdays. Contacts who sent STOP show opted_out: true; only the customer can opt back in, by sending START.

© 2026 MeAPI by TheWebStore028 · RADHAMADHAV WEBSTORE LLP · GSTIN 27ABJFR6148J1ZO · Contact us ·Cookie settings