Now inviting stores. Join the waitlist to hear the agent call you.

Join the waitlist

Contacts

The shoppers you call, with their consent and opt-outs.

Add or update a contact

PUT/contacts

By phone number: a new number is added (201); a known one gets what you send (fields are merged). Send consent to record the shopper’s consent at the same time.

Needs the contacts scope.

Body

  • phonestringrequired
  • namestring
  • languagestring or null

    One ofhi-INen-INta-INte-INmr-INgu-INbn-INkn-INml-INpa-INod-IN

  • fieldsmap of string

    Merged into the contact’s fields.

  • consentobject
    Show 4 fields inside
    • scopestringrequired

      One ofservicepromotional

    • givenAtstringrequired
    • notestringrequired
    • sourcestringrequired

      One offormcheckoutimportverbalother

Returns 200

Done.

  • okbooleanrequired

    One oftrue

  • contactContactrequired
    Show 9 fields inside
    • idstringrequired
    • phonestringrequired
    • namestringrequired
    • languagestring or nullrequired
    • fieldsmap of stringrequired
    • isOptedOutbooleanrequired
    • consentslist of Consentrequired
      Show 7 fields inside
      • idstringrequired
      • scopestringrequired

        One ofservicepromotional

      • sourcestringrequired
      • givenAtstringrequired

        ISO 8601 time.

      • notestringrequired
      • expiresAtstring or nullrequired

        ISO 8601 time.

      • isStandingbooleanrequired
    • createdAtstringrequired

      ISO 8601 time.

    • updatedAtstringrequired

      ISO 8601 time.

  • isNewbooleanrequired

    Whether the number was added just now.

Request
curl -X PUT https://app.rowcall.ai/v1/contacts \
  -H "Authorization: Bearer $ROWCALL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "98123 45678",
    "name": "Asha Rao",
    "language": "hi-IN",
    "fields": {
      "city": "Pune"
    },
    "consent": {
      "scope": "service",
      "source": "checkout",
      "givenAt": "2026-10-13T09:20:00+05:30",
      "note": "Ticked \"Call me about this order\" at checkout."
    }
  }'
Response
{
  "ok": true,
  "contact": {
    "id": "con_m5n7b9v1c3x5z7l9k1j3",
    "phone": "+919812345678",
    "name": "Asha Rao",
    "language": "hi-IN",
    "fields": {
      "city": "Pune"
    },
    "isOptedOut": false,
    "consents": [
      {
        "id": "cns_h2g4f6d8s0a2p4o6i8u0",
        "scope": "service",
        "source": "checkout",
        "givenAt": "2026-10-13T03:50:00.000Z",
        "note": "Ticked \"Call me about this order\" at checkout.",
        "expiresAt": "2026-10-20T03:50:00.000Z",
        "isStanding": true
      }
    ],
    "createdAt": "2026-09-28T11:04:00.000Z",
    "updatedAt": "2026-10-13T09:20:00.000Z"
  },
  "isNew": false
}