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

Update Contact

PATCH
/contacts/1
Update an existing contact by ID. Only include fields you want to change (partial update via PATCH).

Authentication#

Required Scope: contacts:write

Path Parameters#

ParameterTypeDescription
idintegerRequired. The contact ID to update

Request Body#

All fields are optional. Only provided fields will be updated.
FieldTypeValidationDescription
firstnamestringmax:255First name
lastnamestringmax:255Last name
phonestringmax:20, unique per tenant (excludes current contact)Phone number
typestringlead, customer, guestContact type
source_idintegermust exist in tenant sourcesSource ID
status_idintegermust exist in tenant statusesStatus ID
emailstringemail, max:191, unique per tenant (excludes current contact)Email address
companystringmax:255Company name
descriptionstring—Additional notes
citystringmax:255City
statestringmax:255State/province
zipstringmax:20ZIP/postal code
addressstringmax:500Street address
country_idinteger—Country ID
assigned_idinteger—User ID to assign contact to
groupsarrayarray of integersArray of group IDs (replaces existing groups)
Note: When groups is provided, it replaces the existing group assignments entirely. Omit groups to keep current assignments unchanged.

Response#

Success (200 OK): Returns the freshly-loaded contact data with groups auto-loaded. Includes message: "Contact updated successfully".

Error Responses#

StatusCodeDescription
404NOT_FOUNDContact not found
422VALIDATION_ERRORValidation failed (duplicate phone/email, invalid source_id/status_id)
500INTERNAL_ERRORFailed to update contact

Validation Error Messages#

FieldMessage
phoneThis 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 PATCH '/contacts/1' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "firstname": "Test Edited",
    "type": "customer",
    "phone": "+919587422369",
    "status_id": 288,
    "description": "Test one contact edited",
    "city": "Baroda"
}'
Response Response Example
{}
Modified at 2026-02-25 01:06:20
Previous
Get Contact
Next
Delete Contact
Built with