## Get a custom asset `client.customPages.assets.get(stringassetName, AssetGetParamsparams?, RequestOptionsoptions?): AssetGetResponse` **get** `/{accounts_or_zones}/{account_or_zone_id}/custom_pages/assets/{asset_name}` Fetches the details of a custom asset. ### Parameters - `assetName: string` The unique name of the custom asset. Can only contain letters (A-Z, a-z), numbers (0-9), and underscores (_). - `params: AssetGetParams` - `account_id?: string` The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. - `zone_id?: string` The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. ### Returns - `AssetGetResponse` - `description?: string` A short description of the custom asset. - `last_updated?: string` - `name?: string` The unique name of the custom asset. Can only contain letters (A-Z, a-z), numbers (0-9), and underscores (_). - `size_bytes?: number` The size of the asset content in bytes. - `url?: string` The URL where the asset content is fetched from. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const asset = await client.customPages.assets.get('my_custom_error_page', { account_id: 'account_id', }); console.log(asset.description); ``` #### 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" } } ], "success": true, "result": { "description": "Custom 500 error page", "last_updated": "2014-01-01T05:20:00.12345Z", "name": "my_custom_error_page", "size_bytes": 1024, "url": "https://example.com/error.html" } } ```