Official Sinch API skills for AI coding agents — SMS, Voice, Verification, Numbers, Mailgun email, and more.
71
89%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
← Back to Conversation API SKILL.md
Sections: Overview | CONTACT_CREATE | CONTACT_UPDATE | CONTACT_DELETE | CONTACT_MERGE | CONTACT_IDENTITIES_DUPLICATION | Key Points
Contact management triggers notify you when contacts are created, updated, deleted, merged, or when duplicate identities are detected. These triggers enable you to keep external systems synchronized with Conversation API contact data and detect potential data quality issues.
The five contact management triggers are:
CONTACT_CREATE — New contact createdCONTACT_UPDATE — Contact information updatedCONTACT_DELETE — Contact deletedCONTACT_MERGE — Two contacts merged into oneCONTACT_IDENTITIES_DUPLICATION — Duplicate channel identities detectedPOST /v1/projects/{project_id}/contacts){
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:00:00.123Z",
"project_id": "PROJECT123",
"contact_create_notification": {
"contact": {
"id": "01H3333333...",
"channel_identities": [
{
"channel": "WHATSAPP",
"identity": "46732001122",
"app_id": "01H1234567..."
}
],
"display_name": "John Doe",
"email": "john.doe@example.com",
"external_id": "customer_12345",
"metadata": "",
"language": "EN"
}
}
}| Field | Description |
|---|---|
contact.id | Unique contact identifier |
contact.channel_identities | Array of channel endpoints (phone numbers, WhatsApp IDs, etc.) |
contact.display_name | Contact's display name (optional) |
contact.external_id | Your system's identifier for this contact |
contact.metadata | Custom JSON metadata |
contact.language | Preferred language code |
PATCH /v1/projects/{project_id}/contacts/{contact_id}){
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T15:30:00.456Z",
"project_id": "PROJECT123",
"contact_update_notification": {
"contact": {
"id": "01H3333333...",
"channel_identities": [
{
"channel": "WHATSAPP",
"identity": "46732001122",
"app_id": "01H1234567..."
},
{
"channel": "SMS",
"identity": "15551234567",
"app_id": "01H1234567..."
}
],
"display_name": "John Doe",
"email": "john.doe+updated@example.com",
"external_id": "customer_12345",
"metadata": "{\"tier\":\"premium\",\"last_purchase\":\"2024-06-10\"}",
"language": "EN"
}
}
}Same as CONTACT_CREATE, but represents the updated state after the change.
DELETE /v1/projects/{project_id}/contacts/{contact_id}){
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T16:00:00.789Z",
"project_id": "PROJECT123",
"contact_delete_notification": {
"contact_id": "01H3333333..."
}
}| Field | Description |
|---|---|
contact_id | ID of the deleted contact |
Note: Only the contact ID is provided; the contact is already deleted.
POST /v1/projects/{project_id}/contacts:merge){
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T17:00:00.123Z",
"project_id": "PROJECT123",
"contact_merge_notification": {
"deleted_contact_id": "01H4444444...",
"preserved_contact": {
"id": "01H3333333...",
"channel_identities": [
{
"channel": "WHATSAPP",
"identity": "46732001122",
"app_id": "01H1234567..."
},
{
"channel": "SMS",
"identity": "15551234567",
"app_id": "01H1234567..."
}
],
"display_name": "John Doe",
"email": "john.doe@example.com",
"external_id": "customer_12345",
"metadata": "",
"language": "EN"
}
}
}| Field | Description |
|---|---|
deleted_contact_id | ID of the contact that was deleted during merge |
preserved_contact | Full details of the contact that remains after merge |
deleted_contact_id to point to preserved_contact.idCONTACT_IDENTITIES_DUPLICATION{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T18:00:00.456Z",
"project_id": "PROJECT123",
"duplicated_identities_notification": {
"duplicated_channel_identities": [
{
"channel": "SMS",
"identity": "15551234567",
"app_id": "01H1234567...",
"contact_ids": ["01H3333333...", "01H4444444..."]
}
]
}
}| Field | Description |
|---|---|
duplicated_channel_identities | Array of duplicate identity entries |
channel | Channel where duplication occurred |
identity | The duplicate channel identity (e.g., phone number) |
contact_ids | Array of contact IDs sharing this identity |
external_id to link to your system's contact identifierdeleted_contact_id is permanently removedCONTACT_MERGE to resolve duplicatesskills
sinch-10dlc
references
sinch-authentication
sinch-conversation-api
sinch-elastic-sip-trunking
references
sinch-fax-api
sinch-imported-numbers-hosting-orders
references
sinch-in-app-calling
sinch-mailgun
references
sinch-mailgun-inspect
references
sinch-mailgun-optimize
references
sinch-mailgun-validate
sinch-number-lookup-api
sinch-number-order-api
sinch-numbers-api
references
sinch-porting-api
sinch-provisioning-api
sinch-sdks
sinch-verification-api