---
title: List extensions
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/go)

[Registrar](https://developers.cloudflare.com/api/go/resources/registrar)

[Extensions](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# List extensions

client.Registrar.Extensions.List(ctx, params) (\*CursorPagination\[[ExtensionListResponse](https://developers.cloudflare.com/api/go/resources/registrar#%28resource%29%20registrar.extensions%20%3E%20%28model%29%20ExtensionListResponse%20%3E%20%28schema%29)\], error)

GET/accounts/{account\_id}/registrar/extensions

Returns metadata and JSON Schema documents describing the expected input structure for registration operations on each supported extension (TLD).

This endpoint uses cursor-based pagination. Results are ordered by extension name by default. To fetch the next page, pass the `cursor`value from the `result_info` object in the response as the `cursor`query parameter in your next request. An empty `cursor` string indicates there are no more pages.

Supports HTTP conditional GET via `ETag`. Include the `ETag` value from a previous response in an `If-None-Match` header to receive a `304 Not Modified` when the data has not changed.

##### Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. [Create a token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/).

**Example:**`Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY`

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**`X-Auth-Email: user@example.com`

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**`X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194`

##### ParametersExpand Collapse 

params ExtensionListParams

AccountID param.Field\[string\]

Path param: Identifier.

maxLength32

Cursor param.Field\[string\]Optional

Query param: Opaque token from a previous response’s `result_info.cursor`. Pass this value to fetch the next page of results. Omit (or pass an empty string) for the first page.

maxLength256

Direction param.Field\[[ExtensionListParamsDirection](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20direction%20%3E%20%28schema%29)\]Optional

Query param: Sort direction for results. Defaults to ascending order.

const ExtensionListParamsDirectionAsc [ExtensionListParamsDirection](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20direction%20%3E%20%28schema%29) \= "asc"

const ExtensionListParamsDirectionDesc [ExtensionListParamsDirection](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20direction%20%3E%20%28schema%29) \= "desc"

Name param.Field\[string\]Optional

Query param: Filter extensions by exact name match. For example, `name=com` returns only the `com` extension.

PerPage param.Field\[int64\]Optional

Query param: Number of items to return per page.

maximum50

minimum1

SortBy param.Field\[[ExtensionListParamsSortBy](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20sort%5Fby%20%3E%20%28schema%29)\]Optional

Query param: Column to sort results by. Defaults to `name` when omitted.

const ExtensionListParamsSortByName [ExtensionListParamsSortBy](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20sort%5Fby%20%3E%20%28schema%29) \= "name"

const ExtensionListParamsSortByCreatedAt [ExtensionListParamsSortBy](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20sort%5Fby%20%3E%20%28schema%29) \= "created\_at"

const ExtensionListParamsSortByUpdatedAt [ExtensionListParamsSortBy](https://developers.cloudflare.com/api/go/resources/registrar/subresources/extensions/methods/list#%28resource%29%20registrar.extensions%20%3E%20%28method%29%20list%20%3E%20%28params%29%20default%20%3E%20%28param%29%20sort%5Fby%20%3E%20%28schema%29) \= "updated\_at"

##### ReturnsExpand Collapse 

type ExtensionListResponse struct{…}

Extension entry with metadata and JSON Schema documents for the registration operation.

Metadata ExtensionListResponseMetadata

Extension metadata.

Name string

The full name of the extension. For example, “co.uk”, or “uk”.

TLD string

The TLD of the extension. For example, for “co.uk”, it is “uk”. For “uk”, it is “uk”.

RegistrationSchema unknown

JSON Schema describing the expected input structure for registration operations on this extension.

### List extensions

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/registrar"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Registrar.Extensions.List(context.TODO(), registrar.ExtensionListParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}

```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "metadata": {
        "name": "name",
        "tld": "tld"
      },
      "registration_schema": {}
    }
  ],
  "success": true,
  "result_info": {
    "count": 0,
    "cursor": "cursor",
    "per_page": 0
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "metadata": {
        "name": "name",
        "tld": "tld"
      },
      "registration_schema": {}
    }
  ],
  "success": true,
  "result_info": {
    "count": 0,
    "cursor": "cursor",
    "per_page": 0
  }
}
```