Create a new profile
Changed onDeprecated. 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.
Request
- Base URLhttps://api.sent.dm
- URLhttps://api.sent.dm/v3/profiles
- Auth
- API key in header x-api-key
- or HTTP bearer
Headers
Unique key to ensure idempotent request processing. Must be 1-255 alphanumeric characters, hyphens, or underscores. Responses are cached for 24 hours per key per customer.
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.
Request body
Example request
{
"name": "Sales Team",
"icon": "https://example.com/sales-icon.png",
"description": "Sales department sender profile",
"short_name": "SALES",
"inherit_tcr_brand": false,
"inherit_tcr_campaign": false,
"billing_model": "profile",
"billing_contact": {
"name": "Acme Corp",
"email": "billing@acmecorp.com",
"phone": "+12025551234",
"address": "123 Main Street, New York, NY 10001, US"
},
"whatsapp_business_account": {
"waba_id": "123456789012345",
"phone_number_id": "987654321098765",
"access_token": "EAAxxxxxxxxxxxxxxx"
},
"brand": {
"contact": {
"name": "John Smith",
"businessName": "Acme Corp",
"role": "CEO",
"phone": "+12025551234",
"email": "john@acmecorp.com",
"phoneCountryCode": "1"
},
"business": {
"legalName": "Acme Corporation LLC",
"taxId": "12-3456789",
"taxIdType": "us_ein",
"entityType": "PRIVATE_PROFIT",
"street": "123 Main Street",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US",
"url": "https://acmecorp.com",
"countryOfRegistration": "US"
},
"compliance": {
"vertical": "PROFESSIONAL",
"brandRelationship": "SMALL_ACCOUNT",
"isTcrApplication": true,
"phoneNumberPrefix": "+1",
"destinationCountries": [
{
"id": "US",
"isMain": false
}
]
}
},
"payment_details": {
"card_number": "4111111111111111",
"expiry": "09/27",
"cvc": "123",
"zip_code": "10001"
},
"sandbox": false
}Response
Profile created successfully
Changes
- breaking
added
subschema #2: SentDmServicesEndpointsCustomerAPIv3ProfilesRequestsCreateProfileRequest_Propertiesto the request bodyallOflist - breaking
added to the
response propertyoneOflist for the response status - breaking
added to the
response propertyoneOflist for the response status - breaking
added to the
response propertyoneOflist for the response status - breaking
added to the
response propertyoneOflist for the response status - warning
removed
subschema #2: SentDmServicesEndpointsCustomerAPIv3RequestsCreateProfileRequest_Propertiesfrom the request bodyallOflist - info
the endpoint scheme security
BearerAuthwas added to the API - info
endpoint deprecated
- info
removed the non-success response with the status
- info
added to the
response propertyallOflist for the response status - info
added to the
response propertyallOflist for the response status - info
added to the
response propertyallOflist for the response status - info
added to the
response propertyallOflist for the response status - info
added to the
response propertyallOflist for the response status - info
removed from the
response propertyallOflist for the response status - info
removed from the
response propertyallOflist for the response status - info
removed from the
response propertyallOflist for the response status - info
removed from the
response propertyallOflist for the response status - info
removed from the
response propertyallOflist for the response status - info
removed from the
response propertyoneOflist for the response status - info
removed from the
response propertyoneOflist for the response status - info
removed from the
response propertyoneOflist for the response status - info
removed from the
response propertyoneOflist for the response status
- breaking