## List Certificate Packs `client.ssl.certificatePacks.list(CertificatePackListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/zones/{zone_id}/ssl/certificate_packs` For a given zone, list all active certificate packs. ### Parameters - `params: CertificatePackListParams` - `zone_id: string` Path param: Identifier. - `deploy?: "staging" | "production"` Query param: Specify the deployment environment for the certificate packs. - `"staging"` - `"production"` - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Number of certificate packs per page. - `status?: "all"` Query param: Include Certificate Packs of all statuses, not just active ones. - `"all"` ### Returns - `CertificatePackListResponse` A certificate pack with all its properties. - `id: string` Identifier. - `certificates: Array` Array of certificates in this pack. - `id: string` Certificate identifier. - `hosts: Array` Hostnames covered by this certificate. - `status: string` Certificate status. - `bundle_method?: string` Certificate bundle method. - `expires_on?: string` When the certificate from the authority expires. - `geo_restrictions?: GeoRestrictions` Specify the region where your private key can be held locally. - `label?: "us" | "eu" | "highest_security"` - `"us"` - `"eu"` - `"highest_security"` - `issuer?: string` The certificate authority that issued the certificate. - `modified_on?: string` When the certificate was last modified. - `priority?: number` The order/priority in which the certificate will be used. - `signature?: string` The type of hash used for the certificate. - `uploaded_on?: string` When the certificate was uploaded to Cloudflare. - `zone_id?: string` Identifier. - `hosts: Array` Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty. - `status: Status` Status of certificate pack. - `"initializing"` - `"pending_validation"` - `"deleted"` - `"pending_issuance"` - `"pending_deployment"` - `"pending_deletion"` - `"pending_expiration"` - `"expired"` - `"active"` - `"initializing_timed_out"` - `"validation_timed_out"` - `"issuance_timed_out"` - `"deployment_timed_out"` - `"deletion_timed_out"` - `"pending_cleanup"` - `"staging_deployment"` - `"staging_active"` - `"deactivating"` - `"inactive"` - `"backup_issued"` - `"holding_deployment"` - `type: "mh_custom" | "managed_hostname" | "sni_custom" | 5 more` Type of certificate pack. - `"mh_custom"` - `"managed_hostname"` - `"sni_custom"` - `"universal"` - `"advanced"` - `"total_tls"` - `"keyless"` - `"legacy_custom"` - `certificate_authority?: "google" | "lets_encrypt" | "ssl_com"` Certificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities) - `"google"` - `"lets_encrypt"` - `"ssl_com"` - `cloudflare_branding?: boolean` Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. - `dcv_delegation_records?: Array` DCV Delegation records for domain validation. - `cname?: string` The CNAME record hostname for DCV delegation. - `cname_target?: string` The CNAME record target value for DCV delegation. - `emails?: Array` The set of email addresses that the certificate authority (CA) will use to complete domain validation. - `http_body?: string` The content that the certificate authority (CA) will expect to find at the http_url during the domain validation. - `http_url?: string` The url that will be checked during domain validation. - `status?: string` Status of the validation record. - `txt_name?: string` The hostname that the certificate authority (CA) will check for a TXT record during domain validation . - `txt_value?: string` The TXT record that the certificate authority (CA) will check during domain validation. - `primary_certificate?: string` Identifier of the primary certificate in a pack. - `validation_errors?: Array` Domain validation errors that have been received by the certificate authority (CA). - `message?: string` A domain validation error. - `validation_method?: "txt" | "http" | "email"` Validation Method selected for the order. - `"txt"` - `"http"` - `"email"` - `validation_records?: Array` Certificates' validation records. - `cname?: string` The CNAME record hostname for DCV delegation. - `cname_target?: string` The CNAME record target value for DCV delegation. - `emails?: Array` The set of email addresses that the certificate authority (CA) will use to complete domain validation. - `http_body?: string` The content that the certificate authority (CA) will expect to find at the http_url during the domain validation. - `http_url?: string` The url that will be checked during domain validation. - `status?: string` Status of the validation record. - `txt_name?: string` The hostname that the certificate authority (CA) will check for a TXT record during domain validation . - `txt_value?: string` The TXT record that the certificate authority (CA) will check during domain validation. - `validity_days?: 14 | 30 | 90 | 365` Validity Days selected for the order. - `14` - `30` - `90` - `365` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const certificatePackListResponse of client.ssl.certificatePacks.list({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(certificatePackListResponse.id); } ``` #### 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": [ { "id": "023e105f4ecef8ad9ca31a8372d0c353", "certificates": [ { "id": "7e7b8deba8538af625850b7b2530034c", "hosts": [ "example.com", "*.example.com" ], "status": "active", "bundle_method": "ubiquitous", "expires_on": "2024-01-01T00:00:00Z", "geo_restrictions": { "label": "us" }, "issuer": "Let's Encrypt", "modified_on": "2014-01-01T05:20:00Z", "priority": 0, "signature": "ECDSAWithSHA256", "uploaded_on": "2014-01-01T05:20:00Z", "zone_id": "023e105f4ecef8ad9ca31a8372d0c353" } ], "hosts": [ "example.com", "*.example.com", "www.example.com" ], "status": "initializing", "type": "universal", "certificate_authority": "lets_encrypt", "cloudflare_branding": false, "dcv_delegation_records": [ { "cname": "_acme-challenge.example.com", "cname_target": "dcv.cloudflare.com", "emails": [ "administrator@example.com", "webmaster@example.com" ], "http_body": "ca3-574923932a82475cb8592200f1a2a23d", "http_url": "http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt", "status": "pending", "txt_name": "_acme-challenge.app.example.com", "txt_value": "810b7d5f01154524b961ba0cd578acc2" } ], "primary_certificate": "7e7b8deba8538af625850b7b2530034c", "validation_errors": [ { "message": "SERVFAIL looking up CAA for app.example.com" } ], "validation_method": "txt", "validation_records": [ { "cname": "_acme-challenge.example.com", "cname_target": "dcv.cloudflare.com", "emails": [ "administrator@example.com", "webmaster@example.com" ], "http_body": "ca3-574923932a82475cb8592200f1a2a23d", "http_url": "http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt", "status": "pending", "txt_name": "_acme-challenge.app.example.com", "txt_value": "810b7d5f01154524b961ba0cd578acc2" } ], "validity_days": 14 } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ```