***

title: Registry
slug: /reference/typescript/rest/registry
description: 10DLC brand and campaign registration.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[restclient]: /docs/server-sdks/reference/typescript/rest/client

[brands]: /docs/server-sdks/reference/typescript/rest/registry/brands

[campaigns]: /docs/server-sdks/reference/typescript/rest/registry/campaigns

[orders]: /docs/server-sdks/reference/typescript/rest/registry/orders

[numbers]: /docs/server-sdks/reference/typescript/rest/registry/numbers

Manage 10DLC (10-digit long code) brand and campaign registration for A2P
(Application-to-Person) messaging compliance. The registry namespace is organized
into four sub-resources: brands, campaigns, orders, and numbers.

Access via `client.registry` on a [`RestClient`][restclient] instance.

```typescript {9}
import { RestClient } from "@signalwire/sdk";

const client = new RestClient({
  project: "your-project-id",
  token: "your-api-token",
  host: "your-space.signalwire.com"
});

const brands = await client.registry.brands.list();
for (const brand of brands.data ?? []) {
  console.log(brand.id, brand.name);
}
```

## **Sub-resources**

<CardGroup cols={3}>
  <Card title="Brands" href="/docs/server-sdks/reference/typescript/rest/registry/brands">
    10DLC brand management.
  </Card>

  <Card title="Campaigns" href="/docs/server-sdks/reference/typescript/rest/registry/campaigns">
    10DLC campaign management.
  </Card>

  <Card title="Orders" href="/docs/server-sdks/reference/typescript/rest/registry/orders">
    10DLC number assignment order management.
  </Card>

  <Card title="Numbers" href="/docs/server-sdks/reference/typescript/rest/registry/numbers">
    10DLC number assignment management.
  </Card>
</CardGroup>

<Note>
  The registry API is under the `/api/relay/rest/registry/beta` path. The
  interface may evolve as the 10DLC ecosystem matures.
</Note>