---
title: Create SSL Configuration
---

[Skip to content](#_top)

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

[Custom Certificates](https://developers.cloudflare.com/api/python/resources/custom_certificates)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Create SSL Configuration

custom\_certificates.create(CustomCertificateCreateParams\*\*kwargs) -> [CustomCertificate](<https://developers.cloudflare.com/api/python/resources/custom_certificates#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)>)

POST/zones/{zone\_id}/custom\_certificates

Upload a new SSL certificate for a zone.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



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

**Example:**<code>X-Auth-Email: user@example.com</code>

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

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### Accepted Permissions (at least one required)

`Access: Mutual TLS Certificates Write``SSL and Certificates Write`

##### ParametersExpand Collapse

zone\_id: str

Identifier.

maxLength32

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20zone_id%20%3E%20(schema)>)

certificate: str

The zone’s SSL certificate or certificate and the intermediate(s).

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20certificate%20%3E%20(schema)>)

<details>

<summary>

bundle\_method: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/custom_hostnames#(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)">BundleMethod</a>]

A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.

</summary>

One of the following:

"ubiquitous"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20bundle_method%20%3E%20(schema)%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"optimal"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20bundle_method%20%3E%20(schema)%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

"force"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20bundle_method%20%3E%20(schema)%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

</details>

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20bundle_method%20%3E%20(schema)>)

custom\_csr\_id: Optional\[str]

The identifier for the Custom CSR that was used.

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20custom_csr_id%20%3E%20(schema)>)

<details>

<summary>

deploy: Optional\[Literal\["staging", "production"]]

The environment to deploy the certificate to, defaults to production.

</summary>

One of the following:

"staging"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20deploy%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"production"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20deploy%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

</details>

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20deploy%20%3E%20(schema)>)

<details>

<summary>

geo\_restrictions: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/custom_certificates#(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)">GeoRestrictionsParam</a>]

Specify the region where your private key can be held locally for optimal TLS performance. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Options allow distribution to only to U.S. data centers, only to E.U. data centers, or only to highest security data centers. Default distribution is to all Cloudflare datacenters, for optimal performance.

</summary>

<details>

<summary>

label: Optional\[Literal\["us", "eu", "highest\_security"]]

</summary>

One of the following:

"us"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20geo_restrictions%20%3E%20(schema)%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%200">Link to this property</a>

"eu"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20geo_restrictions%20%3E%20(schema)%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%201">Link to this property</a>

"highest\_security"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20geo_restrictions%20%3E%20(schema)%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20geo_restrictions%20%3E%20(schema)%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label">Link to this property</a>

</details>

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20geo_restrictions%20%3E%20(schema)>)

policy: Optional\[str]

Specify the policy that determines the region where your private key will be held locally. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Any combination of countries, specified by their two letter country code ([https://en.wikipedia.org/wiki/ISO\_3166-1\_alpha-2#Officially\_assigned\_code\_elements](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)) can be chosen, such as ‘country: IN’, as well as ‘region: EU’ which refers to the EU region. If there are too few data centers satisfying the policy, it will be rejected. Note: The API accepts this field as either “policy” or “policy\_restrictions” in requests. Responses return this field as “policy\_restrictions”.

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20policy%20%3E%20(schema)>)

private\_key: Optional\[str]

The zone’s private key. Not required if custom\_csr\_id is provided, in which case the private key is retrieved from the CSR record held by Cloudflare.

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20private_key%20%3E%20(schema)>)

<details>

<summary>

type: Optional\[Literal\["legacy\_custom", "sni\_custom"]]

The type ‘legacy\_custom’ enables support for legacy clients which do not include SNI in the TLS handshake.

</summary>

One of the following:

"legacy\_custom"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"sni\_custom"

<a href="#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

</details>

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%3E%20(schema)>)

##### ReturnsExpand Collapse

<details>

<summary>

class CustomCertificate: …

</summary>

id: str

Custom certificate identifier tag.

maxLength36

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

zone\_id: str

Identifier.

maxLength32

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20zone_id">Link to this property</a>

<details>

<summary>

