---
title: "Get Secondary Profile Details"
method: GET
path: "/v2/business-units/{business_unit_id}/secondary-profile/details"
tags: ["business-units"]
---

# Get Secondary Profile Details

`GET /v2/business-units/{business_unit_id}/secondary-profile/details`

## Request

- Base URL: `https://api.stuut.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stuut.ai/v2/business-units/{business_unit_id}/secondary-profile/details`
- Auth: HTTP bearer

Everything registered on the business unit's Twilio Secondary Profile — the business, its address
and its authorized representatives. Read live from Twilio on every call: we keep only the SIDs, so
there is nothing stored to serve. Roughly seven blocking round trips, so this is for an on-demand
view; the list endpoint must keep using the stored status instead.

404 when the business unit has no profile of its own — it inherits the organization's identity and
there is nothing here to show. Requires organization admin.

## Path parameters

- `business_unit_id` string, required

## Response `200`

Successful Response

- SecondaryProfileDetails: What Twilio holds on a business unit's Secondary Profile, read live. `compliance` reuses the same schema we submit with — it is the same information, and Twilio is the only record of it (`business_identity` keeps just the SIDs). Read-only, assembled per request in roughly seven blocking round trips, so this is a view-on-demand endpoint; the list endpoint must keep serving the stored status instead. `compliance` is **nullable on purpose**: that schema is a strict *write* payload (non-blank everywhere, a parseable phone, one-or-two representatives), while most existing profiles were built in the Twilio console and can hold values it would reject. A read must not 500 on data Twilio already accepted, so a profile that doesn't round-trip comes back with a status and a null body rather than an error.
  - `profile_sid` string, nullable, required
  - `status` string, nullable, required: Twilio customer-profile status.
  - `date_updated` string, date-time, nullable, required: When Twilio last changed the profile.
  - `compliance` SecondaryProfileComplianceOutput, required: Compliance details used to create a Twilio Secondary Customer Profile. Describes a legal entity, and nothing about which of our rows owns it — the same payload provisions a profile for a business unit or for the organization itself. Not stored on our side (Twilio is the source of truth); collected fresh and passed straight to Trust Hub. Twilio accepts one or two authorized representatives.
    - `cnam_display_name` string, nullable, required: Caller ID name; Twilio caps it at 15 characters
    - `business_employee_count` string, nullable, required
    - `average_business_day_call_volume` string, nullable, required
    - `legal_business_name` string, required
    - `business_type` string, required
    - `business_industry` string, required
    - `registration_id_type` string, required: e.g. EIN (US)
    - `registration_number` string, required
    - `regions_of_operation` string[], required
    - `website` string, required
    - `street_address` string, required
    - `city` string, required
    - `region` string, required: State / province
    - `postal_code` string, required
    - `iso_country` string, required
    - `email` string, required: Contact email for the profile
    - `representatives` AuthorizedRepresentative[], required
      - `first_name` string, required
      - `last_name` string, required
      - `email` string, required
      - `phone` string, phone, required: A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format
      - `title` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/stuut/apis/stuut-api.md) - [All operations](https://skmtc.dev/stuut/apis/stuut-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stuut/apis/stuut-api/revisions/ff0ad16a55ff?raw)
