Set the iMessage-app integration
PUT/v1/settings/integrations/app_extensions
Sets your brand’s iMessage-app registry: the full registry in one write.
Behavior
- A present registry replaces the stored one wholly: send the complete
app set every time, never a partial update.
{"apps": {}}is a legal write meaning “this brand registers no apps”. - Icons are write-only: stored by reference, never returned. Omit an
entry’s
app_icon_b64to keep thatapp_key’s stored icon; HTTP 400secret_value_requiredwhen there is none to keep.
Set the iMessage-app integration
curl https://messages.api.linqapp.com/v1/settings/integrations/app_extensions \
-X PUT \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $LINQ_AMB_API_KEY" \
-d '{
"apps": {
"payments": {
"bid": "com.apple.messages.MSMessageExtensionBalloonPlugin:ABCDE12345:com.example.app.MessagesExtension",
"app_id": "6794029060",
"app_name": "CurbFare Payments",
"app_icon_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNgAAIAAAUAAen63NgAAAAASUVORK5CYII="
}
}
}'{
"brand_id": "biz_9f2c1a",
"display": "CurbFare",
"privacy_policy_url": "https://example.com/privacy",
"terms_of_use_url": "https://example.com/terms",
"policy_version": 3,
"support_contact": "[email protected]",
"richlink_default_image_att_id": "",
"agent_enabled": true,
"escalation_handling": "self_managed",
"escalation_handling_locked": false,
"consent_mode": "linq_managed",
"business_id": "a884eddf-b0ad-4be4-9c0e-071531638768",
"link_origin": "connect",
"managed": [
{
"name": "apple_pay_merchant",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "app_extensions",
"value": "1 registered",
"managed_by": "linq",
"set": true,
"source": "brand"
},
{
"name": "oauth",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
}
],
"app_extensions": {
"apps": {
"ride": {
"bid": "com.apple.messages.MSMessageExtensionBalloonPlugin:9BC1AB2D3E:com.curbfare.ride.imsg",
"app_id": "6440000001",
"app_name": "CurbFare Ride",
"app_icon_set": true
}
}
}
}Returns Examples
{
"brand_id": "biz_9f2c1a",
"display": "CurbFare",
"privacy_policy_url": "https://example.com/privacy",
"terms_of_use_url": "https://example.com/terms",
"policy_version": 3,
"support_contact": "[email protected]",
"richlink_default_image_att_id": "",
"agent_enabled": true,
"escalation_handling": "self_managed",
"escalation_handling_locked": false,
"consent_mode": "linq_managed",
"business_id": "a884eddf-b0ad-4be4-9c0e-071531638768",
"link_origin": "connect",
"managed": [
{
"name": "apple_pay_merchant",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "app_extensions",
"value": "1 registered",
"managed_by": "linq",
"set": true,
"source": "brand"
},
{
"name": "oauth",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
}
],
"app_extensions": {
"apps": {
"ride": {
"bid": "com.apple.messages.MSMessageExtensionBalloonPlugin:9BC1AB2D3E:com.curbfare.ride.imsg",
"app_id": "6440000001",
"app_name": "CurbFare Ride",
"app_icon_set": true
}
}
}
}