Messaging · iMessage
Creates a tracked iMessage opt-in link.
POST
https://api.pozy.ai/v1/imessage/senders/{senderId}/opt-in-linkscreateImessageOptInLink
Guide: iMessage
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Authentication
Path parameters
| Name | Type | Notes |
|---|---|---|
senderIdrequired | string |
Request body
application/json, required
bodystringrequiredUp to 500 characters.
parametersmap of stringoptInCodestring3 to 8 characters.
Example
curl -X POST "https://api.pozy.ai/v1/imessage/senders/68ef6f94df13738fb25f1e94/opt-in-links" \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "string"
}'const res = await fetch("https://api.pozy.ai/v1/imessage/senders/68ef6f94df13738fb25f1e94/opt-in-links", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
body: "string"
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.post(
"https://api.pozy.ai/v1/imessage/senders/68ef6f94df13738fb25f1e94/opt-in-links",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"body": "string",
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
successbooleanlinkobjectidstringimessagestringsmsstringCan be null.
whatsappstringCan be null.
urlstring
200 response
{
"success": true,
"link": {
"id": "6bfebd43ddc270f6d2c56fc5",
"imessage": "Hello from Pozy",
"sms": "string",
"whatsapp": "string",
"url": "https://pozy.ai/media/example-1.jpg"
}
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is read-only, scoped to other profiles, or has this resource group disabled. |
| 404 | not_found | Nothing with that id exists in your workspace. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.
More in iMessage
GETList iMessage sendersPOSTRegister an iMessage senderGETList iMessage sender ordersPOSTOrder a new iMessage senderGETGet iMessage sender statusPATCHUpdate an iMessage senderDELCancel an iMessage senderGETList iMessage audienceGETList iMessage sandbox contactsPOSTAdd an iMessage sandbox contactDELRemove an iMessage sandbox contactPOSTSubscribe or opt out an iMessage contactGETList instantly available iMessage numbersPOSTReserve an available iMessage numberPOSTStart an iMessage group chatGETGet an iMessage groupPATCHRename an iMessage group or change its photoPOSTAdd a participant to an iMessage groupDELRemove a participant from an iMessage group