# Custom Trust Store ## List Custom Origin Trust Store Details `acm.custom_trust_store.list(CustomTrustStoreListParams**kwargs) -> SyncV4PagePaginationArray[CustomTrustStore]` **get** `/zones/{zone_id}/acm/custom_trust_store` Get Custom Origin Trust Store for a Zone. ### Parameters - `zone_id: str` Identifier. - `limit: Optional[int]` Limit to the number of records returned. - `offset: Optional[int]` Offset the results - `page: Optional[float]` Page number of paginated results. - `per_page: Optional[float]` Number of records per page. ### Returns - `class CustomTrustStore: …` - `id: str` Identifier. - `certificate: str` The zone's SSL certificate or certificate and the intermediate(s). - `expires_on: datetime` When the certificate expires. - `issuer: str` The certificate authority that issued the certificate. - `signature: str` The type of hash used for the certificate. - `status: Literal["initializing", "pending_deployment", "active", 3 more]` Status of the zone's custom SSL. - `"initializing"` - `"pending_deployment"` - `"active"` - `"pending_deletion"` - `"deleted"` - `"expired"` - `updated_at: datetime` When the certificate was last modified. - `uploaded_on: datetime` When the certificate was uploaded to Cloudflare. ### 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.acm.custom_trust_store.list( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.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", "certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...\n-----END CERTIFICATE-----\n", "expires_on": "2122-10-29T16:59:47Z", "issuer": "GlobalSign", "signature": "SHA256WithRSA", "status": "active", "updated_at": "2014-01-01T05:20:00Z", "uploaded_on": "2014-01-01T05:20:00Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Upload Custom Origin Trust Store `acm.custom_trust_store.create(CustomTrustStoreCreateParams**kwargs) -> CustomTrustStore` **post** `/zones/{zone_id}/acm/custom_trust_store` Add Custom Origin Trust Store for a Zone. ### Parameters - `zone_id: str` Identifier. - `certificate: str` The zone's SSL certificate or certificate and the intermediate(s). ### Returns - `class CustomTrustStore: …` - `id: str` Identifier. - `certificate: str` The zone's SSL certificate or certificate and the intermediate(s). - `expires_on: datetime` When the certificate expires. - `issuer: str` The certificate authority that issued the certificate. - `signature: str` The type of hash used for the certificate. - `status: Literal["initializing", "pending_deployment", "active", 3 more]` Status of the zone's custom SSL. - `"initializing"` - `"pending_deployment"` - `"active"` - `"pending_deletion"` - `"deleted"` - `"expired"` - `updated_at: datetime` When the certificate was last modified. - `uploaded_on: datetime` When the certificate was uploaded to Cloudflare. ### 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 ) custom_trust_store = client.acm.custom_trust_store.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", certificate="-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...\n-----END CERTIFICATE-----\n", ) print(custom_trust_store.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", "certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...\n-----END CERTIFICATE-----\n", "expires_on": "2122-10-29T16:59:47Z", "issuer": "GlobalSign", "signature": "SHA256WithRSA", "status": "active", "updated_at": "2014-01-01T05:20:00Z", "uploaded_on": "2014-01-01T05:20:00Z" } } ``` ## Custom Origin Trust Store Details `acm.custom_trust_store.get(strcustom_origin_trust_store_id, CustomTrustStoreGetParams**kwargs) -> CustomTrustStore` **get** `/zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id}` Retrieves details about a specific certificate in the custom origin trust store, including expiration and subject information. ### Parameters - `zone_id: str` Identifier. - `custom_origin_trust_store_id: str` Identifier. ### Returns - `class CustomTrustStore: …` - `id: str` Identifier. - `certificate: str` The zone's SSL certificate or certificate and the intermediate(s). - `expires_on: datetime` When the certificate expires. - `issuer: str` The certificate authority that issued the certificate. - `signature: str` The type of hash used for the certificate. - `status: Literal["initializing", "pending_deployment", "active", 3 more]` Status of the zone's custom SSL. - `"initializing"` - `"pending_deployment"` - `"active"` - `"pending_deletion"` - `"deleted"` - `"expired"` - `updated_at: datetime` When the certificate was last modified. - `uploaded_on: datetime` When the certificate was uploaded to Cloudflare. ### 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 ) custom_trust_store = client.acm.custom_trust_store.get( custom_origin_trust_store_id="023e105f4ecef8ad9ca31a8372d0c353", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(custom_trust_store.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", "certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...\n-----END CERTIFICATE-----\n", "expires_on": "2122-10-29T16:59:47Z", "issuer": "GlobalSign", "signature": "SHA256WithRSA", "status": "active", "updated_at": "2014-01-01T05:20:00Z", "uploaded_on": "2014-01-01T05:20:00Z" } } ``` ## Delete Custom Origin Trust Store `acm.custom_trust_store.delete(strcustom_origin_trust_store_id, CustomTrustStoreDeleteParams**kwargs) -> CustomTrustStoreDeleteResponse` **delete** `/zones/{zone_id}/acm/custom_trust_store/{custom_origin_trust_store_id}` Removes a CA certificate from the custom origin trust store. Origins using certificates signed by this CA will no longer be trusted. ### Parameters - `zone_id: str` Identifier. - `custom_origin_trust_store_id: str` Identifier. ### Returns - `class CustomTrustStoreDeleteResponse: …` - `id: Optional[str]` Identifier. ### 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 ) custom_trust_store = client.acm.custom_trust_store.delete( custom_origin_trust_store_id="023e105f4ecef8ad9ca31a8372d0c353", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(custom_trust_store.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" } } ``` ## Domain Types ### Custom Trust Store - `class CustomTrustStore: …` - `id: str` Identifier. - `certificate: str` The zone's SSL certificate or certificate and the intermediate(s). - `expires_on: datetime` When the certificate expires. - `issuer: str` The certificate authority that issued the certificate. - `signature: str` The type of hash used for the certificate. - `status: Literal["initializing", "pending_deployment", "active", 3 more]` Status of the zone's custom SSL. - `"initializing"` - `"pending_deployment"` - `"active"` - `"pending_deletion"` - `"deleted"` - `"expired"` - `updated_at: datetime` When the certificate was last modified. - `uploaded_on: datetime` When the certificate was uploaded to Cloudflare. ### Custom Trust Store Delete Response - `class CustomTrustStoreDeleteResponse: …` - `id: Optional[str]` Identifier.