WA.cr APP - API v2
  1. Contacts
WA.cr APP - API v2
  • API v2 Documentation
    • Account
      • Get Account Info
      • Get Usage Statistics
      • Get Plan Limits
    • Authentication (OTP Verification)
      • Send OTP/Verification Code
      • Resend OTP
      • Verify OTP
      • Check OTP Status
      • List Authentication Templates
    • Comments
      • Get Comments
      • Add Comment
    • Contacts
      • List Contacts
        GET
      • Create Contact
        POST
      • Get Contact
        GET
      • Update Contact
        PATCH
      • Delete Contact
        DELETE
      • Batch Create Contacts
        POST
      • Batch Delete Contacts
        DELETE
    • Groups
      • List Groups
      • Create Group
      • Get Group
      • Update Group
      • Delete Group
      • Add Contacts to Group
      • Remove Contacts from Group
    • Messages
      • Send Text Message
      • Send Template Message
      • Send Media Message
      • Send Interactive Message
      • List Messages
      • Get Message
    • Sources
      • List Sources
      • Create Source
      • Get Source
      • Update Source
      • Delete Source
    • Statuses
      • List Statuses
      • Create Status
      • Get Status
      • Update Status
      • Delete Status
    • Templates
      • List Templates
      • Sync Templates from WhatsApp
      • Get Template
  1. Contacts

Create Contact

POST
/contacts
Create a new contact in your tenant account.

Authentication#

Required Scope: contacts:write

Feature Limits#

This endpoint respects tenant feature limits for contacts. If the limit is reached, a FEATURE_LIMIT_EXCEEDED error is returned with details about current usage and maximum allowed.

Request Body#

FieldTypeRequiredValidationDescription
firstnamestringYesmax:255First name
lastnamestringYesmax:255Last name
phonestringYesmax:20, unique per tenantPhone number with country code
typestringYeslead, customer, guestContact type
source_idintegerYesmust exist in tenant sourcesSource ID
status_idintegerYesmust exist in tenant statusesStatus ID
emailstringNoemail, max:191, unique per tenantEmail address
companystringNomax:255Company name
descriptionstringNo—Additional notes
citystringNomax:255City
statestringNomax:255State/province
zipstringNomax:20ZIP/postal code
addressstringNomax:500Street address
country_idintegerNo—Country ID
assigned_idintegerNo—User ID to assign contact to
groupsarrayNoarray of integersArray of group IDs to assign

Response#

Success (201 Created): Returns the created contact data wrapped in ContactResource format with groups auto-loaded. Includes message: "Contact created successfully".

Error Responses#

StatusCodeDescription
422VALIDATION_ERRORValidation failed (missing required fields, duplicate phone/email, invalid source_id/status_id)
403FEATURE_LIMIT_EXCEEDEDTenant contact limit reached. Response includes feature, current, and maximum in error details
500INTERNAL_ERRORFailed to create contact

Validation Error Messages#

FieldMessage
firstnameFirst name is required
lastnameLast name is required
phonePhone number is required / This phone number already exists
emailThis email address already exists
typeType must be either lead, customer, or guest
source_idThe selected source does not exist or does not belong to your account
status_idThe selected status does not exist or does not belong to your account

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/json

Examples

Responses

🟢200
application/json
Successful response
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/contacts' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname": "New",
    "lastname": "Test",
    "type": "lead",
    "email": "test12@gmail.com",
    "phone": "+919587422363",
    "source_id": 115,
    "status_id": 287,
    "description": "Test one contact",
    "country_id": 101,
    "assigned_id": 15,
    "groups": [
        12
    ],
    "zip": "360001",
    "city": "Rajkot"
}'
Response Response Example
{}
Modified at 2026-02-25 01:06:20
Previous
List Contacts
Next
Get Contact
Built with