Skip to content
Start here

Upload Custom Origin Trust Store

client.ACM.CustomTrustStore.New(ctx, params) (*CustomTrustStore, error)
POST/zones/{zone_id}/acm/custom_trust_store

Add Custom Origin Trust Store for a Zone.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

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

Example:X-Auth-Email: user@example.com

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

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
SSL and Certificates Write
ParametersExpand Collapse
params CustomTrustStoreNewParams
ZoneID param.Field[string]

Path param: Identifier.

maxLength32
Certificate param.Field[string]

Body param: The zone's SSL certificate or certificate and the intermediate(s).

ReturnsExpand Collapse
type CustomTrustStore struct{…}
ID string

Identifier.

maxLength32
Certificate string

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

ExpiresOn Time

When the certificate expires.

formatdate-time
Issuer string

The certificate authority that issued the certificate.

Signature string

The type of hash used for the certificate.

Status CustomTrustStoreStatus

Status of the zone's custom SSL.

One of the following:
const CustomTrustStoreStatusInitializing CustomTrustStoreStatus = "initializing"
const CustomTrustStoreStatusPendingDeployment CustomTrustStoreStatus = "pending_deployment"
const CustomTrustStoreStatusActive CustomTrustStoreStatus = "active"
const CustomTrustStoreStatusPendingDeletion CustomTrustStoreStatus = "pending_deletion"
const CustomTrustStoreStatusDeleted CustomTrustStoreStatus = "deleted"
const CustomTrustStoreStatusExpired CustomTrustStoreStatus = "expired"
UpdatedAt Time

When the certificate was last modified.

formatdate-time
UploadedOn Time

When the certificate was uploaded to Cloudflare.

formatdate-time

Upload Custom Origin Trust Store

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/acm"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  customTrustStore, err := client.ACM.CustomTrustStore.New(context.TODO(), acm.CustomTrustStoreNewParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    Certificate: cloudflare.F("-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...\n-----END CERTIFICATE-----\n"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", customTrustStore.ID)
}
{
  "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"
  }
}
Returns Examples
{
  "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"
  }
}