bundle\_method: Optional\[BundleMethod]

A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.

</summary>

One of the following:

"ubiquitous"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20bundle_method%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"optimal"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20bundle_method%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

"force"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20bundle_method%20%2B%20(resource)%20custom_hostnames%20%3E%20(model)%20bundle_method%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20bundle_method">Link to this property</a>

custom\_csr\_id: Optional\[str]

The identifier for the Custom CSR that was used.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20custom_csr_id">Link to this property</a>

expires\_on: Optional\[datetime]

When the certificate from the authority expires.

formatdate-time

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20expires_on">Link to this property</a>

<details>

<summary>

geo\_restrictions: Optional\[GeoRestrictions]

Specify the region where your private key can be held locally for optimal TLS performance. HTTPS connections to any excluded data center will still be fully encrypted, but will incur some latency while Keyless SSL is used to complete the handshake with the nearest allowed data center. Options allow distribution to only to U.S. data centers, only to E.U. data centers, or only to highest security data centers. Default distribution is to all Cloudflare datacenters, for optimal performance.

</summary>

<details>

<summary>

label: Optional\[Literal\["us", "eu", "highest\_security"]]

</summary>

One of the following:

"us"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20geo_restrictions%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%200">Link to this property</a>

"eu"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20geo_restrictions%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%201">Link to this property</a>

"highest\_security"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20geo_restrictions%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20geo_restrictions%20%2B%20(resource)%20custom_certificates%20%3E%20(model)%20geo_restrictions%20%3E%20(schema)%20%3E%20(property)%20label">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20geo_restrictions">Link to this property</a>

hosts: Optional\[List\[str]]

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20hosts">Link to this property</a>

issuer: Optional\[str]

The certificate authority that issued the certificate.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20issuer">Link to this property</a>

<details>

<summary>

keyless\_server: Optional\[KeylessCertificate]

</summary>

id: str

Keyless certificate identifier tag.

maxLength32

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

created\_on: datetime

When the Keyless SSL was created.

formatdate-time

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20created_on">Link to this property</a>

enabled: bool

Whether or not the Keyless SSL is on or off.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20enabled">Link to this property</a>

host: str

The keyless SSL name.

formathostname

maxLength253

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20host">Link to this property</a>

modified\_on: datetime

When the Keyless SSL was last modified.

formatdate-time

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20modified_on">Link to this property</a>

name: str

The keyless SSL name.

maxLength180

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

permissions: List\[str]

Available permissions for the Keyless SSL for the current user requesting the item.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20permissions">Link to this property</a>

port: float

The keyless SSL port used to communicate between Cloudflare and the client’s Keyless SSL server.

maxLength65535

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20port">Link to this property</a>

<details>

<summary>

status: Literal\["active", "deleted"]

Status of the Keyless SSL.

</summary>

One of the following:

"active"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

"deleted"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

<details>

<summary>

tunnel: Optional\[Tunnel]

Configuration for using Keyless SSL through a Cloudflare Tunnel.

</summary>

private\_ip: str

Private IP of the Key Server Host.

<a href="#(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20tunnel%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20tunnel%20%3E%20(schema)%20%3E%20(property)%20private_ip">Link to this property</a>

vnet\_id: str

Cloudflare Tunnel Virtual Network ID.

<a href="#(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20tunnel%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20tunnel%20%3E%20(schema)%20%3E%20(property)%20vnet_id">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server%20%2B%20(resource)%20keyless_certificates%20%3E%20(model)%20keyless_certificate%20%3E%20(schema)%20%3E%20(property)%20tunnel">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20keyless_server">Link to this property</a>

modified\_on: Optional\[datetime]

When the certificate was last modified.

formatdate-time

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20modified_on">Link to this property</a>

policy\_restrictions: Optional\[str]

The policy restrictions returned by the API. This field is returned in responses when a policy has been set. The API accepts the “policy” field in requests but returns this field as “policy\_restrictions” in responses.

Specifies the region(s) where your private key can be held locally for optimal TLS performance. Format is a boolean expression, for example: “(country: US) or (region: EU)”

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20policy_restrictions">Link to this property</a>

