SendKuy API
API Reference

Change a template

channel cannot be changed and is refused by name. A template's body lives under a different key per channel, so switching it would silently change the meaning of everything that uses the template.

Try it — PATCH /templates/{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 templates: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: templates: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.

channel is required on POST and prohibited on PATCH. subject is accepted on email only, and refused by name elsewhere rather than stored where nothing will ever read it.

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/templates/tpl_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3 \  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "name": "Order shipped v2"}'
{  "data": {    "object": "template",    "id": "tpl_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3",    "channel": "email",    "name": "string",    "subject": "string",    "body": "string",    "status": "active",    "read_only": true,    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  }}