---
title: Analyze Certificate
---

[Skip to content](#_top)

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

[SSL](https://developers.cloudflare.com/api/python/resources/ssl)

[Analyze](https://developers.cloudflare.com/api/python/resources/ssl/subresources/analyze)

Copy Markdown

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

---

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

# Analyze Certificate

ssl.analyze.create(AnalyzeCreateParams\*\*kwargs) -> object

POST/zones/{zone\_id}/ssl/analyze

Returns the set of hostnames, the signature algorithm, and the expiration date of the certificate.

##### 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``Access: Mutual TLS Certificates Read``SSL and Certificates Write``SSL and Certificates Read`

##### ParametersExpand Collapse

zone\_id: str

Identifier.

maxLength32

[Link to this property](<#(resource)%20ssl.analyze%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20zone_id%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)%20ssl.analyze%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)%20ssl.analyze%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)%20ssl.analyze%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)%20ssl.analyze%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20bundle_method%20%3E%20(schema)>)

certificate: Optional\[str]

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

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

##### ReturnsExpand Collapse

object

[Link to this property](<#(resource)%20ssl.analyze%20%3E%20(method)%20create%20%3E%20(network%20schema)%20%3E%20(property)%20result>)

### Analyze Certificate

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
)
analyze = client.ssl.analyze.create(
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(analyze)
```

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": {}
}
```

##### 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": {}
}
```