Delete a profile
Soft deletes a sender profile. The profile will be marked as deleted but data is retained. Requires admin role in the organization.
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.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution
Response Body
application/json
application/json
curl -X DELETE "https://api.sent.dm/v3/profiles/string" \ -H "Content-Type: application/json" \ -d '{ "sandbox": false }'{
"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.1471115+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "Failed to delete 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.1471125+00:00",
"version": "v3"
}
}Update profile settings PATCH
Updates a profile's configuration and settings. Requires admin role in the organization. Only provided fields will be updated (partial update). ## Brand Management Include the optional `brand` field to create or update the brand associated with this profile. The brand holds KYC and TCR compliance data (legal business info, contact details, messaging vertical). Once a brand has been submitted to TCR it cannot be modified. Setting `inherit_tcr_brand: true` and providing `brand` in the same request is not allowed. ## 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.
Complete profile setup POST
Final step in profile compliance workflow. Validates all prerequisites (general data, brand, campaigns), connects profile to Telnyx/WhatsApp, and sets status based on configuration. The process runs in the background and calls the provided webhook URL when finished. Prerequisites: - Profile must be completed - If inheritTcrBrand=false: Profile must have existing brand - If inheritTcrBrand=true: Parent must have existing brand - If TCR application: Must have at least one campaign (own or inherited) - If inheritTcrCampaign=false: Profile should have campaigns - If inheritTcrCampaign=true: Parent must have campaigns Status Logic: - If both SMS and WhatsApp channels are missing → SUBMITTED - If TCR application and not inheriting brand/campaigns → SUBMITTED - If non-TCR with destination country (IsMain=true) → SUBMITTED - Otherwise → COMPLETED