Renew CA certificate
const url = 'http://localhost:3000/api/v1/ca-certificates/550e8400-e29b-41d4-a716-446655440000/renew';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"validityDays":365}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/api/v1/ca-certificates/550e8400-e29b-41d4-a716-446655440000/renew \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "validityDays": 365 }'Re-issues the CA certificate with the same subject and key pair, a new serial number and a new validity period (now + validityDays), signed the way the original was (by itself when self-signed, otherwise by its parent CA). The stored certificate, fingerprint and validity dates are replaced by those of the new certificate.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Example
550e8400-e29b-41d4-a716-446655440000CA Certificate UUID
Header Parameters
Section titled “Header Parameters”UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Validity of the re-issued certificate in days, starting now
Example
365Responses
Section titled “Responses”CA certificate renewed successfully
object
Unique CA certificate identifier (UUID)
Human-readable name for the CA certificate
SHA-256 fingerprint of the certificate
Whether this is a root CA certificate
Whether this is the default signing CA
Certificate validity start date
Certificate validity end date (expiration)
Date when the CA certificate was retired
Timestamp when the CA certificate was created
Full subject distinguished name
Full issuer distinguished name
Certificate serial number (hex)
Public key algorithm and size
Signature algorithm
Subject Alternative Names
PEM-encoded public certificate (safe to share)
Example
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Production Root CA", "fingerprint": "A1:B2:C3:D4:E5:F6:A1:B2:C3:D4:E5:F6:A1:B2:C3:D4:E5:F6:A1:B2:C3:D4:E5:F6:A1:B2:C3:D4:E5:F6:A1:B2", "isRoot": true, "isDefault": true, "notBefore": "2024-01-01T00:00:00Z", "notAfter": "2034-01-01T00:00:00Z", "retiredAt": "2024-06-01T00:00:00Z", "createdAt": "2024-01-01T00:00:00Z", "subject": "CN=Root CA, O=logiccloud, C=US", "issuer": "CN=Root CA, O=logiccloud, C=US", "serialNumber": "01:AB:CD:EF", "keyAlgorithm": "RSA-4096", "signatureAlgorithm": "SHA256withRSA", "subjectAltNames": [ "DNS:example.com", "IP:192.168.1.1" ], "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"}Bad Request - Cannot renew a retired CA certificate
Unauthorized - Invalid or missing authentication
Forbidden - Insufficient permissions (admin only)
CA certificate not found
Conflict - The CA was issued by a CA whose private key logiccloud orchestrate does not hold