# Extensions ## List extensions `registrar_sandbox.extensions.list(ExtensionListParams**kwargs) -> SyncCursorPagination[ExtensionListResponse]` **get** `/accounts/{account_id}/registrar-sandbox/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. ### Parameters - `account_id: str` Identifier - `cursor: Optional[str]` 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. - `direction: Optional[Literal["asc", "desc"]]` Sort direction for results. Defaults to ascending order. - `"asc"` - `"desc"` - `name: Optional[str]` Filter extensions by exact name match. For example, `name=com` returns only the `com` extension. - `per_page: Optional[int]` Number of items to return per page. - `sort_by: Optional[Literal["name", "created_at", "updated_at"]]` Column to sort results by. Defaults to `name` when omitted. - `"name"` - `"created_at"` - `"updated_at"` ### Returns - `class ExtensionListResponse: …` Extension entry with metadata and JSON Schema documents for the registration operation. - `metadata: Metadata` Extension metadata - `name: str` The full name of the extension. For example, "co.uk", or "uk" - `tld: str` The tld of the extension. For example, for "co.uk", it's "uk". For "uk", it's "uk" - `registration_schema: object` JSON Schema describing the expected input structure for registration operations on this extension. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.registrar_sandbox.extensions.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.metadata) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": [ { "metadata": { "name": "name", "tld": "tld" }, "registration_schema": {} } ], "success": true, "result_info": { "count": 0, "cursor": "cursor", "per_page": 0 } } ``` ## Get extension `registrar_sandbox.extensions.get(strextension, ExtensionGetParams**kwargs) -> ExtensionGetResponse` **get** `/accounts/{account_id}/registrar-sandbox/extensions/{extension}` Returns metadata and JSON Schema documents describing the expected input structure for registration operations on a specific extension (TLD). 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. ### Parameters - `account_id: str` Identifier - `extension: str` ### Returns - `class ExtensionGetResponse: …` Extension entry with metadata and JSON Schema documents for the registration operation. - `metadata: Metadata` Extension metadata - `name: str` The full name of the extension. For example, "co.uk", or "uk" - `tld: str` The tld of the extension. For example, for "co.uk", it's "uk". For "uk", it's "uk" - `registration_schema: object` JSON Schema describing the expected input structure for registration operations on this extension. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) extension = client.registrar_sandbox.extensions.get( extension="com", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(extension.metadata) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "metadata": { "name": "name", "tld": "tld" }, "registration_schema": {} }, "success": true } ``` ## Domain Types ### Extension List Response - `class ExtensionListResponse: …` Extension entry with metadata and JSON Schema documents for the registration operation. - `metadata: Metadata` Extension metadata - `name: str` The full name of the extension. For example, "co.uk", or "uk" - `tld: str` The tld of the extension. For example, for "co.uk", it's "uk". For "uk", it's "uk" - `registration_schema: object` JSON Schema describing the expected input structure for registration operations on this extension. ### Extension Get Response - `class ExtensionGetResponse: …` Extension entry with metadata and JSON Schema documents for the registration operation. - `metadata: Metadata` Extension metadata - `name: str` The full name of the extension. For example, "co.uk", or "uk" - `tld: str` The tld of the extension. For example, for "co.uk", it's "uk". For "uk", it's "uk" - `registration_schema: object` JSON Schema describing the expected input structure for registration operations on this extension.