Contact

Listing

GET/api/v1/contacts

This endpoint allows you to retrieve a paginated list of all your contacts. By default, a maximum of ten contacts are shown per page.

Looking up a contact by phone number: pass the number in the phone query parameter, digits only with no leading + (for WhatsApp contacts this is the international number, e.g. 959123456789). The match is partial, so send the full number and compare contactPhones[].phone in the response with your input to confirm an exact hit. An empty data array means no contact holds that number.

Note: when keyword is sent, all other filters are ignored.

Request

Authorization

Bearer Token

Provide your API token in the Authorization header. See Authentication to issue one.

Example:Authorization: Bearer ********************

Query Params
  • pageintegeroptional

    Page number. Defaults to 1.

    Example:1

  • pageSizeintegeroptional

    Contacts per page. Defaults to 10.

    Example:10

  • keywordstringoptional

    Free-text search across name, address, notes, channel, company name, email, phone and custom-field values. Matching is case-insensitive and partial: a contact named "Kyaw Kyaw" is found by "kyaw", "Kya", "yaw" or "aw". When keyword is present, all other filters below are ignored.

    Example:kyaw

  • phonestringoptional

    Find contacts by phone number. Case-insensitive partial match against every phone stored on the contact. Send digits only, in the same form Klink stores them: WhatsApp contacts are stored as the international number without a leading "+" (e.g. 959123456789); contacts created from calls or entered manually are stored as typed. To confirm an exact match, compare contactPhones[].phone in the response with your input. Ignored if keyword is also sent.

    Example:959123456789

  • emailstringoptional

    Find contacts by email address. Case-insensitive partial match against every email stored on the contact. Ignored if keyword is also sent.

    Example:someone@example.com

  • namestringoptional

    Case-insensitive partial match on the contact name.

  • addressstringoptional

    Case-insensitive partial match on the contact address.

  • notesstringoptional

    Case-insensitive partial match on the contact notes. Ignored if keyword is also sent.

  • channelarray[string]optional

    Filter by the channel the contact was created from. Repeat the parameter for multiple values (channel[]=whatsapp&channel[]=phone).

    Example:["whatsapp","phone"]

  • companyarray[string]optional

    Filter by company id (UUID). Repeat the parameter for multiple values.

  • tagsarray[string]optional

    Filter by tag id (UUID). Repeat the parameter for multiple values. Ignored if keyword is also sent.

  • selectedDatestringoptional

    Restrict to contacts created on this date. Interpreted in the Asia/Rangoon (UTC+6:30) timezone.

Responses

200

OK

  • totalintegerrequired
  • pageintegerrequired
  • pageSizeintegerrequired
  • lastPageintegerrequired
  • dataarray[object]required
    Child attributes
    • idstringoptional
    • namestringoptional
    • addressstringoptional
    • channelstringoptional
    • notesnulloptional
    • socialProfileUrlnulloptional
    • tagsarray[object]optional
      Child attributes
      • idstringoptional
      • namestringoptional
    • companyobjectoptional
      Child attributes
      • idstringrequired
      • namestringrequired
      • phonenullrequired
      • addressnullrequired
      • industrynullrequired
    • contactEmailsarray[object]optional
      Child attributes
      • emailstringoptional
      • isPrimarybooleanoptional
    • contactPhonesarray[object]optional
      Child attributes
      • phonestringoptional
      • isPrimarybooleanoptional
    • customFieldsarray[object]optional
      Child attributes
      • system_namestringoptional
      • display_namestringoptional
      • typestringoptional
      • valuestringoptional