> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Brand Identity API: cross-channel trust scoring

> Consolidate cross-channel brand-trust posture across 10DLC, toll-free, WhatsApp, RCS, branded calling, and number KYC into one score and next-action list.

# Brand Identity API

Registering a brand's trust posture is normally scattered across six unrelated flows — a 10DLC brand + campaign, a toll-free verification, a WhatsApp Business verification, an RCS agent verification, branded calling (RCD/CNAM), and per-number regulatory KYC. Brand Identity doesn't replace any of those registration flows; it reads the current status of each one and rolls them into a single trust score plus a prioritized list of what to do next, so a tenant can see "how verified am I, everywhere" at a glance instead of checking six settings pages.

**Base path:** `/api/v1/brand-identity`

**Authentication:** API key (`X-API-Key`) or session JWT. Any authenticated role (`owner`, `admin`, `developer`, `viewer`) can read the status.

| Method | Path                            | Purpose                                                |
| ------ | ------------------------------- | ------------------------------------------------------ |
| `GET`  | `/api/v1/brand-identity/status` | Unified cross-channel brand-trust verification posture |

## Channels covered

Each channel is scored independently, then combined into the overall posture:

| Channel key           | Pillar    | Source                              |
| --------------------- | --------- | ----------------------------------- |
| `messaging_10dlc`     | Messaging | 10DLC brand + campaign registration |
| `messaging_toll_free` | Messaging | Toll-free verification (TFV)        |
| `branded_calling`     | Voice     | RCD / CNAM branded calling          |
| `rcs_business`        | Messaging | RCS verified business sender        |
| `whatsapp_business`   | Messaging | WhatsApp Business verification      |
| `number_regulatory`   | Voice     | Per-number regulatory KYC           |

Each channel reports one of five states: `not_started`, `in_progress`, `verified`, `action_required`, or `unavailable` (the underlying subsystem couldn't be reached this call — it degrades that one channel rather than failing the whole response).

## Response shape

```bash theme={null}
curl https://api.orbit.devotel.io/api/v1/brand-identity/status \
  -H "X-API-Key: dv_live_sk_your_key_here"
```

```json theme={null}
{
  "data": {
    "summary": {
      "applicable": 6,
      "verified": 3,
      "inProgress": 1,
      "actionRequired": 1,
      "notStarted": 1,
      "trustScore": 50,
      "overallState": "action_required"
    },
    "channels": [
      {
        "key": "messaging_10dlc",
        "label": "10DLC messaging",
        "pillar": "messaging",
        "state": "verified",
        "detail": "Brand + campaign approved",
        "reason": null,
        "verifiedAt": "2026-04-02T10:00:00.000Z",
        "manageHref": "/settings/compliance/10dlc"
      }
    ],
    "nextActions": [
      {
        "channel": "whatsapp_business",
        "label": "Complete WhatsApp Business verification",
        "href": "/settings/compliance/whatsapp",
        "priority": "urgent"
      }
    ]
  },
  "meta": { "request_id": "req_abc123", "timestamp": "2026-06-18T14:09:00.000Z" }
}
```

`trustScore` is `verified / applicable` (rounded to an integer 0–100); a channel in `unavailable` doesn't count against the score. `nextActions` is sorted so the highest-priority gaps (`urgent` before `todo`) appear first — this is what the dashboard's brand-trust widget renders directly.

## See also

* [Brand identity & trust score concept](/concepts/brand-identity-trust-score) — what the score means and how to run it in ops
* [10DLC registration guide](/guides/10dlc-registration) — register the 10DLC brand this endpoint reads status from
* [WhatsApp Business setup](/guides/whatsapp/waba-setup)
* [Numbers → regulatory preview](/numbers/regulatory-preview)
* [Compliance → sender-ID registration](/compliance/sender-id-registration)
