Get profile by ID
Retrieves detailed information about a specific sender profile within an organization, including brand and KYC information if a brand has been configured.
Path Parameters
Header Parameters
Profile UUID to scope the request to a child profile. Only organization API keys can use this header. The profile must belong to the calling organization.
uuidResponse Body
application/json
application/json
application/json
curl -X GET "https://api.sent.dm/v3/profiles/string"{
"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": "2025-12-11T21:50:50.1534402+00:00",
"updated_at": "2026-03-06T21:50:50.1534428+00:00",
"allow_contact_sharing": true,
"allow_template_sharing": false,
"inherit_contacts": true,
"inherit_templates": true,
"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": "2025-12-11T21:50:50.1534439+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",
"primary_use_case": null,
"expected_messaging_volume": null,
"is_tcr_application": true,
"phone_number_prefix": null,
"destination_countries": [
{
"id": "US",
"isMain": false
}
],
"notes": null
}
}
},
"error": null,
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-03-11T21:50:50.1534471+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "RESOURCE_014",
"message": "Profile not found",
"details": null,
"doc_url": "https://docs.sent.dm/errors/RESOURCE_014"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-03-11T21:50:50.1534502+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/errors/INTERNAL_001"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-03-11T21:50:50.1534535+00:00",
"version": "v3"
}
}List profiles in organization GET
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
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 must be linked to a WhatsApp Business Account. There are two ways to do this: **1. Inherit from organization (default)** — Omit the `whatsapp_business_account` field. The profile will share the organization's WhatsApp Business Account, which must have been set up via WhatsApp Embedded Signup. This is the recommended path for most use cases. **2. Direct credentials** — Provide a `whatsapp_business_account` object with `waba_id`, `phone_number_id`, and `access_token`. Use this when the profile needs its own independent WhatsApp Business Account. Obtain these from Meta Business Manager by creating a System User with `whatsapp_business_messaging` and `whatsapp_business_management` permissions. If the `whatsapp_business_account` field is omitted and the organization has no WhatsApp Business Account configured, the request will be rejected with HTTP 422. ## 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.