v50

latestOpenAPI 3.0.0Proprietaryraw.githubusercontent.com2026-06-1841147599.2 KB
Profiles

Update profile settings

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.

patch/v3/profiles/{profileId}

Path parameters

profileIdstring required

Headers

Idempotency-Keystring

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.

x-profile-idstring uuid

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

sandboxboolean

Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution

namestring nullable

Profile name (optional)

iconstring nullable

Profile icon URL (optional)

descriptionstring nullable

Profile description (optional)

short_namestring nullable

Profile short name/abbreviation (optional). Must be 3–11 characters, contain only letters, numbers, and spaces, and include at least one letter. Example: "SALES", "Mkt 2", "Support1".

allow_contact_sharingboolean nullable

Whether contacts are shared across profiles (optional)

allow_template_sharingboolean nullable

Whether templates are shared across profiles (optional)

inherit_contactsboolean nullable

Whether this profile inherits contacts from organization (optional)

inherit_templatesboolean nullable

Whether this profile inherits templates from organization (optional)

inherit_tcr_brandboolean nullable

Whether this profile inherits TCR brand from organization (optional)

inherit_tcr_campaignboolean nullable

Whether this profile inherits TCR campaign from organization (optional)

billing_modelstring nullable

Billing model: profile, organization, or profile_and_organization (optional).

  • "organization": the organization's billing details are used; no profile-level billing info needed.
  • "profile": the profile is billed independently; billing_contact is required.
  • "profile_and_organization": the profile is billed first with the organization as fallback; billing_contact is required.
sending_phone_number_profile_idstring uuid nullable

Reference to another profile to use for SMS/Telnyx configuration (optional)

sending_whatsapp_number_profile_idstring uuid nullable

Reference to another profile to use for WhatsApp configuration (optional)

sending_phone_numberstring nullable

Direct phone number for SMS sending (optional)

whatsapp_phone_numberstring nullable

Direct phone number for WhatsApp sending (optional)

allow_number_change_during_onboardingboolean nullable

Whether number changes are allowed during onboarding (optional)

Example request

{
  "name": "Sales Team - Updated",
  "icon": null,
  "description": "Updated sales department sender profile",
  "short_name": "SALES",
  "allow_contact_sharing": true,
  "allow_template_sharing": null,
  "inherit_contacts": null,
  "inherit_templates": null,
  "inherit_tcr_brand": null,
  "inherit_tcr_campaign": null,
  "billing_model": "organization",
  "billing_contact": null,
  "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,
  "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",
      "primaryUseCase": "Customer notifications and appointment reminders",
      "expectedMessagingVolume": "10000",
      "isTcrApplication": true,
      "phoneNumberPrefix": "+1",
      "destinationCountries": [
        {
          "id": "US",
          "isMain": false
        }
      ],
      "notes": null
    }
  },
  "payment_details": null,
  "sandbox": false
}

Response

Profile updated successfully

successboolean

Indicates whether the request was successful