SendKuy API
API Reference

Change a contact

Only the fields you send are changed.

Try it — PATCH /contacts/{id}

Kept for this tab only — it disappears when you close it, and it is never sent anywhere except as the Authorization header on the call below.

Authorization

bearerAuth contacts:write
AuthorizationBearer <token>

Authorization: Bearer sk_live_.... Keys in the query string or the request body are refused — a URL is logged by every proxy it passes, and that is how customer keys leak.

A key carries scopes. A call outside them answers 403 with insufficient_scope and names the scope it wanted.

In: header

Scope: contacts:write

Path Parameters

id*string

The prefixed id of the object.

Header Parameters

Idempotency-Key?string

Any unique string, one per logical request. Retrying with the same key returns the first answer instead of doing the work twice, and answers with Idempotent-Replay: true.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

On POST at least one address is required — a contact with no address cannot be sent anything. On PATCH every field is optional and only the ones you send are changed.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH https://app.sendkuy.com/api/v1/contacts/con_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3 \  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "first_name": "Andi Pratama"}'
{  "data": {    "object": "contact",    "id": "con_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3",    "group_id": "grp_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3",    "first_name": "string",    "last_name": "string",    "whatsapp": "+6281234567890",    "email": "string",    "sms": "+6281234567890",    "attributes": {},    "status": "active",    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  }}