Get profile by ID
Deprecated. This endpoint is replaced by /v3/sender-profiles and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use /v3/sender-profiles, which models a profile's markets, compliance, brand, campaigns and billing explicitly.
Retrieves detailed information about a specific sender profile within an organization, including brand and KYC information if a brand has been configured.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v3/profiles/770e8400-e29b-41d4-a716-446655440002"{
"success": true,
"data": {
"id": "770e8400-e29b-41d4-a716-446655440002",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Sales Team",
"email": "team@acme.com",
"icon": "https://example.com/sales-icon.png",
"description": "Sales department sender profile",
"short_name": "SALES",
"status": "approved",
"created_at": "2026-06-14T20:45:13.0022988+00:00",
"updated_at": "2026-09-09T20:45:13.0023005+00:00",
"allow_contact_sharing": false,
"allow_template_sharing": false,
"inherit_contacts": false,
"inherit_templates": false,
"inherit_tcr_brand": false,
"inherit_tcr_campaign": false,
"billing_model": "profile",
"sending_phone_number_profile_id": null,
"sending_whatsapp_number_profile_id": null,
"sending_phone_number": null,
"whatsapp_phone_number": null,
"allow_number_change_during_onboarding": null,
"waba_id": null,
"billing_contact": null,
"brand": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tcr_brand_id": null,
"status": null,
"identity_status": null,
"universal_ein": null,
"csp_id": null,
"submitted_to_tcr": false,
"submitted_at": null,
"is_inherited": false,
"created_at": "2026-06-14T20:45:13.0023013+00:00",
"updated_at": null,
"contact": {
"name": "John Smith",
"business_name": "Acme Corp",
"role": null,
"phone": null,
"email": "john@acmecorp.com",
"phone_country_code": null
},
"business": {
"legal_name": "Acme Corporation LLC",
"tax_id": null,
"tax_id_type": null,
"entity_type": null,
"street": null,
"city": null,
"state": null,
"postal_code": null,
"country": "US",
"url": null,
"country_of_registration": null
},
"compliance": {
"vertical": "PROFESSIONAL",
"brand_relationship": "SMALL_ACCOUNT",
"is_tcr_application": true,
"phone_number_prefix": null,
"destination_countries": [
{
"id": "US",
"isMain": false
}
],
"notes": null,
"primary_use_case": null
}
}
},
"error": null,
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-14T20:45:13.002303+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "RESOURCE_014",
"message": "Profile not found",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-14T20:45:13.002305+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "Failed to retrieve profile. Please contact support with request ID: req_7X9zKp2jDw",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-09-14T20:45:13.002306+00:00",
"version": "v3"
}
}List profiles in organization GET
**Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use `/v3/sender-profiles`, which models a profile's markets, compliance, brand, campaigns and billing explicitly. Retrieves all sender profiles within an organization, including brand information for each profile. Profiles represent different brands, departments, or use cases within an organization, each with their own messaging configuration.
Create a new profile POST
**Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be removed in a future release. It still behaves exactly as before, so nothing needs to change today — but new integrations should use `/v3/sender-profiles`, which models a profile's markets, compliance, brand, campaigns and billing explicitly. Creates a new sender profile within an organization. Profiles represent different brands, departments, or use cases, each with their own messaging configuration and settings. Requires admin role in the organization. ## WhatsApp Business Account Every profile owns its own WhatsApp Business Account — accounts are never shared between profiles or inherited from the organization. Provide a `whatsapp_business_account` object with `waba_id`, `phone_number_id`, and `access_token`. Obtain these from Meta Business Manager by creating a System User with `whatsapp_business_messaging` and `whatsapp_business_management` permissions. Omit the field and the profile is created without WhatsApp, staying incomplete until it has an account of its own. ## Brand Include the optional `brand` field to create the brand for this profile at the same time. Cannot be used when `inherit_tcr_brand` is `true`. ## Payment Details When `billing_model` is `"profile"` or `"profile_and_organization"` you may include a `payment_details` object containing the card number, expiry (MM/YY), CVC, and billing ZIP code. Payment details are **never stored** on our servers and are forwarded directly to the payment processor. Providing `payment_details` when `billing_model` is `"organization"` is not allowed.