---
title: "Get profile by ID"
method: GET
path: "/v3/profiles/{profileId}"
tags: ["Profiles"]
---

# Get profile by ID

`GET /v3/profiles/{profileId}`

Retrieves detailed information about a specific sender profile within an organization, including brand and KYC information if a brand has been configured.

## Path parameters

- `profileId` string, required

## Headers

- `x-profile-id` string, uuid

## Response `200`

Profile retrieved successfully

- SentDmServicesEndpointsCustomerAPIv3ResponsesApiResponseOfProfileDetailResponse — Standard API response envelope for all v3 endpoints
  - `success` boolean — Indicates whether the request was successful
  - `data` SentDmServicesEndpointsCustomerAPIv3ResponsesProfileDetailResponse — Detailed profile response for v3 API
    - `id` string, uuid — Profile unique identifier
    - `organization_id` string, uuid, nullable — Parent organization ID
    - `name` string — Profile name
    - `email` string, nullable — Profile email (inherited from organization)
    - `icon` string, nullable — Profile icon URL
    - `description` string, nullable — Profile description
    - `short_name` string, nullable — Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces only, with at least one letter.
    - `status` string — Profile setup status: incomplete, pending_review, approved, rejected
    - `created_at` string, date-time — When the profile was created
    - `updated_at` string, date-time, nullable — When the profile was last updated
    - `allow_contact_sharing` boolean — Whether contacts are shared across profiles in the organization
    - `allow_template_sharing` boolean — Whether templates are shared across profiles in the organization
    - `inherit_contacts` boolean — Whether this profile inherits contacts from the organization
    - `inherit_templates` boolean — Whether this profile inherits templates from the organization
    - `inherit_tcr_brand` boolean — Whether this profile inherits TCR brand from the organization
    - `inherit_tcr_campaign` boolean — Whether this profile inherits TCR campaign from the organization
    - `billing_model` string — Billing model: profile, organization, or profile_and_organization
    - `sending_phone_number_profile_id` string, uuid, nullable — Reference to another profile for SMS/Telnyx configuration
    - `sending_whatsapp_number_profile_id` string, uuid, nullable — Reference to another profile for WhatsApp configuration
    - `sending_phone_number` string, nullable — Direct SMS phone number
    - `whatsapp_phone_number` string, nullable — Direct WhatsApp phone number
    - `allow_number_change_during_onboarding` boolean, nullable — Whether number changes are allowed during onboarding
    - `waba_id` string, nullable — WhatsApp Business Account ID associated with this profile. Present whether the WABA is inherited from the organization or configured directly.
    - `billing_contact` SentDmServicesEndpointsCustomerAPIv3ResponsesBillingContactResponse — Billing contact info returned in profile responses
      - `name` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `address` string, nullable
    - `brand` SentDmServicesEndpointsCustomerAPIv3ResponsesBrandsBrandWithKycResponse — Brand response with nested contact, business, and compliance sections — mirrors the request structure.
      - `id` string, uuid — Unique identifier for the brand
      - `tcr_brand_id` string, nullable — TCR brand ID (populated after TCR submission)
      - `status` 'ACTIVE' | 'INACTIVE' | 'SUSPENDED'
      - `identity_status` 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED'
      - `universal_ein` string, nullable — Universal EIN from TCR
      - `csp_id` string, nullable — CSP (Campaign Service Provider) ID
      - `submitted_to_tcr` boolean — Whether this brand has been submitted to TCR
      - `submitted_at` string, date-time, nullable — When the brand was submitted to TCR
      - `is_inherited` boolean — Whether this brand is inherited from the parent organization
      - `created_at` string, date-time — When the brand was created
      - `updated_at` string, date-time, nullable — When the brand was last updated
      - `contact` SentDmServicesEndpointsCustomerAPIv3ResponsesBrandsBrandContactResponse
        - `name` string — Primary contact name
        - `business_name` string, nullable — Business/brand name
        - `role` string, nullable — Contact's role in the business
        - `phone` string, nullable — Contact phone number in E.164 format
        - `email` string, nullable — Contact email address
        - `phone_country_code` string, nullable — Contact phone country code (e.g., "1" for US)
      - `business` SentDmServicesEndpointsCustomerAPIv3ResponsesBrandsBrandBusinessResponse
        - `legal_name` string, nullable — Legal business name
        - `tax_id` string, nullable — Tax ID/EIN number
        - `tax_id_type` string, nullable — Type of tax ID (e.g., us_ein, ca_bn)
        - `entity_type` string, nullable — Business entity type
        - `street` string, nullable — Street address
        - `city` string, nullable — City
        - `state` string, nullable — State/province code
        - `postal_code` string, nullable — Postal/ZIP code
        - `country` string, nullable — Country code (e.g., US, CA)
        - `url` string, nullable — Business website URL
        - `country_of_registration` string, nullable — Country where the business is registered
      - `compliance` SentDmServicesEndpointsCustomerAPIv3ResponsesBrandsBrandComplianceResponse
        - `vertical` 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION'
        - `brand_relationship` 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT'
        - `primary_use_case` string, nullable — Primary messaging use case description
        - `expected_messaging_volume` string, nullable — Expected daily messaging volume
        - `is_tcr_application` boolean — Whether this is a TCR (Campaign Registry) application
        - `phone_number_prefix` string, nullable — Phone number prefix for messaging (e.g., "+1")
        - `destination_countries` SentDmServicesCommonEntitiesDestinationCountry[] — List of destination countries for messaging
          - `id` string
          - `isMain` boolean
        - `notes` string, nullable — Additional notes about the business or use case
  - `error` SentDmServicesEndpointsCustomerAPIv3ResponsesApiError — Error information
    - `code` string — Machine-readable error code (e.g., "RESOURCE_001")
    - `message` string — Human-readable error message
    - `details` object, nullable — Additional validation error details (field-level errors)
    - `doc_url` string, nullable — URL to documentation about this error
  - `meta` SentDmServicesEndpointsCustomerAPIv3ResponsesApiMeta — Request and response metadata
    - `request_id` string — Unique identifier for this request (for tracing and support)
    - `timestamp` string, date-time — Server timestamp when the response was generated
    - `version` string — API version used for this request

## Other responses

- `401` — Unauthorized - Invalid API credentials
- `403` — Forbidden - User does not have access to this profile
- `404` — Profile not found
- `500` — Internal server error

---

[API](https://skmtc.net/sentdm/apis/sent-dm-api-v3.md) · [All operations](https://skmtc.net/sentdm/apis/sent-dm-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sentdm/sent-dm-api-v3/versions/c451eca46f1b/schema)
