[Yandex Cloud documentation](../../../../../index.md) > [Yandex Identity Hub](../../../../index.md) > API reference > gRPC > [Identity Provider API](../index.md) > [Userpool](index.md) > ListDomains

# Identity Provider API, gRPC: UserpoolService.ListDomains

Lists domains for the specified userpool.

## gRPC request

**rpc ListDomains ([ListUserpoolDomainsRequest](#yandex.cloud.organizationmanager.v1.idp.ListUserpoolDomainsRequest)) returns ([ListUserpoolDomainsResponse](#yandex.cloud.organizationmanager.v1.idp.ListUserpoolDomainsResponse))**

## ListUserpoolDomainsRequest {#yandex.cloud.organizationmanager.v1.idp.ListUserpoolDomainsRequest}

```json
{
  "userpool_id": "string",
  "page_size": "int64",
  "page_token": "string",
  "filter": "string"
}
```

Request to list domains for a userpool.

#|
||Field | Description ||
|| userpool_id | **string**

Required field. ID of the userpool to list domains for.

The maximum string length in characters is 50. ||
|| page_size | **int64**

The maximum number of results per page to return.

Acceptable values are 0 to 1000, inclusive. ||
|| page_token | **string**

Page token for pagination.

The maximum string length in characters is 2000. ||
|| filter | **string**

A filter expression that filters resources listed in the response.

The maximum string length in characters is 1000. ||
|#

## ListUserpoolDomainsResponse {#yandex.cloud.organizationmanager.v1.idp.ListUserpoolDomainsResponse}

```json
{
  "domains": [
    {
      "domain": "string",
      "status": "Status",
      "status_code": "string",
      "created_at": "google.protobuf.Timestamp",
      "validated_at": "google.protobuf.Timestamp",
      "challenges": [
        {
          "created_at": "google.protobuf.Timestamp",
          "updated_at": "google.protobuf.Timestamp",
          "type": "Type",
          "status": "Status",
          // Includes only one of the fields `dns_challenge`
          "dns_challenge": {
            "name": "string",
            "type": "Type",
            "value": "string"
          }
          // end of the list of possible fields
        }
      ],
      "deletion_protection": "bool"
    }
  ],
  "next_page_token": "string"
}
```

Response message for [UserpoolService.ListDomains](#ListDomains).

#|
||Field | Description ||
|| domains[] | **[Domain](#yandex.cloud.organizationmanager.v1.idp.Domain)**

List of domains. ||
|| next_page_token | **string**

Token for getting the next page of the list. ||
|#

## Domain {#yandex.cloud.organizationmanager.v1.idp.Domain}

A domain associated with a userpool.

#|
||Field | Description ||
|| domain | **string**

Domain name. ||
|| status | enum **Status**

Current status of the domain.

- `NEED_TO_VALIDATE`: The domain needs to be validated.
- `VALIDATING`: The domain is in the process of being validated.
- `VALID`: The domain has been successfully validated.
- `INVALID`: The domain validation has failed.
- `DELETING`: The domain is in the process of being deleted. ||
|| status_code | **string**

Optional code providing details about validation errors. ||
|| created_at | **[google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp)**

Timestamp when the domain was created. ||
|| validated_at | **[google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp)**

Timestamp when the domain was validated. ||
|| challenges[] | **[DomainChallenge](#yandex.cloud.organizationmanager.v1.idp.DomainChallenge)**

List of challenges associated with this domain. ||
|| deletion_protection | **bool**

Whether the domain is protected from deletion. ||
|#

## DomainChallenge {#yandex.cloud.organizationmanager.v1.idp.DomainChallenge}

A challenge used to validate domain ownership.

#|
||Field | Description ||
|| created_at | **[google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp)**

Timestamp when the challenge was created. ||
|| updated_at | **[google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp)**

Timestamp when the challenge was last updated. ||
|| type | enum **Type**

Type of the challenge.

- `DNS_TXT`: DNS TXT record challenge. ||
|| status | enum **Status**

Current status of the challenge.

- `PENDING`: The challenge is pending verification.
- `PROCESSING`: The challenge verification is in progress.
- `VALID`: The challenge has been successfully verified.
- `INVALID`: The challenge verification has failed. ||
|| dns_challenge | **[DnsRecord](#yandex.cloud.organizationmanager.v1.idp.DomainChallenge.DnsRecord)**

DNS record challenge details.

Includes only one of the fields `dns_challenge`.

Challenge details. ||
|#

## DnsRecord {#yandex.cloud.organizationmanager.v1.idp.DomainChallenge.DnsRecord}

DNS record information for domain validation.

#|
||Field | Description ||
|| name | **string**

Name of the DNS record. ||
|| type | enum **Type**

Type of the DNS record.

- `TXT`: TXT record type. ||
|| value | **string**

Value of the DNS record. ||
|#