priority: Optional\[float]

The order/priority in which the certificate will be used in a request. The higher priority will break ties across overlapping ‘legacy\_custom’ certificates, but ‘legacy\_custom’ certificates will always supercede ‘sni\_custom’ certificates.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20priority">Link to this property</a>

signature: Optional\[str]

The type of hash used for the certificate.

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20signature">Link to this property</a>

<details>

<summary>

status: Optional\[Literal\["active", "expired", "deleted", 2 more]]

Status of the zone’s custom SSL.

</summary>

One of the following:

"active"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

"expired"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

"deleted"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%202">Link to this property</a>

"pending"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%203">Link to this property</a>

"initializing"

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%204">Link to this property</a>

</details>

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

uploaded\_on: Optional\[datetime]

When the certificate was uploaded to Cloudflare.

formatdate-time

<a href="#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)%20%3E%20(property)%20uploaded_on">Link to this property</a>

</details>

[Link to this property](<#(resource)%20custom_certificates%20%3E%20(model)%20custom_certificate%20%3E%20(schema)>)

### Create SSL Configuration

Python

HTTPTypeScriptPythonGoTerraform

```
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_certificate = client.custom_certificates.create(
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
    certificate="-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5\n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----\n",
)
print(custom_certificate.id)
```

200 example

```
{
  "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": "2458ce5a-0c35-4c7f-82c7-8e9487d3ff60",
    "zone_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "bundle_method": "ubiquitous",
    "custom_csr_id": "7b163417-1d2b-4c84-a38a-2fb7a0cd7752",
    "expires_on": "2016-01-01T05:20:00Z",
    "geo_restrictions": {
      "label": "us"
    },
    "hosts": [
      "example.com"
    ],
    "issuer": "GlobalSign",
    "keyless_server": {
      "id": "4d2844d2ce78891c34d0b6c0535a291e",
      "created_on": "2014-01-01T05:20:00Z",
      "enabled": false,
      "host": "example.com",
      "modified_on": "2014-01-01T05:20:00Z",
      "name": "example.com Keyless SSL",
      "permissions": [
        "#ssl:read",
        "#ssl:edit"
      ],
      "port": 24008,
      "status": "active",
      "tunnel": {
        "private_ip": "10.0.0.1",
        "vnet_id": "7365377a-85a4-4390-9480-531ef7dc7a3c"
      }
    },
    "modified_on": "2014-01-01T05:20:00Z",
    "policy_restrictions": "(country: US) or (region: EU)",
    "priority": 1,
    "signature": "SHA256WithRSA",
    "status": "active",
    "uploaded_on": "2014-01-01T05:20:00Z"
  }
}
```

##### Returns Examples

200 example

```
{
  "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": "2458ce5a-0c35-4c7f-82c7-8e9487d3ff60",
    "zone_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "bundle_method": "ubiquitous",
    "custom_csr_id": "7b163417-1d2b-4c84-a38a-2fb7a0cd7752",
    "expires_on": "2016-01-01T05:20:00Z",
    "geo_restrictions": {
      "label": "us"
    },
    "hosts": [
      "example.com"
    ],
    "issuer": "GlobalSign",
    "keyless_server": {
      "id": "4d2844d2ce78891c34d0b6c0535a291e",
      "created_on": "2014-01-01T05:20:00Z",
      "enabled": false,
      "host": "example.com",
      "modified_on": "2014-01-01T05:20:00Z",
      "name": "example.com Keyless SSL",
      "permissions": [
        "#ssl:read",
        "#ssl:edit"
      ],
      "port": 24008,
      "status": "active",
      "tunnel": {
        "private_ip": "10.0.0.1",
        "vnet_id": "7365377a-85a4-4390-9480-531ef7dc7a3c"
      }
    },
    "modified_on": "2014-01-01T05:20:00Z",
    "policy_restrictions": "(country: US) or (region: EU)",
    "priority": 1,
    "signature": "SHA256WithRSA",
    "status": "active",
    "uploaded_on": "2014-01-01T05:20:00Z"
  }
}
```