# Analyze ## Analyze Certificate `client.SSL.Analyze.New(ctx, params) (*AnalyzeNewResponse, error)` **post** `/zones/{zone_id}/ssl/analyze` Returns the set of hostnames, the signature algorithm, and the expiration date of the certificate. ### Parameters - `params AnalyzeNewParams` - `ZoneID param.Field[string]` Path param: Identifier. - `BundleMethod param.Field[BundleMethod]` Body param: 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. - `Certificate param.Field[string]` Body param: The zone's SSL certificate or certificate and the intermediate(s). ### Returns - `type AnalyzeNewResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/ssl" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) analyze, err := client.SSL.Analyze.New(context.TODO(), ssl.AnalyzeNewParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", analyze) } ``` #### 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": {} } ```