---
title: "DigiCert Private CA API"
source_url: https://dev.digicert.com/digicert-private-ca-api.html
---
DigiCert® Private CA API lets you automate the management of root and intermediate certificate authorities, configure certificate validation services, and control CA certificate lifecycle operations.
## What you can do
- **Manage CA certificates:** Create, import, and recertify root and intermediate CA certificates for your PKI hierarchy.
- **Configure validation services:** Set up and manage CRLs (Certificate Revocation Lists) and OCSP (Online Certificate Status Protocol) responders.
- **Manage certificate templates:** Create and configure custom certificate templates to define certificate profiles.
- **Control CA lifecycle:** Revoke and reinstate CA certificates with approval workflows.
- **Monitor operations:** Query audit logs to track CA certificate operations and configuration changes.
## Authentication
| Method | Best for | How it works |
| --- | --- | --- |
| **API token** *(default)* | CI/CD pipelines, backend services | Add the *service user* API token in the `x-api-key` request header. |
| **Mutual TLS (mTLS)** | High-assurance, network-restricted, or key-rotation-averse environments | Present a client TLS certificate and prepend `clientauth.` to the hostname. See [Set up service user multi-factor authentication](https://dev.digicert.com/md/account-manager-api/tutorials/set-up-service-user-multi-factor-authentication.md). |
## Base URL and endpoints
DigiCert® provides both production and demo environments across four geographic regions. Each API call starts with a region-specific hostname (base URL), followed by a predictable versioned path.
| Environment | Purpose |
| --- | --- |
| **Demo** | Safe testing, proof-of-concepts |
| **Production** | Live operations |
| Segment | Description | examples |
| --- | --- | --- |
| `{hostname}` | DigiCert® ONE hostname | `one.digicert.com`
`demo.one.digicert.com`
`one.digicert.co.jp` |
| `{product}` | DigiCert® ONE product-specific path segment | `/certificate-authority` (DigiCert Private CA) |
| `api/v{n}` | API version | `/api/v1` |
| `{resource}` | Specific endpoint path | `/ca`
`/ca/{id}`
`/crl`
`/ocsp-responder`
`/template` |
## CA certificate types
DigiCert Private CA supports multiple CA certificate types based on how the CA’s private key is hosted and managed.
| Type | Description | Use case |
| --- | --- | --- |
| **Online** | Private key stored in DigiCert® ONE HSM; certificate operations fully automated | High-volume automated certificate issuance |
| **Offline** | Private key stored externally; certificate signing happens outside DigiCert® ONE | Maximum security for root CAs; air-gapped operations |
| **External** | CA certificate issued by an external CA but managed in DigiCert® ONE | Integration with existing PKI hierarchies |
| **Third-party** | CA certificate from external sources used for validation purposes | Trust store management |
When creating a CA certificate, specify the `hosted_type` to define how the CA’s private key will be managed.
## CA certificate lifecycle
CA certificates in DigiCert Private CA can exist in different states that control their operational status.
| State | Description | Can issue certificates? |
| --- | --- | --- |
| **Active** | CA is fully operational | Yes |
| **Pending sign** | CA CSR created but not yet signed; applies to offline CAs awaiting external signing | No |
| **Disabled** | CA temporarily deactivated; certificate issuance blocked | No |
Use revocation and reinstatement workflows to permanently revoke or restore previously revoked CA certificates. These operations require approval through request/approval endpoints.
## Roles and permissions
Assigned roles determine a user’s permissions. Roles are manager-specific and provide a granular permission structure.
Use the `/account/api/v1/role` endpoint to see available roles for DigiCert Private CA:
```bash
curl -X GET https://demo.one.digicert.com/account/api/v1/role?application_code=certificate_authority \
-H "x-api-key: USER_API_TOKEN" \
-H "Content-Type: application/json" | jq '.'
```
## Important considerations
- **CA hierarchies must be built bottom-up.** When creating intermediate CAs, the issuing CA must already exist in DigiCert Private CA. Import or create root CAs first, then create subordinate CAs.
- **Offline CAs require external signing.** For offline CAs, generate the CSR via API, sign it externally, then upload the signed certificate using the blob endpoint.
- **Revocation is workflow-driven.** CA certificate revocation and reinstatement require creating a request, then approving it through separate API calls. This prevents accidental revocation.
- **Configuration is hierarchical.** System-level configuration provides defaults that individual CAs can override. Configure global settings for CRL, OCSP, and AIA, then customize per-CA as needed.
- **Certificate templates define issuance profiles.** Templates specify certificate extensions, key usage, and validity periods. Assign templates to accounts to control what certificates can be issued.
## Common operations
| Method | Endpoint | Description |
| --- | --- | --- |
| POST | `/certificate-authority/api/v1/ca` | Create a new root or intermediate CA certificate |
| GET | `/certificate-authority/api/v1/ca` | List all CA certificates; use query parameters to filter by status `?status=active` |
| GET | `/certificate-authority/api/v1/ca/{id}` | Get details for the specified CA certificate |
| GET | `/certificate-authority/api/v1/ca/{id}/download` | Download a CA certificate in PEM or DER format |
| POST | `/certificate-authority/api/v1/ca/import` | Import an existing CA certificate into DigiCert Private CA |
| GET | `/certificate-authority/api/v1/ca/{id}/csr` | Retrieve the CSR for an offline CA awaiting signature |
| POST | `/certificate-authority/api/v1/ca/{id}/blob` | Upload a signed certificate for an offline CA |
| POST | `/certificate-authority/api/v1/ca/{id}/revocation-request` | Create a request to revoke a CA certificate |
| POST | `/certificate-authority/api/v1/crl` | Create a CRL configuration for a CA certificate |
| POST | `/certificate-authority/api/v1/ocsp-responder` | Create an OCSP responder for certificate status checking |
| GET | `/certificate-authority/api/v1/template` | List certificate templates; defines certificate profiles for issuance |
| GET | `/certificate-authority/api/v1/audit` | View audit logs; track CA operations and configuration changes |
## In this section
- [Tutorials](https://dev.digicert.com/md/digicert-private-ca-api/tutorials.md)
- [API reference](https://dev.digicert.com/md/digicert-private-ca-api/api-reference.md) — OpenAPI reference documentation for DigiCert® Private CA