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

# Directory

> Directory interface for managing addresses

Directory interface for managing addresses

This is the public API contract for address directory functionality.
It provides access to addresses, loading capabilities, and search functionality.

## **Extends**

* `AddressProvider<Address>` (see [`Address`](/docs/browser-sdk/v4/reference/address))

## **Properties**

Current snapshot of all addresses in the directory

Observable stream of all addresses in the directory Emits a new array whenever addresses are added, removed, or updated

Observable indicating whether more addresses can be loaded from the server

Whether the directory is currently loading.

Observable indicating the current loading state Emits `true` when loading, `false` when idle

## **Methods**

### findAddressIdByURI()

```ts
findAddressIdByURI(uri): Promise<string | undefined>
```

Find an address ID by searching for a name

#### Parameters

The address name to search for

#### Returns

`Promise<string | undefined>`

Promise resolving to the address ID, or undefined if not found

***

### get()

```ts
get(addressId): Address | undefined
```

Get a specific address by ID

#### Parameters

The address ID to retrieve

#### Returns

[`Address`](/docs/browser-sdk/v4/reference/address) | `undefined`

The address instance, or undefined if not found

***

### get\$()

```ts
get$(id): Observable<Address> | undefined
```

Get an observable stream for a specific address by ID

#### Parameters

The address ID to retrieve

#### Returns

`Observable<Address> | undefined`

Observable of the address, or undefined if not found

#### Inherited from

`AddressProvider.get$`

***

### loadMore()

```ts
loadMore(): void
```

Load more addresses from the server
Only loads if `hasMore` is true

#### Returns

`void`