{
  "basePath": "/certificate-authority/api/v1",
  "definitions": {
    "model.AttributeTypeAndValue": {
      "properties": {
        "type": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "value": {}
      },
      "type": "object"
    },
    "model.CASummaryInfo": {
      "description": "CASummaryInfo model with all info",
      "properties": {
        "cert_blob": {
          "description": "Base64 encoded CA certificate blob",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "cert_type": {
          "description": "CA certificate type",
          "example": "intermediate",
          "type": "string"
        },
        "children": {
          "description": "List of child CAs",
          "items": {
            "$ref": "#/definitions/model.CASummaryInfo"
          },
          "type": "array"
        },
        "id": {
          "description": "Unique Identifier of the CA",
          "type": "string"
        },
        "name": {
          "description": "Name of the CA",
          "type": "string"
        },
        "parsed_subject": {
          "allOf": [
            {
              "$ref": "#/definitions/model.PKIXSubject"
            }
          ],
          "description": "Parsed Subject DN of the CA"
        },
        "status": {
          "description": "Status of the CA",
          "type": "string"
        },
        "subject_dn": {
          "description": "Subject DN of the CA",
          "type": "string"
        },
        "valid_from": {
          "description": "Start date of the CA certificates validity",
          "type": "string"
        },
        "valid_to": {
          "description": "End date of the CA certificates validity",
          "type": "string"
        }
      },
      "type": "object"
    },
    "model.CertificateCSVDownload": {
      "properties": {
        "commonName": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "issuerName": {
          "type": "string"
        },
        "organizationName": {
          "type": "string"
        },
        "revocationReason": {
          "type": "string"
        },
        "revokedAt": {
          "type": "string"
        },
        "serialNumber": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "validFrom": {
          "type": "string"
        },
        "validTo": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "model.DelegatedScopeRules": {
      "properties": {
        "ica_rules": {
          "additionalProperties": {
            "$ref": "#/definitions/model.ICARule"
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "model.HSMPartitionSecurityLevel": {
      "description": "Security level assigned to the HSM partition",
      "enum": [
        "level_1",
        "level_2",
        "level_3",
        "level_4"
      ],
      "type": "string",
      "x-enum-varnames": [
        "LEVEL_1",
        "LEVEL_2",
        "LEVEL_3",
        "LEVEL_4"
      ]
    },
    "model.ICARule": {
      "properties": {
        "allow_ee": {
          "type": "boolean"
        },
        "allow_intermediate": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "model.PKIXSubject": {
      "properties": {
        "common_name": {
          "type": "string"
        },
        "country": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_names": {
          "items": {
            "$ref": "#/definitions/model.AttributeTypeAndValue"
          },
          "type": "array"
        },
        "locality": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "names": {
          "items": {
            "$ref": "#/definitions/model.AttributeTypeAndValue"
          },
          "type": "array"
        },
        "organization": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "organizational_unit": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "postal_code": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "province": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "serial_number": {
          "type": "string"
        },
        "street_address": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.AIAIssuerCA": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AIAIssuerFileInfo": {
      "description": "AIAIssuerFileInfo contains basic information about an active AIA Issuer File.",
      "properties": {
        "file_name": {
          "description": "AIAissuer file name for a CA certificate",
          "type": "string"
        },
        "id": {
          "description": "AIA issuer ID for a CA certificate. 32-digit hexadecimal value",
          "example": "F0E45D43EE66019DDC950915BCD9B824",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AKIExtension": {
      "description": "The AKIExtension object represents the Authority Key Identifier (AKI) extension used in certificates to identify the public key that corresponds to the private key used to sign the certificate.",
      "properties": {
        "authority_name_serial_number": {
          "type": "boolean"
        },
        "include": {
          "description": "Data to be included in the AKI extension. This typically indicates the key identifier, authority certificate issuer, or authority certificate serial number.",
          "type": "string"
        },
        "key_identifier": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.Account": {
      "description": "Object with account deatils.",
      "properties": {
        "id": {
          "description": "Account ID (UUID)",
          "example": "0bc4edb9-fbf6-4571-8cf6-33773a296a77",
          "type": "string"
        },
        "name": {
          "description": "Name of the account.",
          "example": "Demo account",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.ActiveCRLCDPInfo": {
      "description": "An object that contains information about the Certificate Revocation List (CRL) Distribution Points (CDPs), where the CRL can be accessed.",
      "properties": {
        "cdps": {
          "description": "An array of URLs where the Certificate Revocation List (CRL) can be accessed for checking the status of a certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.ActiveCRLInfo": {
      "description": "Basic information about an active CRL for CA a certificate.",
      "properties": {
        "file_name": {
          "description": "Active CRL file name for a CA certificate.",
          "type": "string"
        },
        "file_path": {
          "description": "Path of the CRL file used for a CA certificate.",
          "type": "string"
        },
        "id": {
          "description": "Active CRL ID for a CA certificate. 32-digit hexadecimal value.",
          "example": "F0E45D43EE66019DDC950915BCD9B824",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AdditionalSettings": {
      "properties": {
        "allow_extended_validity": {
          "type": "boolean"
        },
        "allow_pkcs7_operations": {
          "type": "boolean"
        },
        "allowed_signature_algorithms": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.AdobeArchiveRevInfo": {
      "description": "The Adobe Archive Revocation Information used for handling certificate revocation data.",
      "properties": {
        "version": {
          "description": "The version number of the Adobe Archive Revocation Information.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.AdobeTimestamp": {
      "description": "The AdobeTimestamp object provides metadata and configuration details for Adobe's timestamping service, ensuring the authenticity and integrity of digital timestamps.",
      "properties": {
        "location": {
          "description": "The URL or endpoint of the timestamping service. This specifies where the timestamping requests should be directed.",
          "type": "string"
        },
        "requires_auth": {
          "description": "Indicates whether authentication is required to access the timestamping service. A value of `true` means authentication is mandatory.",
          "type": "boolean"
        },
        "version": {
          "description": "The version number of the Adobe Timestamp schema. This is used to ensure compatibility with the timestamping protocol or data format.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.AnalyticsResponse": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "script": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AttributeCertificate": {
      "properties": {
        "protected_part": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "signature": {
          "type": "string"
        },
        "signature_algorithm": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AuditLog": {
      "properties": {
        "account_id": {
          "type": "string"
        },
        "action": {
          "type": "string"
        },
        "created_date": {
          "type": "string"
        },
        "data": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "error_message": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "user_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.AutoPartitionConfig": {
      "properties": {
        "limit": {
          "description": "Limit is the maximum number of crl entries.",
          "type": "integer"
        },
        "on_size": {
          "description": "OnSize indicates whether to partition on size.",
          "type": "boolean"
        },
        "size": {
          "description": "Size is the size of each partition in kb used to convert to a Limit number.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.BasicConstraints": {
      "description": "The Basic Constraints object defines whether a certificate is for a Certificate Authority (CA) and specifies constraints on the certificate chain, such as the maximum path length.",
      "properties": {
        "ca": {
          "description": "Indicates whether the certificate is a Certificate Authority (CA) certificate. A value of `true` means the certificate can issue other certificates.",
          "type": "boolean"
        },
        "critical": {
          "description": "Indicates whether the Basic Constraints extension is marked as critical. A critical extension must be understood and processed by certificate-using systems.",
          "type": "boolean"
        },
        "path_length": {
          "description": "Specifies the maximum number of non-self-issued intermediate certificates that may follow this certificate in a certification path. If omitted or set to `null`, no limit is defined.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.BasicHSMParition": {
      "description": "Object with details about the local HSM and partition where the private key for the CA certificate is stored. Note: If you do not specify a local HSM when you submit a request to create or import a CA certificate, the private key is stored on the CA system's default HSM and partition.",
      "properties": {
        "display_name": {
          "description": "Name of the basic HSM partition.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier of the basic HSM partition.",
          "type": "string"
        },
        "partition_name": {
          "description": "Name of the HSM partition for local HSM where the private key is stored.",
          "example": "example-partition-1",
          "type": "string"
        },
        "provider_name": {
          "description": "Name of the provider for local HSM where the private key is stored.",
          "example": "safenet",
          "type": "string"
        },
        "security_level": {
          "$ref": "#/definitions/model.HSMPartitionSecurityLevel"
        }
      },
      "type": "object"
    },
    "resource.BlobUpload": {
      "description": "Object with blob upload information of the certificate.",
      "properties": {
        "blob": {
          "description": "Base64-encoded .pem .cer .crt",
          "example": "<certificate>",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAAIAIssuerConfig": {
      "description": "Object with CA certificate AIA Issuer configuration.",
      "properties": {
        "domains": {
          "description": "If include is set to yes, the domains array contains a list of objects with details about domains to include in each certificate issued by this CA certificate.",
          "items": {
            "$ref": "#/definitions/resource.CADomain"
          },
          "type": "array"
        },
        "include": {
          "description": "If yes, include AIA Issuers in all certificates issued by the CA certificate. If no, AIA Issuers are not included.",
          "type": "string"
        },
        "override_global": {
          "description": "If true, the CA certificate uses this AIA Issuer issuance configuration instead of the global AIA Issuer issuance configuration. Otherwise, false.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.CAAIAIssuerFile": {
      "properties": {
        "active": {
          "type": "boolean"
        },
        "blob": {
          "type": "string"
        },
        "ca": {
          "$ref": "#/definitions/resource.AIAIssuerCA"
        },
        "created_date": {
          "type": "string"
        },
        "file_format": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_aia_file_warning": {
          "type": "boolean"
        },
        "updated_date": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAAccountsList": {
      "properties": {
        "accounts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.CABFOrganizationIdentifier": {
      "description": "The CABF Organization Identifier object defines organizational attributes used in the Certificate Authority/Browser Forum (CABF) framework, typically related to the organization that owns or issues a certificate.",
      "properties": {
        "country": {
          "description": "The country of the organization, usually represented by the two-letter country code.",
          "type": "string"
        },
        "reference": {
          "description": "A reference identifier for the organization, often used for internal or external tracking purposes, such as an internal reference number or a registry identifier.",
          "type": "string"
        },
        "scheme": {
          "description": "The scheme or format used for the organization identifier, which can specify how the  organization is identified (e.g., DNS name, UID).",
          "type": "string"
        },
        "state": {
          "description": "The state or province in which the organization is located.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CABlobUpload": {
      "properties": {
        "blobs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.CACRLIssuanceConfig": {
      "description": "Object with CA certificate CRL issuance configuration.",
      "properties": {
        "domains": {
          "items": {
            "$ref": "#/definitions/resource.CADomain"
          },
          "type": "array"
        },
        "end_validity_years": {
          "description": "Year until when the  CA certificate CRL issuance configuration is valid.",
          "type": "integer"
        },
        "include": {
          "description": "If yes, include CRL Distribution Points (CDP) in all certificates issued by this CA certificate. If no, CDPs are not included. A CDP is a location on an LDAP directory server or Web server where a CA publishes CRLs.",
          "example": "yes",
          "type": "string"
        },
        "override_global": {
          "description": "If true, the CA certificate uses this CRL issuance configuration instead of the global CRL issuance configuration. Otherwise, false.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.CACertPolicies": {
      "properties": {
        "critical": {
          "type": "boolean"
        },
        "policies": {
          "items": {
            "$ref": "#/definitions/resource.CertPolicy"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.CACertPoliciesConfig": {
      "description": "Object with certificate policies issuance configuration for a CA certificate.",
      "properties": {
        "allowed_sources": {
          "description": "List of allowed certificate policy sources for CA certificates. If there are multiple allowed sources, they are listed in the array in the order they will be used. One or more of the following values:\n    - issuer: Copied from issuer CA certificate.\n    - template: Specified in certificate template.\n    - request: Specified in certificate request.\n    - ca_config: Specified in issuer CA certificate configuration.",
          "example": [
            "template"
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "default_policies": {
          "$ref": "#/definitions/resource.CACertPolicies"
        },
        "include": {
          "description": "Determines whether CA certificate policies are required or excluded from every certificate issued by this CA certificate.\n- yes: CA certificate policies are required in every certificate issued by this CA certificate.\n- no: CA certificate policies are excluded from every certificate issued by this CA certificate.\n- optional: Allow sources to determine whether CA certificate policies are included in certificates issued by this CA certificate.",
          "type": "string"
        },
        "override_global": {
          "description": "If true, CA certificate uses this CA certificate policies issuance configuration instead of the global CA certificate policies issuance configuration. Otherwise, false.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.CACertificate": {
      "properties": {
        "account_assignments": {
          "description": "List of objects with the name and ID of each account the CA certificate is assigned to.",
          "items": {
            "$ref": "#/definitions/resource.Account"
          },
          "type": "array"
        },
        "active_aia_issuer": {
          "$ref": "#/definitions/resource.AIAIssuerFileInfo"
        },
        "active_arl": {
          "$ref": "#/definitions/resource.ActiveCRLInfo"
        },
        "active_crl": {
          "$ref": "#/definitions/resource.ActiveCRLInfo"
        },
        "active_crl_cdps": {
          "$ref": "#/definitions/resource.ActiveCRLCDPInfo"
        },
        "active_eerl": {
          "$ref": "#/definitions/resource.ActiveCRLInfo"
        },
        "allow_unmatched_cdp": {
          "description": "use by importCA api only",
          "type": "boolean"
        },
        "blob": {
          "description": "CA certificate data encoded as a base64 string. The certificate blob is not returned when you request a list of CA certificates.",
          "example": "<certificate>",
          "type": "string"
        },
        "ca_type": {
          "description": "CA type.",
          "example": "intermediate",
          "type": "string"
        },
        "cert_type": {
          "description": "CA certificate type.",
          "example": "intermediate",
          "type": "string"
        },
        "configuration": {
          "$ref": "#/definitions/resource.CAConfig"
        },
        "create_default_aia_issuer": {
          "description": "use by importCA api only",
          "type": "boolean"
        },
        "create_default_crl": {
          "description": "use by importCA api only",
          "type": "boolean"
        },
        "create_preview_cert": {
          "description": "Indicates whether the CA certificate is a preview certificate. This is used to test the CA certificate before it is finalized.",
          "type": "boolean"
        },
        "csr": {
          "description": "A Certificate Signing Request (CSR) is a cryptographic request sent to a Certificate Authority (CA) containing the public key and organizational details for SSL/TLS certificate issuance.",
          "type": "string"
        },
        "exportable": {
          "description": "Indicates whether the CA certificate is exportable.",
          "type": "boolean"
        },
        "extensions": {
          "$ref": "#/definitions/resource.Extensions"
        },
        "hosted_type": {
          "description": "Hosting method for CA certificate private key. Possible values are\n- online: The CA certificate can be used for online certificate signing.\n- offline: The private key is managed offline.\n- external: The private key is managed by an external CA system, but this CA system issued the CA certificate.\n- third_party: The private key and CA certificate are both managed by a third party.",
          "enum": [
            "online",
            "offline",
            "external",
            "third_party"
          ],
          "example": "online",
          "type": "string"
        },
        "hsm_partition": {
          "$ref": "#/definitions/resource.BasicHSMParition"
        },
        "id": {
          "description": "ID of the CA certificate. 32-digit hexadecimal value.",
          "example": "EB46821A56387853BD473D5E182ED75F",
          "type": "string"
        },
        "is_composite_ca": {
          "description": "Indicates whether the CA certificate is PQC (Post Quantum Cryptography) composite type.",
          "type": "boolean"
        },
        "issue_types": {
          "description": "List of certificate types that the CA certificate can issue. Possible values can be customized, but the following are defined:\n- all: The CA certificate can issue all certificate types.",
          "example": [
            "private_ssl"
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "issuer": {
          "$ref": "#/definitions/resource.CAIssuer"
        },
        "key_generation": {
          "$ref": "#/definitions/resource.CAKeyGen"
        },
        "key_type": {
          "enum": [
            "rsa",
            "ecc"
          ],
          "example": "rsa",
          "type": "string"
        },
        "name": {
          "description": "CA certificate display name.",
          "example": "Test Intermediate CA",
          "type": "string"
        },
        "notification": {
          "$ref": "#/definitions/resource.Notification"
        },
        "number_of_ica": {
          "type": "integer"
        },
        "pem": {
          "description": "PEM (Privacy-Enhanced Mail) is a base64-encoded file format used to store SSL/TLS certificates, private keys, and certificate chains.",
          "type": "string"
        },
        "private_key": {
          "$ref": "#/definitions/resource.PrivateKey"
        },
        "recertification_links": {
          "description": "use on the viewCA page",
          "items": {
            "$ref": "#/definitions/resource.RecertificationLinks"
          },
          "type": "array"
        },
        "reinstate_requests": {
          "description": "Object with CA certificate reinstate request information.",
          "items": {
            "$ref": "#/definitions/resource.CertReinstateRequest"
          },
          "type": "array"
        },
        "revocation": {
          "$ref": "#/definitions/resource.CertRevocation"
        },
        "revocation_requests": {
          "description": "Object with CA certificate revocation request information.",
          "items": {
            "$ref": "#/definitions/resource.CertRevocationRequest"
          },
          "type": "array"
        },
        "serial_number": {
          "description": "CA certificate serial number.",
          "type": "string"
        },
        "signature_algorithm": {
          "description": "Signature algorithm used to sign the CA certificate.",
          "example": "sha384WithECDSA",
          "type": "string"
        },
        "status": {
          "description": "CA certificate status. Possible values:\n\t- active: CA certificate is active and can be used for certificate signing.\n\t- pending_sign: CA certificate is created but has not been signed by its issuing CA certificate. CA certificates with a status of pending_sign cannot be used for certificate signing.\n\t- disabled: CA certificate cannot be used for online certificate signing.",
          "enum": [
            "active",
            "pending_sign",
            "disabled"
          ],
          "example": "pending_sign",
          "type": "string"
        },
        "subject": {
          "$ref": "#/definitions/resource.CASubject"
        },
        "template": {
          "type": "string"
        },
        "template_id": {
          "description": "Name of the CA certificate template.",
          "type": "string"
        },
        "thumbprint_sha256": {
          "description": "SHA-256 certificate thumbprint.",
          "example": "Indicates whether the CA certificate is composite type.",
          "type": "string"
        },
        "trust_type": {
          "type": "string"
        },
        "trust_types": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "validity": {
          "$ref": "#/definitions/resource.CASValidity"
        }
      },
      "type": "object"
    },
    "resource.CAChain": {
      "description": "Object with information about a CA certificate chain.",
      "properties": {
        "certificates": {
          "description": "Object with information about a certificate in a CA certificate chain.",
          "items": {
            "$ref": "#/definitions/resource.ChainCertificate"
          },
          "type": "array"
        },
        "default": {
          "description": "Indicates whether this certificate chain is set to default.",
          "type": "boolean"
        },
        "id": {
          "description": "CA certificate chain ID. 32-digit hexadecimal value.",
          "example": "F0E45D43EE66019DDC950915BCD9B824",
          "type": "string"
        },
        "name": {
          "description": "CA certificate chain name.",
          "example": "primary",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAConfig": {
      "description": "Object with CA certificate configuration details.",
      "properties": {
        "aia_issuer": {
          "$ref": "#/definitions/resource.CAAIAIssuerConfig"
        },
        "allow_extended_validity": {
          "description": "If true, certificates issued by this CA certificate can have unlimited validity. Otherwise, false.",
          "example": true,
          "type": "boolean"
        },
        "allow_pkcs7_operations": {
          "description": "If true, enables PKCS7 operations. Otherwise, false.",
          "type": "boolean"
        },
        "allowed_signature_algorithms": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "available_signature_algorithms": {
          "description": "List of signature algorithms allowed for the CA certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "certificate_policies": {
          "$ref": "#/definitions/resource.CACertPoliciesConfig"
        },
        "chains": {
          "description": "List of objects with CA certificate chain information.",
          "items": {
            "$ref": "#/definitions/resource.CAChain"
          },
          "type": "array"
        },
        "crl": {
          "$ref": "#/definitions/resource.CACRLIssuanceConfig"
        },
        "include_all_certificates_in_crl": {
          "description": "Indicates whether all certificates issued by the CA are included in the Certificate Revocation List (CRL).",
          "type": "boolean"
        },
        "issue_end_entities": {
          "description": "If true, the CA certificate can issue end-entity certificates. Otherwise, false.",
          "type": "boolean"
        },
        "issue_ica_intermediates": {
          "description": "If true, the CA certificate can issue intermediate CA certificates. Otherwise, false.",
          "type": "boolean"
        },
        "issue_types": {
          "description": "List of issue types available for CA certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "issue_unmanaged_ca": {
          "description": "If true, the CA certificate can issue unmanaged CA certificates. Otherwise, false.",
          "type": "boolean"
        },
        "ocsp": {
          "$ref": "#/definitions/resource.CAOCSPIssuanceConfig"
        },
        "ocsp_responder": {
          "$ref": "#/definitions/resource.CAOCSPResponderConfig"
        }
      },
      "type": "object"
    },
    "resource.CADomain": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/resource.Account"
          },
          "type": "array"
        },
        "active": {
          "description": "Indicates if the CA domain is set to active.",
          "type": "boolean"
        },
        "created_date": {
          "description": "The Date when the CA domain was created.",
          "type": "string"
        },
        "id": {
          "description": "Domain ID. 32-digit hexadecimal value.",
          "example": "ECF5B620B2997C1E4DCD98D74C0AB48E",
          "type": "string"
        },
        "name": {
          "description": "Domain name.",
          "example": "aia.example.com",
          "type": "string"
        },
        "scheme": {
          "description": "Domain Scheme",
          "enum": [
            "http",
            "https",
            "ldap"
          ],
          "type": "string"
        },
        "type": {
          "description": "Type of domain.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.CAIssuanceCertConfig": {
      "properties": {
        "issue_end_entities": {},
        "issue_ica_intermediates": {},
        "issue_unmanaged_ca": {}
      },
      "type": "object"
    },
    "resource.CAIssuer": {
      "description": "Object with issuing CA certificate details. Required in requests for intermediate CA certificates. Not used in requests for root CA certificates.",
      "properties": {
        "hosted_type": {
          "description": "Hosted type of issuing CA certificate.",
          "enum": [
            "online",
            "offline",
            "third_party"
          ],
          "example": "third_party",
          "type": "string"
        },
        "id": {
          "description": "ID of the issuing CA certificate.",
          "type": "string"
        },
        "name": {
          "description": "Name of the issuing CA certificate.",
          "type": "string"
        },
        "valid_from": {
          "type": "string"
        },
        "valid_to": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAKeyGen": {
      "description": "Object with the configuration options for certificate authority (CA) key generation.",
      "properties": {
        "dilithium_key_size": {
          "description": "Key size for Dilithium.",
          "type": "string"
        },
        "ecc_curve": {
          "description": "Elliptic curve to be used for ECC key generation.",
          "type": "string"
        },
        "ecdsa_curve": {
          "description": "Elliptic curve to be used for ECC key generation.",
          "type": "string"
        },
        "falcon_key_size": {
          "description": "Key size for Falcon.",
          "type": "string"
        },
        "key_type": {
          "description": "Type of cryptographic key to generate.",
          "type": "string"
        },
        "rsa_key_bits": {
          "description": "Size of the RSA key in bits. Larger sizes provide greater security but may impact performance.",
          "type": "integer"
        },
        "sphincs_key_size": {
          "description": "Size of the SPHINCS key. This indicates the security level or parameter set for the key.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CANote": {
      "description": "Object with note associated with a CA.",
      "properties": {
        "created_date": {
          "description": "Creation date of Note.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier for the note.",
          "type": "string"
        },
        "text": {
          "description": "Content of the note.",
          "type": "string"
        },
        "user_email": {
          "description": "Email address of the user who created the note.",
          "type": "string"
        },
        "user_full_name": {
          "description": "Full name of the user who created the note.",
          "type": "string"
        },
        "user_id": {
          "description": "Unique identifier for the user.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAOCSPGenerationConfig": {
      "properties": {
        "delegated": {
          "description": "Indicates if the OCSP responder delegated service is enabled.",
          "type": "boolean"
        },
        "generation_frequency_hours": {
          "description": "Responder generation frequency (hours).",
          "example": 10,
          "type": "integer"
        },
        "include_chain": {
          "description": "Indicates if the chain configuration is enabled.",
          "type": "boolean"
        },
        "offline_cas_option": {
          "description": "Configuration for OCSP response generation for online CA certificates.",
          "enum": [
            "sign_with_ca_key_and_fallback",
            "sign_with_responder_and_fallback",
            "sign_only_with_responder",
            "sign_only_with_ca_key"
          ],
          "type": "string"
        },
        "on_demand": {
          "description": "Indicates if the OCSP configuration is available on demand.",
          "type": "boolean"
        },
        "online_cas_option": {
          "description": "Configuration for OCSP response generation for online CA certificate.",
          "enum": [
            "sign_with_ca_key_and_fallback",
            "sign_with_responder_and_fallback",
            "sign_only_with_responder",
            "sign_only_with_ca_key"
          ],
          "type": "string"
        },
        "override_global": {
          "description": "If true, the CA certificate uses this OCSP generation configuration instead of the global configuration. Otherwise, false.",
          "type": "boolean"
        },
        "response_duration_hours": {
          "description": "Response validity duration (hours).",
          "example": 10,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.CAOCSPIssuanceConfig": {
      "description": "Object with CA certificate OCSP issuance configuration.",
      "properties": {
        "domains": {
          "items": {
            "$ref": "#/definitions/resource.CADomain"
          },
          "type": "array"
        },
        "include": {
          "description": "If yes, include OCSP in all certificates issued by this CA certificate. If no, OCSP is not included.",
          "type": "string"
        },
        "override_global": {
          "description": "If true, the CA certificate uses this OCSP issuance configuration instead of the global OCSP issuance configuration. Otherwise, false.",
          "type": "boolean"
        },
        "uri_path": {
          "description": "Optional URI path for domains in the domains array. On certificates issued by this CA certificate, the full URI path for the OCSP responder is formed by appending the uri_path to the name of the domain. For example, if the domain is example.com and the uri_path field contains a value of /ocsp/path, then the full OCSP URI on issued certificates is example.com/ocsp/path.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CAOCSPResponderConfig": {
      "description": "Object with CA certificate OCSP responder configuration.",
      "properties": {
        "certificate_policies": {
          "items": {
            "$ref": "#/definitions/resource.CertPolicy"
          },
          "type": "array"
        },
        "certificate_template": {
          "$ref": "#/definitions/resource.CertTemplate"
        },
        "delete_expired_responders": {
          "description": "Indicates whether expired responders should be automatically deleted.",
          "type": "boolean"
        },
        "generation_enabled": {
          "description": "Specifies if responder certificate generation is enabled.",
          "type": "boolean"
        },
        "hsm_partition": {
          "$ref": "#/definitions/resource.BasicHSMParition"
        },
        "override_global": {
          "description": "If true, the CA certificate uses this OCSP responder configuration instead of the global OCSP responder configuration. Otherwise, false.",
          "type": "boolean"
        },
        "responder_create_within_days": {
          "description": "Number of days within which the certificate responder should be created.",
          "type": "integer"
        },
        "responder_validity_days": {
          "description": "The validity period (in days) for the responder certificate.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.CASValidity": {
      "description": "Object with the validity period of a Certificate Authority (CA) certificate.",
      "properties": {
        "duration_unit": {
          "description": "Unit of time for the duration of the CA certificate validity period",
          "type": "string"
        },
        "duration_value": {
          "description": "Value corresponding to the duration unit, representing the length of the certificate's validity period.  This field is only used during the certificate request process.",
          "type": "integer"
        },
        "valid_from": {
          "description": "Start date of the CA certificate validity period. Format is YYYY-MM-DDTHH:MM:SSZ",
          "example": "2022-12-31T12:00:00Z",
          "type": "string"
        },
        "valid_to": {
          "description": "End date of the CA certificate validity period. Format is YYYY-MM-DDTHH:MM:SSZ",
          "example": "2022-12-31T12:00:00Z",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CASubject": {
      "description": "Object with subject values for the CA certificate Subject DN. CA certificate requests only use CA subject values that are included in the CA certificate template. CA subject values that are not included in the CA certificate template are not used.",
      "properties": {
        "common_name": {
          "description": "Subject's common name.",
          "example": "www.example.com",
          "type": "string"
        },
        "country": {
          "description": "Subject country.",
          "example": "US",
          "type": "string"
        },
        "custom_attributes": {
          "description": "List of custom attributes for the subject.",
          "items": {
            "$ref": "#/definitions/resource.ValueCustomAttribute"
          },
          "type": "array"
        },
        "description": {
          "description": "CA subject description.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dn_qualifier": {
          "description": "Domain name qualifier.",
          "type": "string"
        },
        "domain_component": {
          "description": "List of available domain components.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "email": {
          "description": "CA email subject.",
          "type": "string"
        },
        "given_name": {
          "description": "List of names given to the CA subject.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locality": {
          "description": "Subject locality (city).",
          "example": "Lehi",
          "type": "string"
        },
        "organization_identifier": {
          "description": "Unique identifier assigned to the organization.",
          "type": "string"
        },
        "organization_name": {
          "description": "Subject organization name.",
          "example": "Digicert",
          "type": "string"
        },
        "organization_units": {
          "description": "Name of the subject's organization unit.",
          "example": [
            "List [ "
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "postal_code": {
          "description": "Subject postal code.",
          "example": "98765",
          "type": "string"
        },
        "product_identifier": {
          "description": "Unique identifier assigned to the product.",
          "type": "string"
        },
        "pseudonym": {
          "description": "An alias used to protect the real identity of a CA  while still enabling secure communications.",
          "type": "string"
        },
        "serial_number": {
          "description": "CA certificate serial number.",
          "type": "string"
        },
        "state": {
          "description": "Subject state or province",
          "example": "UT",
          "type": "string"
        },
        "street_address": {
          "description": "List of strings describing the subject address. Each element in the array represents a single line of the street address. List of strings describing the subject address. Each element in the array represents a single line of the street address.",
          "example": [
            "List [ "
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subject_order": {
          "description": "List of subjects is an structured order in a certificate request or a certificate itself. It defines the sequence of fields that represent the entity requesting or holding the certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "surname": {
          "description": "List of surnames for the CA subject DN.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "Title of the Subject DN.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "unique_identifier": {
          "description": "Unique identifier assigned to the subject DN.",
          "type": "string"
        },
        "unstructured_address": {
          "description": "List of strings describing the unstructured address. Each element in the array represents a single line of the unstructured address.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "unstructured_name": {
          "description": "List of the available unstructured subject DN.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "user_identifier": {
          "description": "Unique identifier of the subject DN user.",
          "type": "string"
        },
        "vendor_identifier": {
          "description": "Unique identifier of the subject DN vendor.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CMPv2": {
      "properties": {
        "protected_part": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "signature": {
          "type": "string"
        },
        "signature_algorithm": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CRLBlob": {
      "properties": {
        "blob": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "crl_id": {
          "type": "string"
        },
        "crl_number": {
          "type": "integer"
        },
        "generated_date": {
          "type": "string"
        },
        "next_update": {
          "type": "string"
        },
        "this_update": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CRLConfig": {
      "properties": {
        "auto_partition": {
          "$ref": "#/definitions/resource.AutoPartitionConfig"
        },
        "auto_partition_generation_enabled": {
          "type": "boolean"
        },
        "crl_scope": {
          "type": "string"
        },
        "generation": {
          "$ref": "#/definitions/resource.CRLGenConfig"
        },
        "generation_enabled": {
          "type": "boolean"
        },
        "master_crl_enabled": {
          "type": "boolean"
        },
        "publish_enabled": {
          "type": "boolean"
        },
        "signature_algorithm": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CRLGenConfig": {
      "properties": {
        "crl_frequency_hours": {
          "description": "GenFreqHours is an int."
        },
        "crl_validity_hours": {
          "description": "CRLValidityHours is an int."
        },
        "override_global": {
          "description": "OverrideGlobal is a bool."
        }
      },
      "type": "object"
    },
    "resource.CRLInfo": {
      "properties": {
        "active": {
          "type": "boolean"
        },
        "ca": {
          "$ref": "#/definitions/resource.CRLIssuer"
        },
        "configuration": {
          "$ref": "#/definitions/resource.CRLConfig"
        },
        "file_name": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_finalized": {
          "type": "boolean"
        },
        "last_crl_number": {
          "type": "integer"
        },
        "last_generated_date": {
          "type": "string"
        },
        "next_generate_date": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CRLInfoId": {
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CRLIssuer": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CSR": {
      "description": "PEM-encoded CSR (PKCS#10 format)",
      "properties": {
        "csr": {
          "example": "<csr>",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CaActiveStatus": {
      "properties": {
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertIssuer": {
      "description": "CertIssuer describes the issuer of the cert",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "trust_type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertOptions": {
      "properties": {
        "chain_name": {
          "description": "ChainName indicates which chain should be returned.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertPolicy": {
      "description": "Details of the mapped certificate policy.",
      "properties": {
        "cps_uri": {
          "description": "Uniform Resource Identifier (URI) where the certificate policy statement is hosted.",
          "example": "www.example.com",
          "type": "string"
        },
        "oid": {
          "description": "Certificate policy object identifier (OID).",
          "example": "1.2.6666.77",
          "type": "string"
        },
        "user_notice": {
          "description": "User notice.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertReinstateRequest": {
      "description": "Object with CA certificate reinstate request information.",
      "properties": {
        "comments": {
          "description": "Reinstate comments.",
          "example": "This certificate will be reinstated.",
          "type": "string"
        },
        "id": {
          "description": "Account ID (UUID).",
          "example": "0bc4edb9-fbf6-4571-8cf6-33773a296a77",
          "type": "string"
        },
        "requester_user_id": {
          "description": "Requester user ID.",
          "example": "00000000-0000-0000-0000-000000000000",
          "type": "string"
        },
        "requester_username": {
          "description": "Requester username.",
          "type": "string"
        },
        "reviewer_user_id": {
          "description": "Reviewer user ID.",
          "example": "00000000-0000-0000-0000-000000000000",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertRevocation": {
      "description": "Object with end entity certificate revocation information.",
      "properties": {
        "comments": {
          "description": "Revocation comments.",
          "example": "some comment",
          "type": "string"
        },
        "reason": {
          "description": "Revocation reason.",
          "example": "unspecified",
          "type": "string"
        },
        "revoke_date": {
          "description": "Revocation date.",
          "example": "2025-03-19T20:27:27Z",
          "type": "string"
        },
        "revoked": {
          "description": "If true, the certificate is revoked. Otherwise, false.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.CertRevocationRequest": {
      "properties": {
        "comments": {
          "description": "Revocation comments.",
          "type": "string"
        },
        "id": {
          "description": "Account ID (UUID).",
          "example": "0bc4edb9-fbf6-4571-8cf6-33773a296a77",
          "type": "string"
        },
        "reason": {
          "description": "Revocation reason.",
          "type": "string"
        },
        "requester_user_id": {
          "description": "Requester user ID.",
          "example": "00000000-0000-0000-0000-000000000000",
          "type": "string"
        },
        "requester_username": {
          "description": "Requester username.",
          "type": "string"
        },
        "reviewer_user_id": {
          "description": "Reviewer user ID.",
          "example": "00000000-0000-0000-0000-000000000000",
          "type": "string"
        },
        "revocation_date": {
          "description": "Revocation date.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertSubject": {
      "properties": {
        "common_name": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "custom_attributes": {
          "description": "List of custom attributes for the subject.",
          "items": {
            "$ref": "#/definitions/resource.ValueCustomAttribute"
          },
          "type": "array"
        },
        "description": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dn_qualifier": {
          "type": "string"
        },
        "domain_component": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "email": {
          "type": "string"
        },
        "given_name": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locality": {
          "type": "string"
        },
        "organization_identifier": {
          "type": "string"
        },
        "organization_name": {
          "type": "string"
        },
        "organization_units": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "postal_code": {
          "type": "string"
        },
        "product_identifier": {
          "type": "string"
        },
        "pseudonym": {
          "type": "string"
        },
        "serial_number": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "street_address": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subject_order": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "surname": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "unique_identifier": {
          "type": "string"
        },
        "unstructured_address": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "unstructured_name": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "user_identifier": {
          "type": "string"
        },
        "vendor_identifier": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertTemplate": {
      "properties": {
        "access": {
          "type": "string"
        },
        "accounts": {
          "items": {
            "$ref": "#/definitions/resource.Account"
          },
          "type": "array"
        },
        "active": {
          "description": "If true, template is active. Otherwise, false.",
          "example": true,
          "type": "boolean"
        },
        "category": {
          "type": "string"
        },
        "cert_type": {
          "description": "Type of CA certificate the template is for (root or intermediate).",
          "enum": [
            "root",
            "intermediate",
            "end_entity"
          ],
          "example": "intermediate",
          "type": "string"
        },
        "created_date": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "install_type": {
          "type": "string"
        },
        "issue_types": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "template_json": {
          "type": "string"
        },
        "trust_type": {
          "type": "string"
        },
        "updated_date": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.CertValidity": {
      "properties": {
        "duration_unit": {
          "description": "The duration fields are only use for requests.",
          "type": "string"
        },
        "duration_value": {
          "type": "integer"
        },
        "valid_from": {
          "type": "string"
        },
        "valid_to": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.Certificate": {
      "description": "resource definition of a Certificate model",
      "properties": {
        "account_assignments": {
          "items": {
            "$ref": "#/definitions/resource.Account"
          },
          "type": "array"
        },
        "account_id": {
          "type": "string"
        },
        "blob": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "cert_type": {
          "type": "string"
        },
        "chain": {
          "items": {
            "$ref": "#/definitions/resource.ChainCertificate"
          },
          "type": "array"
        },
        "csr": {
          "type": "string"
        },
        "csr_type": {
          "type": "string"
        },
        "custom_values": {
          "additionalProperties": true,
          "type": "object"
        },
        "escrow_private_key": {
          "type": "boolean"
        },
        "extensions": {
          "$ref": "#/definitions/resource.Extensions"
        },
        "hosted_type": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "issuer": {
          "$ref": "#/definitions/resource.CertIssuer"
        },
        "issuer_subject": {
          "$ref": "#/definitions/resource.CertSubject"
        },
        "key_generation": {
          "$ref": "#/definitions/resource.CAKeyGen"
        },
        "kind": {
          "type": "string"
        },
        "notification": {
          "$ref": "#/definitions/resource.Notification"
        },
        "ocsp_key_hash_alg": {
          "type": "string"
        },
        "options": {
          "allOf": [
            {
              "$ref": "#/definitions/resource.CertOptions"
            }
          ],
          "description": "Options are only used for the request."
        },
        "revocation": {
          "$ref": "#/definitions/resource.CertRevocation"
        },
        "serial_number": {
          "type": "string"
        },
        "signature_algorithm": {
          "type": "string"
        },
        "subject": {
          "$ref": "#/definitions/resource.CertSubject"
        },
        "template": {
          "type": "string"
        },
        "template_id": {
          "type": "string"
        },
        "thumbprint_sha256": {
          "type": "string"
        },
        "trust_type": {
          "type": "string"
        },
        "validity": {
          "$ref": "#/definitions/resource.CertValidity"
        }
      },
      "type": "object"
    },
    "resource.ChainCertificate": {
      "properties": {
        "blob": {
          "type": "string"
        },
        "cert_type": {
          "type": "string"
        },
        "subject": {
          "$ref": "#/definitions/resource.CASubject"
        }
      },
      "type": "object"
    },
    "resource.EEBlobUpload": {
      "properties": {
        "blob": {
          "description": "Base64-encoded .pem .cer .crt",
          "format": "base64",
          "type": "string"
        },
        "revocation": {
          "$ref": "#/definitions/resource.CertRevocation"
        }
      },
      "type": "object"
    },
    "resource.ErrorInfo": {
      "properties": {
        "message": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.ErrorResponse": {
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/resource.ErrorInfo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.EscrowClientKeyImportRequest": {
      "properties": {
        "account_id": {
          "type": "string"
        },
        "allowed_uses": {
          "description": "'signing' only",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "app_reference_id": {
          "type": "string"
        },
        "ec_point": {
          "type": "string"
        },
        "ecdsa_curve": {
          "type": "string"
        },
        "expiration_date": {
          "type": "string"
        },
        "key_alg": {
          "type": "string"
        },
        "key_label": {
          "type": "string"
        },
        "key_size": {
          "type": "integer"
        },
        "modulus": {
          "type": "string"
        },
        "partition_id": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "rsa_public_exponent": {
          "type": "integer"
        }
      },
      "required": [
        "app_reference_id",
        "partition_id",
        "provider"
      ],
      "type": "object"
    },
    "resource.EscrowClientKeyResponse": {
      "properties": {
        "app_reference_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "subject_public_key_info": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.ExtendedKeyUsage": {
      "description": "The ExtendedKeyUsage object specifies additional purposes for which the certificate's public key may be used, beyond the basic key usages defined in the certificate.",
      "properties": {
        "additional_values": {
          "description": "List of additional extended key usage values associated with the certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "critical": {
          "description": "Indicates whether the ExtendedKeyUsage extension is critical.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.Extensions": {
      "description": "List of extensions used for CA certificate.",
      "properties": {
        "adobe_archive_rev_info": {
          "$ref": "#/definitions/resource.AdobeArchiveRevInfo"
        },
        "adobe_timestamp": {
          "$ref": "#/definitions/resource.AdobeTimestamp"
        },
        "aki": {
          "$ref": "#/definitions/resource.AKIExtension"
        },
        "basic_constraints": {
          "$ref": "#/definitions/resource.BasicConstraints"
        },
        "cabf_organization_identifier": {
          "$ref": "#/definitions/resource.CABFOrganizationIdentifier"
        },
        "certificate_policies": {
          "items": {
            "$ref": "#/definitions/resource.CertPolicy"
          },
          "type": "array"
        },
        "extended_key_usage": {
          "$ref": "#/definitions/resource.ExtendedKeyUsage"
        },
        "extensions_order": {
          "description": "Ordered extension list, only used for private certiticates",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "issuer_alt_name": {
          "$ref": "#/definitions/resource.SANExtension"
        },
        "key_usage": {
          "$ref": "#/definitions/resource.KeyUsage"
        },
        "lei": {
          "$ref": "#/definitions/resource.LEIExtension"
        },
        "lei_role": {
          "$ref": "#/definitions/resource.LEIRoleExtension"
        },
        "microsoft_application_certificate_policies": {
          "$ref": "#/definitions/resource.MSApplicationCertPolicies"
        },
        "microsoft_certificate_template_name": {
          "type": "string"
        },
        "microsoft_certificate_template_v2": {
          "$ref": "#/definitions/resource.MSCertificateTemplateV2Extention"
        },
        "qc_statements": {
          "$ref": "#/definitions/resource.QCStatements"
        },
        "san": {
          "$ref": "#/definitions/resource.SANExtension"
        },
        "security_identifier": {
          "items": {
            "$ref": "#/definitions/resource.MSSecurityIdentifier"
          },
          "type": "array"
        },
        "ski": {
          "$ref": "#/definitions/resource.SKIExtension"
        },
        "ski_extension": {
          "description": "This is deprecated and should not be used but will be mapped to SKIExtension if passed in.",
          "type": "string"
        },
        "smime_capabilities": {
          "$ref": "#/definitions/resource.SMIMECapabilitiesCertPolicies"
        },
        "subject_directory_attributes": {
          "$ref": "#/definitions/resource.SubjectDirAttrs"
        }
      },
      "type": "object"
    },
    "resource.GlobalPlatform": {
      "properties": {
        "certificate_type": {
          "type": "string"
        },
        "create_certificate": {
          "type": "boolean"
        },
        "csr": {
          "type": "string"
        },
        "ecdsa": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "protected_part": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "signature": {
          "type": "string"
        },
        "signature_algorithm": {
          "type": "string"
        },
        "signature_length": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.HelperResponse": {
      "properties": {
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.ImportCRLBlob": {
      "properties": {
        "blob": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.IncludeAllCertsInCRL": {
      "properties": {
        "enabled": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.KeyUsage": {
      "description": "Key usage extensions within the X.509 certificates managed by DigiCert Private CA.",
      "properties": {
        "additional_values": {
          "description": "List of additional key usage values.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "critical": {
          "description": "Indicates whether the key usage extension is marked as critical.",
          "type": "boolean"
        },
        "skip_validation": {
          "description": "For PRIVATE certificates only - If true, allows KeyEncipherment key usage with ECC keys.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.LEIExtension": {
      "description": "LEI extension within X.509 certificates.",
      "properties": {
        "value": {
          "description": "Legal Entity Identifier (LEI) value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.LEIRoleExtension": {
      "description": "LEI Role extension within X.509 certificates.",
      "properties": {
        "value": {
          "description": "Role of the entity mapped to the Legal Entity Identifier (LEI).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.MSApplicationCertPolicies": {
      "description": "Microsoft-specific Application Certificate Policies extension within X.509 certificates.",
      "properties": {
        "additional_values": {
          "description": "List of additional application policy values that apply to the certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "critical": {
          "description": "Indicates whether the application certificate policies extension is critical.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.MSCertificateTemplateV2Extention": {
      "description": "Microsoft Certificate Template Version 2 extension.",
      "properties": {
        "major_version": {
          "description": "Major version of the Microsoft certificate template.",
          "type": "integer"
        },
        "minor_version": {
          "description": "Minor version of the Microsoft certificate template.",
          "type": "integer"
        },
        "oid": {
          "description": "OID associated with the Microsoft certificate template.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.MSSecurityIdentifier": {
      "description": "The MSSecurityIdentifier object represents a Microsoft-specific security identifier (SID) used for identifying objects or entities in security-related contexts.",
      "properties": {
        "oid": {
          "description": "OID associated with the Microsoft security identifier.",
          "type": "string"
        },
        "value": {
          "description": "Value of the security identifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.Notification": {
      "description": "Notification contains information about a notification for a certificate.",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "frequency": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "recipients": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.OCSPResponder": {
      "properties": {
        "blob": {
          "type": "string"
        },
        "created_date": {
          "type": "string"
        },
        "csr": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "csr_blob": {
          "type": "string"
        },
        "delegated_scope": {
          "allOf": [
            {
              "$ref": "#/definitions/model.DelegatedScopeRules"
            }
          ],
          "description": "NEW delegated fields"
        },
        "extensions": {
          "$ref": "#/definitions/resource.Extensions"
        },
        "hsm_provider": {
          "$ref": "#/definitions/resource.BasicHSMParition"
        },
        "id": {
          "type": "string"
        },
        "issuer": {
          "$ref": "#/definitions/resource.CAIssuer"
        },
        "key_generation": {
          "allOf": [
            {
              "$ref": "#/definitions/resource.CAKeyGen"
            }
          ],
          "description": "Create OCSP responder key type and size"
        },
        "key_name": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "notification": {
          "$ref": "#/definitions/resource.Notification"
        },
        "private_key": {
          "$ref": "#/definitions/resource.PrivateKey"
        },
        "responder_type": {
          "description": "\"normal\" \"external\" or \"delegated\"",
          "type": "string"
        },
        "serial_number": {
          "type": "string"
        },
        "signature_algorithm": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "updated_date": {
          "type": "string"
        },
        "validity": {
          "$ref": "#/definitions/resource.CertValidity"
        },
        "validity_truncate": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.PKCS7Attribute": {
      "properties": {
        "oid": {
          "type": "string"
        },
        "raw_value": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "simple_value": {
          "type": "string"
        },
        "value_type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.PKCS7ParseRequest": {
      "properties": {
        "pkcs7": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.PKCS7SignResponse": {
      "properties": {
        "pkcs7": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.PKCS7Signer": {
      "properties": {
        "authenticated_attributes": {
          "items": {
            "$ref": "#/definitions/resource.PKCS7Attribute"
          },
          "type": "array"
        },
        "certificate": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "signature_algorithm": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.PaginationResult": {
      "description": "Models the pagination results for a list of some object",
      "properties": {
        "items": {
          "description": "List of objects",
          "type": "object"
        },
        "limit": {
          "description": "Number of items included in the results.",
          "example": 1,
          "type": "integer"
        },
        "offset": {
          "description": "Zero-based offset index of the first item in the results.",
          "type": "integer"
        },
        "total": {
          "description": "Total number of items in the results.",
          "example": 1,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "resource.ParsedPKCS7": {
      "properties": {
        "content_data": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "content_type": {
          "type": "string"
        },
        "encryption_algorithm": {
          "type": "string"
        },
        "signers": {
          "items": {
            "$ref": "#/definitions/resource.PKCS7Signer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.PrivateKey": {
      "description": "Object with the details and configuration of a private key used for cryptographic operations, such as signing or decrypting. This includes options for securing the key with a password, providing it in PKCS12 format, or specifying whether it is pre-installed.",
      "properties": {
        "password": {
          "description": "Password used to protect the private key.",
          "type": "string"
        },
        "pkcs12": {
          "description": "List of encoded integers representing the private key in PKCS12 format.",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "pre_installed": {
          "description": "Indicates whether the private key is pre-installed on the system. A value of `true` indicates the key is already available and does not need to be generated or imported.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "resource.QCStatements": {
      "description": "Object with the details of Qualified Certificate Statements.",
      "properties": {
        "critical": {
          "description": "Indicates whether the QCStatements extension is marked as critical.",
          "type": "boolean"
        },
        "etsi-psd2-qcStatement": {
          "description": "List of ETSI PSD2 QC statements.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id-etsi-qcs-QcPDS": {
          "items": {
            "$ref": "#/definitions/resource.QCStatementsIDEtsiQcsQcPDS"
          },
          "type": "array"
        },
        "id-etsi-qcs-QcRetentionPeriod": {
          "description": "Retention period in years for the certificate-related information in the ETSI standards.",
          "type": "integer"
        },
        "id-etsi-qcs-QcType": {
          "description": "List of ETSI QC Types that categorize the certificate under specific qualified certificate types as per ETSI standards.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id-qcs-pkixQCSyntax-v2": {
          "$ref": "#/definitions/resource.SemanticsInformation"
        },
        "oids": {
          "description": "List of OIDs associated with the QC statements.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.QCStatementsIDEtsiQcsQcPDS": {
      "description": "Object with single ETSI QC Policy Disclosure Statement.",
      "properties": {
        "language": {
          "description": "Language of the Policy Disclosure Statement.",
          "type": "string"
        },
        "uri": {
          "description": "A URI associated with the Policy Disclosure Statement document.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.RawOtherName": {
      "description": "The RawOtherName object represents a custom or non-standard alternative name in the Subject Alternative Name (SAN) extension.",
      "properties": {
        "oid": {
          "description": "The object identifier (OID) that defines the type or category of the alternative name.",
          "type": "string"
        },
        "value": {
          "description": "The value associated with the specified OID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.RecertificationLinks": {
      "description": "Object with the details of links or associations used in the recertification process.",
      "properties": {
        "created_date": {
          "description": "Date when the recertification link was created.",
          "type": "string"
        },
        "link_type": {
          "description": "Type of the recertification link.",
          "type": "string"
        },
        "linked_ca": {
          "description": "The identifier or name of the CA associated with the recertification link.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.RecertifyCARequest": {
      "properties": {
        "validity": {
          "$ref": "#/definitions/resource.CertValidity"
        }
      },
      "type": "object"
    },
    "resource.SANExtension": {
      "description": "The SANExtension object contains additional identities or attributes that are associated with the certificate subject.",
      "properties": {
        "directory_names": {
          "description": "List of directory names associated with the certificate.",
          "items": {
            "$ref": "#/definitions/resource.CASubject"
          },
          "type": "array"
        },
        "dns_names": {
          "description": "List of DNS names in the Subject Alternative Name extension. These represent domain names or subdomains for which the certificate is valid.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "emails": {
          "description": "List of email addresses specified in the Subject Alternative Name extension, indicating the intended recipients of email communications secured by the certificate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ip_addresses": {
          "description": "List of IP addresses associated with the certificate, providing the ability to use the certificate for network authentication or secure communications over the specified IP addresses.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "other_names": {
          "$ref": "#/definitions/resource.SANExtensionOtherNames"
        },
        "uris": {
          "description": "List of URIs associated with the certificate, often used for linking to other online resources or services.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "user_principal_names": {
          "description": "List of user principal names associated with the certificate, often used for authentication.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.SANExtensionHardwareModuleName": {
      "properties": {
        "serial_num": {
          "description": "SerialNum is the serial number of the hardware module.  No\nparticular structure is imposed on the serial number; it need not\nbe an integer.  However, the combination of the hwType and\nhwSerialNum uniquely identifies the hardware module.\nAn ASN.1 OCTET STRING can be written to a []byte.",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "type": {
          "description": "Type is an object identifier that identifies the type of hardware\nmodule.  A unique object identifier names a hardware model and\nrevision.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.SANExtensionOtherNames": {
      "properties": {
        "domain_controller_id": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "guid": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "hardware_module_name": {
          "items": {
            "$ref": "#/definitions/resource.SANExtensionHardwareModuleName"
          },
          "type": "array"
        },
        "raw_other_names": {
          "items": {
            "$ref": "#/definitions/resource.RawOtherName"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.SKIExtension": {
      "properties": {
        "include": {
          "type": "string"
        },
        "method": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.SMIMECapabilitiesCertPolicies": {
      "properties": {
        "values": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.SemanticsInformation": {
      "properties": {
        "semantics_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.SubjectDirAttrs": {
      "properties": {
        "encoded_value": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.ValueCustomAttribute": {
      "properties": {
        "oid": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.VerifyASN1TemplateRequest": {
      "properties": {
        "critical": {
          "type": "boolean"
        },
        "custom_values": {
          "additionalProperties": true,
          "type": "object"
        },
        "oid": {
          "type": "string"
        },
        "template": {
          "additionalProperties": true,
          "type": "object"
        },
        "values_name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "resource.VerifyASN1TemplateResponse": {
      "properties": {
        "value": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "resource.VerifyTemplate": {
      "properties": {
        "template": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "info": {
    "contact": {},
    "description": "# DigiCert Private CA\nWelcome to the DigiCert Private CA REST API reference! The Private CA REST API provides operations for managing the root and intermediate CA certificates in your Private CA Account.\n## Base URL\nThe base URL path for endpoints in the Private CA REST API is: `{server}/certificate-authority/api/v1`.\nReplace `{server}` with the hostname of your DigiCert ONE instance. For example, if you are using the hosted version of DigiCert Private CA, your `{server}` is `https://one.digicert.com`.\n## Authentication\nAPI clients can authenticate Private CA API requests using these methods:\n* Header-based API token authentication\n* Authentication using a client authentication certificate\n### API token\nTo authenticate with an API token, include the custom HTTP header `x‑api‑key` in your request. Use one of these values in the `x-api-key` header:\n* API token belonging to a DigiCert ONE administrator\n* Service user token ID\n**Administrator API token**\n* Standard users (administrators) can create API tokens for themselves.\n* API tokens have the same permissions and access scope as the user (administrator) that creates them.\n* Actions linked to the API token are logged under the administrator's username.\n* To generate an API token, use the Account Manager in DigiCert ONE.\n**Service user token ID**\n* Service users are nonuser-related API tokens that don't belong to or inherit a specific user's permissions.\n* When you create a service user, you must assign the permissions required for your API integration.\n* There are two ways to create a new service user:\n  * Use the Account Manager in DigiCert ONE.\n  * Use the POST `/account/api/v1/user` endpoint in the Account Manager API service.\n### Client authentication certificate\nTo authenticate with a client authentication certificate, present a trusted certificate in your request instead of using an API token. DigiCert ONE users (administrators) and service users can both authenticate to the API using client authentication certificates.\nTo authenticate with a client authentication certificate:\n* Include the certificate in your API request.\n* In the base URL for the endpoint path, add the prefix `clientauth`. For example: `https://clientauth.one.digicert.com`\n* Omit the `x-api-key` header.\n## Requests\nThe Private CA API service accepts REST calls on the default ports 80/443. All requests are submitted using RESTful URLs and REST features, including header-based authentication and JSON request types. The data character set encoding for requests is UTF-8.\nA well-formed request uses port 443 and specifies the user-agent and content-length HTTP headers. Each request consists of a method and an endpoint. Some requests also include a body if relevant to the operation being performed.\n### Method\nThe Private CA API uses these standard HTTP methods:\n* GET\n* POST\n* PUT\n* DELETE\n### Body and content type\nRequests that accept a JSON payload require passing in JSON formatted data with the `Content-Type` header set to `application/json`.\nGET requests do not require passing formatted data in the request payload. However, some GET operations may allow you to filter the results by providing additional path parameters or URL query strings.\n## Filters and sorting\nSome requests return a paginated list of records that you can filter and sort to meet your needs.\n### Filters\nUse filters to limit the response to records that contain a specific key/value pair.\nTo filter results, append the request with query strings for the fields you want to use as filters. The syntax for filters is: `{field}={value}`.\n- `field`: Name of the key you want to use as a filter.\n- `value`: String the field should contain for a record to be included in the results.\nTo see the filters you can use with a given API request, see the **Parameters** section for the request in this documentation.\n#### Wildcard filters\nSome filters support wildcard matching. For these filters, the `value` to match against can be a partial string. If the `value` in your request matches any part of the value in the record, we include that record in the response.\nIn this example GET request, `name` is a query parameter that supports wildcard filtering. This request returns a list of records where any part of the `name` value contains the string `example` (for example, `digicert_example`, `example_digicert`, or `example` on its own).\n```markup\nGET https://one.digicert.com/certificate-authority/api/v1/ca?name=example\n```\nIf the documentation for a parameter does not say the parameter supports wildcard matching, then the value in the record must exactly match the entire string in your request.\n### Sorting\nUse sorting to change the order of records in the response.\nTo sort results, use the `sort` query parameter. The syntax for sorting is: `sort={field}:{direction}`.\n- `field`: Name of the key you want to sort by.\n- `direction` (optional): Sort  direction. Use `asc` (default) to sort in ascending alphabetical order (0-9, A-Z). Use `desc` to sort in descending alphabetical order (9-0, Z-A).\nTo see the sort fields for a request, see the **Parameters** section for the request in this documentation.\nTo sort by multiple properties, include multiple `sort` queries in the request URL. The sort hierarchy follows the order of `sort` queries in your request. For example, this GET request returns a list of records sorted in ascending order by `status`, then descending order by name `name`.\n```markup\nGET https://one.digicert.com/certificate-authority/api/v1/ca?sort=status:asc&sort=name:desc\n```\n## Responses\nEach response consists of a header and a body. The body format is based on the content type requested in the `Accept` header.\n### Headers\nEach response includes a header with a response code based on [RFC 2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1) specifications.\n* HTTP codes in the **200-399** range describe a successful request. Response bodies for HTTP codes in this range include the response data associated with the operation.\n* HTTP codes in the **400+** range describe an error.\nUnsuccessful requests return a list with one or more `errors`. Each error object includes a `code` and a `message` describing the problem with the request.\n**Example error response**\n```JSON\n{\n  \"errors\": [\n    {\n      \"code\": \"error_code\",\n      \"message\": \"Error message example\"\n    }\n  ]\n}\n```",
    "title": "DigiCert Private CA REST API",
    "version": "1.0.0"
  },
  "paths": {
    "/aia-issuer": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get the AIA issuer files\nRequired permission: View CA configuration (`VIEW_CM_AIA_ISSUER`)",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CAAIAIssuerFile"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get all CA certificate AIA issuer files",
        "tags": [
          "AIA"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to add a AIA issuer file\nRequired permission: View CA configuration (`MANAGE_CM_AIA_ISSUER`)",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAAIAIssuerFile"
            }
          }
        },
        "summary": "Add an AIA Issuer File",
        "tags": [
          "AIA"
        ]
      }
    },
    "/aia-issuer/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to Get the AIA issuer file\nRequired permission: View CA configuration (`VIEW_CM_AIA_ISSUER`)",
        "parameters": [
          {
            "description": "file id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAAIAIssuerFile"
            }
          }
        },
        "summary": "Get an AIA Issuer File",
        "tags": [
          "AIA"
        ]
      }
    },
    "/aia-issuer/{id}/blob": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to Get the AIA issuer file Blob\nRequired permission: View CA configuration (`VIEW_CM_AIA_ISSUER`)",
        "parameters": [
          {
            "description": "file id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        },
        "summary": "Get an AIA Issuer File Blob",
        "tags": [
          "AIA"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to update a AIA issuer file\nRequired permission: View CA configuration (`MANAGE_CM_AIA_ISSUER`)",
        "parameters": [
          {
            "description": "AIA Issuer File",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAAIAIssuerFile"
            }
          },
          {
            "description": "file id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Update an AIA Issuer File",
        "tags": [
          "AIA"
        ]
      }
    },
    "/analytics": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Returns the analytics configuration including whether analytics are enabled\nand the appropriate script URL based on the current environment mode (dev, stage, or prod).\nThis endpoint helps the frontend determine which Adobe DTM script to load.",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Analytics configuration",
            "schema": {
              "$ref": "#/definitions/resource.AnalyticsResponse"
            }
          }
        },
        "summary": "Check analytics configuration",
        "tags": [
          "Analytics"
        ]
      }
    },
    "/audit": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get the audit log\nRequired permission: View CM Audit Log (`VIEW_CM_AUDIT_LOG`)",
        "parameters": [
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.AuditLog"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get Audit Log",
        "tags": [
          "Audit"
        ]
      }
    },
    "/ca": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Get all CAs (with access)",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CACertificate"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Show all CAs",
        "tags": [
          "CA Lifecycle"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a CA\nRequired permission: Create CM CA (`CREATE_CM_CA`)",
        "parameters": [
          {
            "description": "CA to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Create a CA",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CA\nRequired permission: View CM CA (`VIEW_CM_CA`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Get a CA",
        "tags": [
          "CA Lifecycle"
        ]
      }
    },
    "/ca/{id}/accounts": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to delete CA accounts\nRequired permission: Manage CM CA Accounts (`MANAGE_CM_CA_ACCOUNTS`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Accounts to delete",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAAccountsList"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Delete CA Accounts",
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to add CA accounts\nRequired permission: Manage CM CA Accounts (`MANAGE_CM_CA_ACCOUNTS`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Accounts to add",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAAccountsList"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Add CA Accounts",
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA accounts\nRequired permission: Manage CM CA Accounts (`MANAGE_CM_CA_ACCOUNTS`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Accounts to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAAccountsList"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Set CA Accounts",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/ca/{id}/active-aia-issuer": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set the Active AIA Issuer for a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Active AIA Issuer to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.AIAIssuerFileInfo"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set the Active AIA Issuer for a CA",
        "tags": [
          "CA AIA Configuration"
        ]
      }
    },
    "/ca/{id}/active-crl": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set the Active CRL for a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Active CRL to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.ActiveCRLInfo"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set the Active CRL for a CA",
        "tags": [
          "CA CRL Configuration"
        ]
      }
    },
    "/ca/{id}/blob": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set a CA blob\nRequired permission: Create CM CA (`CREATE_CM_CA`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA blob to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CABlobUpload"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set a CA blob",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/configuration/aia-issuer/issuance": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA AIA Issuer Configuration\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAAIAIssuerConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA AIA Issuer Configuration",
        "tags": [
          "CA AIA Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA AIA Issuer Configuration\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA AIA Issuer Configuration to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAAIAIssuerConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA AIA Issuer Configuration",
        "tags": [
          "CA AIA Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/cert-policies/issuance": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA Cert Policies Configuration\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CACertPoliciesConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA Cert Policies Configuration",
        "tags": [
          "CertPolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA Cert Policies Configuration\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Cert Policies Configuration to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertPoliciesConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA Cert Policies Configuration",
        "tags": [
          "CertPolicies"
        ]
      }
    },
    "/ca/{id}/configuration/cert/issuance": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA issuance cert config\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA issuance cert config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAIssuanceCertConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA issuance cert config",
        "tags": [
          "CA Issuance Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/chain": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to Get the ca certificate chains\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CAChain"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get CA certificate chains",
        "tags": [
          "CA Chain Configuration"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to add a certificate chain to a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Chain to add",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAChain"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "$ref": "#/definitions/resource.CAChain"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Add a certificate chain to a CA",
        "tags": [
          "CA Chain Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/chain/{chainID}": {
      "delete": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to delete a certificate chain for a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "chain id",
            "in": "path",
            "name": "chainID",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "summary": "Delete a certificate chain",
        "tags": [
          "CA Chain Configuration"
        ]
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a certificate chain for a CA\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "chain id",
            "in": "path",
            "name": "chainID",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAChain"
            }
          }
        },
        "summary": "Get a certificate chain",
        "tags": [
          "CA Chain Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to update a certificate chain for a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "chain id",
            "in": "path",
            "name": "chainID",
            "required": true,
            "type": "string"
          },
          {
            "description": "Chain to update",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAChain"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "summary": "Update a certificate chain",
        "tags": [
          "CA Chain Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/crl/include-all-certificates": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set include all certs in CRL\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Include all certs in CRL to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.IncludeAllCertsInCRL"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set include all certs in CRL",
        "tags": [
          "CA CRL Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/crl/issuance": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA CRL issuance config\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CACRLIssuanceConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA CRL issuance config",
        "tags": [
          "CA CRL Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA CRL issuance config\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA CRL issuance config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACRLIssuanceConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA CRL issuance config",
        "tags": [
          "CA CRL Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/ocsp/generation": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA OCSP generation config\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPGenerationConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA OCSP generation config",
        "tags": [
          "CA OCSP Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA OCSP generation config\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA OCSP generation config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPGenerationConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA OCSP generation config",
        "tags": [
          "CA OCSP Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/ocsp/issuance": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA OCSP issuance config\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPIssuanceConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA OCSP issuance config",
        "tags": [
          "CA OCSP Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA OCSP issuance config\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA OCSP issuance config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPIssuanceConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA OCSP issuance config",
        "tags": [
          "CA OCSP Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/ocsp/responder": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA OCSP responder config\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPResponderConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA OCSP responder config",
        "tags": [
          "CA OCSP Responder Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set CA OCSP responder config\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA OCSP responder config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPResponderConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA OCSP responder config",
        "tags": [
          "CA OCSP Responder Configuration"
        ]
      }
    },
    "/ca/{id}/configuration/settings": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set additional settings\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Additional Settings to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.AdditionalSettings"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Set Additional Settings",
        "tags": [
          "CA Additional Settings"
        ]
      }
    },
    "/ca/{id}/csr": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CA CSR\nRequired permission: Create CM CA (`CREATE_CM_CA`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CSR"
            }
          }
        },
        "summary": "Get a CA CSR",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/decrypt/pkcs7": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to decrypt a PKCS7\nRequired permission: Create CM Certificate (`CREATE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "PKCS7 to decrypt",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.PKCS7ParseRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.ParsedPKCS7"
            }
          }
        },
        "summary": "Decrypt a PKCS7",
        "tags": [
          "CA PKCS7"
        ]
      }
    },
    "/ca/{id}/download": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to download a CA\nRequired permission: View CM CA (`VIEW_CM_CA`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "supported formats: pem, p7b, der",
            "in": "query",
            "name": "format",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "format": "int32",
                "type": "integer"
              },
              "type": "array"
            }
          }
        },
        "summary": "Download a CA",
        "tags": [
          "CA Lifecycle"
        ]
      }
    },
    "/ca/{id}/encrypt/pkcs7": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to encrypt a PKCS7\nRequired permission: Create CM Certificate (`CREATE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "PKCS7 to encrypt",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.PKCS7ParseRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.PKCS7SignResponse"
            }
          }
        },
        "summary": "Encrypt a PKCS7",
        "tags": [
          "CA PKCS7"
        ]
      }
    },
    "/ca/{id}/hierarchy": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get the root CA hierarchy\nRequired permission: View CM Hierarchy (`VIEW_CM_HIERARCHY`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/model.CASummaryInfo"
            }
          },
          "400": {
            "description": "ca_is_not_root"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get the root CA hierarchy",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/note": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a list of CA notes\nRequired permission: View CM CA Note (`VIEW_CM_CA_NOTE`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CANote"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA Notes",
        "tags": [
          "CA"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a CA note\nRequired permission: Create CM CA Note (`CREATE_CM_CA_NOTE`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Note to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CANote"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "created"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Create CA Note",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/ocsp-config": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get CA OCSP config\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CAOCSPIssuanceConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA OCSP config",
        "tags": [
          "CA OCSP Configuration"
        ]
      }
    },
    "/ca/{id}/recertify-create-ca": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to recertificate CA with valid from and to dates\nRequired permission: Create CM CA (`RECERTIFY_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recertify CA request",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.RecertifyCARequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Recertifies existing CA by CA ID",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/recertify-import-ca": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to recertificate a CA by importing a new certificate\nRequired permission: Create CM CA (`RECERTIFY_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "PEM certificate to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.BlobUpload"
            }
          },
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Recertifies a CA with a new imported certificate",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/{id}/reinstate-request": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a CA reinstate request\nRequired permission: Request CM CA Revocation (`REQUEST_CM_CA_REVOCATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Reinstate Request to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CertReinstateRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertReinstateRequest"
            }
          }
        },
        "summary": "Create CA Reinstate Request",
        "tags": [
          "CA Reinstate Request"
        ]
      }
    },
    "/ca/{id}/reinstate-request/{requestId}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CA reinstate request by id\nRequired permission: View CM CA (`VIEW_CM_CA`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Reinstate Request ID",
            "in": "path",
            "name": "requestId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertReinstateRequest"
            }
          }
        },
        "summary": "Get CA Reinstate Request",
        "tags": [
          "CA Reinstate Request"
        ]
      }
    },
    "/ca/{id}/reinstate-request/{requestId}/approve": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to approve a CA reinstate request by id\nRequired permission: Manage CM CA Revocation (`MANAGE_CM_CA_REVOCATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Reinstate Request ID",
            "in": "path",
            "name": "requestId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Approve CA Reinstate Request",
        "tags": [
          "CA Reinstate Request"
        ]
      }
    },
    "/ca/{id}/reinstate-request/{requestId}/reject": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to reject a CA reinstate request by id\nRequired permission: Manage CM CA Revocation (`MANAGE_CM_CA_REVOCATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Reinstate Request ID",
            "in": "path",
            "name": "requestId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Reject CA Reinstate Request",
        "tags": [
          "CA Reinstate Request"
        ]
      }
    },
    "/ca/{id}/revocation-request": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a CA revoke request\nRequired permission: Revoke CM Certificate (`REVOKE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CA Revoke Request to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CertRevocationRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertRevocationRequest"
            }
          }
        },
        "summary": "Create CA Revoke Request",
        "tags": [
          "CA Revocation Request"
        ]
      }
    },
    "/ca/{id}/revocation-request/{requestId}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CA revoke request by id\nRequired permission: View CM CA (`VIEW_CM_CA`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Revoke Request ID",
            "in": "path",
            "name": "requestId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertRevocationRequest"
            }
          }
        },
        "summary": "Get CA Revoke Request",
        "tags": [
          "CA Revocation Request"
        ]
      }
    },
    "/ca/{id}/revocation-request/{requestId}/approve": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to approve a CA revoke request by id\nRequired permission: Manage CM CA Revocation (`MANAGE_CM_CA_REVOCATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Revoke Request ID",
            "in": "path",
            "name": "requestId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Approve CA Revoke Request",
        "tags": [
          "CA Revocation Request"
        ]
      }
    },
    "/ca/{id}/sign/attribute-certificate": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to sign an Attribute Certificate\nRequired permission: Create CM Certificate (`CREATE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Attribute Certificate",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.AttributeCertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.AttributeCertificate"
            }
          }
        },
        "summary": "Sign an Attribute Certificate",
        "tags": [
          "CA Attribute Certificate"
        ]
      }
    },
    "/ca/{id}/sign/cmp": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to sign a CMP request\nRequired permission: Create CM Certificate (`CREATE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CMP request",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CMPv2"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CMPv2"
            }
          }
        },
        "summary": "Sign a CMP request",
        "tags": [
          "Sign CMP"
        ]
      }
    },
    "/ca/{id}/sign/global-platform": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to sign a GlobalPlatform request\nRequired permission: Create CM Certificate (`CREATE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "ca id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "GlobalPlatform request",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.GlobalPlatform"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.GlobalPlatform"
            }
          }
        },
        "summary": "Sign a GlobalPlatform request",
        "tags": [
          "CA Global Platform"
        ]
      }
    },
    "/ca/{id}/status": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get the active status of a CA\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CaActiveStatus"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CA Active Status",
        "tags": [
          "CA Lifecycle"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set the active status of a CA\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CA ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Active Status",
            "enum": [
              "active",
              "disabled"
            ],
            "in": "query",
            "name": "active_status",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "400": {
            "description": "bad request"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CA Active Status",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/cert-expiration": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get certificate expiration\nRequired permission: View CM CA (`VIEW_CM_CA`)",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "integer"
            }
          }
        },
        "summary": "Get certificate expiration",
        "tags": [
          "End Entity Certificate Life Cycle"
        ]
      }
    },
    "/ca/certificate-discovery": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get all certificates\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          },
          {
            "description": "Filter by certificate type (e.g., 'ee', 'ca', 'ica')",
            "in": "query",
            "name": "certType",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.PaginationResult"
            }
          }
        },
        "summary": "Get All Certificates",
        "tags": [
          "CA Lifecycle"
        ]
      }
    },
    "/ca/import": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import a CA\nRequired permission: Create CM CA (`CREATE_CM_CA`)",
        "parameters": [
          {
            "description": "CA to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Import a CA",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/import/offline": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import an offline CA\nRequired permission: Link CM CA Key (`LINK_CM_CA_KEY`)",
        "parameters": [
          {
            "description": "CA to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Import an offline CA",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/import/third-party": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import a third party CA\nRequired permission: Link CM CA Key (`LINK_CM_CA_KEY`)",
        "parameters": [
          {
            "description": "CA to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Import a third party CA",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/link/key": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to link a CA key\nRequired permission: Link CM CA Key (`LINK_CM_CA_KEY`)",
        "parameters": [
          {
            "description": "CA to link",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CACertificate"
            }
          }
        },
        "summary": "Link a CA key",
        "tags": [
          "CA"
        ]
      }
    },
    "/ca/ocsp-responder/delegated/pending": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a pending Delegated OCSP responder\nRequired permission: Manage CM OCSP Responder (`MANAGE_ONLINE_DELEGATED_OCSP`)",
        "parameters": [
          {
            "description": "OCSP responder to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        },
        "summary": "Create a pending Delegated OCSP responder",
        "tags": [
          "OCSP"
        ]
      }
    },
    "/certificate": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get all certificates associated with an issuer\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          },
          {
            "description": "Sort",
            "in": "query",
            "name": "sort",
            "type": "string"
          },
          {
            "description": "Filters",
            "in": "query",
            "name": "filters",
            "type": "string"
          },
          {
            "description": "Only one of serial_number, subject_key_id, or subject_public_key is required; serial_number is the serial number of the certificate associated with the issuer",
            "in": "query",
            "name": "serial_number",
            "type": "string"
          },
          {
            "description": "Filter for subject key id of the certificate's issuer",
            "in": "query",
            "name": "subject_key_id",
            "type": "string"
          },
          {
            "description": "Filter for subject public key of the certificate's issuer",
            "in": "query",
            "name": "subject_public_key",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.Certificate"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get All Certificates",
        "tags": [
          "End Entity Certificate"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a certificate\nRequired permission: (`MANAGE_CM_END_ENTITY_CERT`)",
        "parameters": [
          {
            "description": "Certificate to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.Certificate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.Certificate"
            }
          }
        },
        "summary": "Create Certificate",
        "tags": [
          "End Entity Certificate"
        ]
      }
    },
    "/certificate-authority/api/v1/helper": {
      "get": {
        "description": "Returns helper information about the application including the application version",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.HelperResponse"
            }
          }
        },
        "summary": "Get application helper information",
        "tags": [
          "System configuration"
        ]
      }
    },
    "/certificate/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a certificate by id\nRequired permission: View CM Certificate (`VIEW_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "Certificate ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Chain Name",
            "in": "query",
            "name": "chain_name",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.Certificate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get Certificate",
        "tags": [
          "End Entity Certificate"
        ]
      }
    },
    "/certificate/{id}/escrow/recover": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to recover an escrowed EE key\nRequired permission: (`MANAGE_CM_END_ENTITY_CERT`)",
        "parameters": [
          {
            "description": "Certificate ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Include Chain",
            "enum": [
              "none",
              "ica_only",
              "full"
            ],
            "in": "query",
            "name": "include_chain",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.PrivateKey"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Recover Escrowed EE Key",
        "tags": [
          "End Entity Certificate"
        ]
      }
    },
    "/certificate/{id}/revocation": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to revoke a certificate by id\nRequired permission: Revoke CM Certificate (`REVOKE_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "Certificate ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Certificate Revocation Request",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CertRevocation"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Revoke Certificate",
        "tags": [
          "End Entity Certificate"
        ]
      }
    },
    "/certificate/download": {
      "get": {
        "description": "Use this endpoint to download a csv list of certificates\nRequired permission: View CM Certificate (`VIEW_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          },
          {
            "description": "Filter by certificate type (e.g., 'ee', 'ca', 'ica')",
            "in": "query",
            "name": "certType",
            "type": "string"
          }
        ],
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "List of certificates in CSV format",
            "schema": {
              "items": {
                "$ref": "#/definitions/model.CertificateCSVDownload"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get CSV List of Certificates",
        "tags": [
          "CA Lifecycle"
        ]
      }
    },
    "/certificate/import": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import a certificate\nRequired permission: Import CM Certificate (`IMPORT_CM_CERTIFICATE`)",
        "parameters": [
          {
            "description": "Certificate to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.EEBlobUpload"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.Certificate"
            }
          }
        },
        "summary": "Import a certificate",
        "tags": [
          "End Entity Certificate"
        ]
      }
    },
    "/crl": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get all CRL infos\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "itmes": {
                      "items": {
                        "$ref": "#/definitions/resource.CRLInfo"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get All CRL Infos",
        "tags": [
          "CRL"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to add a CRL info\nRequired permission: Manage CM CA CRL (`MANAGE_CM_CA_CRL`)",
        "parameters": [
          {
            "description": "CRL Info to add",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CRLInfo"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CRLInfoId"
            }
          },
          "400": {
            "description": "bad request"
          }
        },
        "summary": "Add CRL Infos",
        "tags": [
          "CRL"
        ]
      }
    },
    "/crl/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CRL info by id\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CRLInfo"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CRL Info",
        "tags": [
          "CRL"
        ]
      }
    },
    "/crl/{id}/blobs": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a list of CRL blobs by id\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "Limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CRLBlob"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CRL Blob List",
        "tags": [
          "CRL"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import a CRL blob\nRequired permission: Manage CM CA CRL (`MANAGE_CM_CA_CRL`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CRL Blob to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.ImportCRLBlob"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CRLBlob"
            }
          }
        },
        "summary": "Import CRL Blob",
        "tags": [
          "CRL"
        ]
      }
    },
    "/crl/{id}/blobs/{crl_number}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CRL blob by id\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CRL Number",
            "in": "path",
            "name": "crl_number",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CRLBlob"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CRL Blob",
        "tags": [
          "CRL"
        ]
      }
    },
    "/crl/{id}/configuration": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a CRL config by id\nRequired permission: View CM CA Configuration (`VIEW_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CRLConfig"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get CRL Config",
        "tags": [
          "CA CRL Configuration"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set a CRL config by id\nRequired permission: Manage CM CA CRL (`MANAGE_CM_CA_CRL`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "CRL Config to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CRLConfig"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set CRL Config",
        "tags": [
          "CA CRL Configuration"
        ]
      }
    },
    "/crl/{id}/create-now": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a CRL now\nRequired permission: Manage CM CA CRL (`MANAGE_CM_CA_CRL`)",
        "parameters": [
          {
            "description": "CRL ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "no content"
          }
        },
        "summary": "Create CRL Now",
        "tags": [
          "CRL"
        ]
      }
    },
    "/escrow/client-key-import": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import a client key.\nRequired permission: cm_escrow_client_key_operations",
        "parameters": [
          {
            "description": "EscrowClientKeyImportRequest object",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.EscrowClientKeyImportRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.EscrowClientKeyResponse"
            }
          }
        },
        "summary": "Import a client key",
        "tags": [
          "Escrow"
        ]
      }
    },
    "/ocsp-responder": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create an OCSP responder\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        },
        "summary": "Create an OCSP responder",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get an OCSP responder\nRequired permission: View CM OCSP Responder (`VIEW_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get an OCSP responder",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/{id}/{action}": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set an OCSP responder status\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "action",
            "in": "path",
            "name": "action",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Set an OCSP responder status",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/{id}/blob": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to set an OCSP blob\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Blob to set",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.BlobUpload"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Set an OCSP blob",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/{id}/csr": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to download an OCSP responder CSR\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CSR"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Download an OCSP responder CSR",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/import": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to import an OCSP responder\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder to import",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          },
          "400": {
            "description": "bad request"
          }
        },
        "summary": "Import an OCSP responder",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responder/pending": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a pending OCSP responder\nRequired permission: Manage CM OCSP Responder (`MANAGE_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "OCSP responder to create",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.OCSPResponder"
            }
          }
        },
        "summary": "Create a pending OCSP responder",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/ocsp-responders": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get all OCSP responders\nRequired permission: View CM OCSP Responder (`VIEW_CM_OCSP_RESPONDER`)",
        "parameters": [
          {
            "description": "offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.OCSPResponder"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get all OCSP responders",
        "tags": [
          "OCSP Responder"
        ]
      }
    },
    "/scep/{profileID}": {
      "get": {
        "consumes": [
          "text/plain"
        ],
        "description": "Processes SCEP protocol GET requests for certificate authority operations",
        "parameters": [
          {
            "description": "SCEP Profile ID",
            "in": "path",
            "name": "profileID",
            "required": true,
            "type": "string"
          },
          {
            "description": "SCEP operation type",
            "enum": [
              "GetCACert",
              "GetCACaps",
              "PKIOperation"
            ],
            "in": "query",
            "name": "operation",
            "required": true,
            "type": "string"
          },
          {
            "description": "Base64 encoded PKCS#7 message (required for PKIOperation)",
            "in": "query",
            "name": "message",
            "type": "string"
          }
        ],
        "produces": [
          "text/plain",
          "application/x-pki-message"
        ],
        "responses": {
          "200": {
            "description": "CA certificates (for GetCACert)",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Bad request or unsupported operation",
            "schema": {
              "$ref": "#/definitions/resource.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal server error",
            "schema": {
              "$ref": "#/definitions/resource.ErrorResponse"
            }
          }
        },
        "security": [
          {
            "Authentication code defined in profile": []
          }
        ],
        "summary": "Handle SCEP GET operations",
        "tags": [
          "SCEP"
        ]
      },
      "post": {
        "consumes": [
          "application/x-pki-message"
        ],
        "description": "Processes SCEP (Simple Certificate Enrollment Protocol) PKI operations including certificate enrollment, and renewal",
        "parameters": [
          {
            "description": "SCEP profile identifier",
            "in": "path",
            "name": "profileID",
            "required": true,
            "type": "string"
          },
          {
            "description": "SCEP PKI message in binary format",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            }
          }
        ],
        "produces": [
          "application/x-pki-message"
        ],
        "responses": {
          "200": {
            "description": "SCEP response message",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Invalid request body",
            "schema": {
              "$ref": "#/definitions/resource.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal server error",
            "schema": {
              "$ref": "#/definitions/resource.ErrorResponse"
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Handle SCEP PKI operation",
        "tags": [
          "SCEP"
        ]
      }
    },
    "/template": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get certificate templates\nRequired permission: View CM Certificate Template (`VIEW_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "offset",
            "in": "query",
            "name": "offset",
            "type": "integer"
          },
          {
            "description": "limit",
            "in": "query",
            "name": "limit",
            "type": "integer"
          },
          {
            "description": "filter by name",
            "in": "query",
            "name": "name",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/resource.PaginationResult"
                },
                {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/definitions/resource.CertTemplate"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "summary": "Get certificate templates",
        "tags": [
          "Template"
        ]
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to create a custom certificate template\nRequired permission: Manage CM Certificate Template (`MANAGE_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "Create Template",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          }
        },
        "summary": "Create a custom certificate template",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/{id}": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a certificate template\nRequired permission: View CM Certificate Template (`VIEW_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "template id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get a certificate template",
        "tags": [
          "Template"
        ]
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to update a custom certificate template\nRequired permission: Manage CM Certificate Template (`MANAGE_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "template id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Update Template",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Update a custom certificate template",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/{id}/accounts": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a accounts certificate template is assigned to\nRequired permission: View CM Certificate Template (`VIEW_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "template id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.Account"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get a accounts certificate template is assigned to",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/{id}/activate": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to activate a custom certificate template\nRequired permission: Manage CM Certificate Template (`MANAGE_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "template id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Activate a custom certificate template",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/{id}/deactivate": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to deactivate a custom certificate template\nRequired permission: Manage CM Certificate Template (`MANAGE_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "template id",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Deactivate a custom certificate template",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/asn1/verify": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to verify an ASN1 template\nRequired permission: Manage CM CA Configuration (`MANAGE_CM_CA_CONFIGURATION`)",
        "parameters": [
          {
            "description": "ASN1 Template to verify",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.VerifyASN1TemplateRequest"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.VerifyASN1TemplateResponse"
            }
          },
          "204": {
            "description": "no content"
          }
        },
        "summary": "Verify ASN1 Template",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/config": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a certificate template\nRequired permission: View CM Certificate Template (`VIEW_CM_CUSTOM_TEMPLATE`)",
        "parameters": [
          {
            "description": "supported types: root, intermediate, end_entity, ocsp_responder",
            "in": "query",
            "name": "type",
            "type": "string"
          },
          {
            "description": "template category",
            "in": "query",
            "name": "category",
            "type": "string"
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get certificate template validation schemas",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/schema": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to get a certificate template\nRequired permission: View CM Certificate Template (`VIEW_CM_CUSTOM_TEMPLATE`)",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/resource.CertTemplate"
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "summary": "Get certificate template validation schemas",
        "tags": [
          "Template"
        ]
      }
    },
    "/template/verify": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "description": "Use this endpoint to verify a template\nRequired permission: none",
        "parameters": [
          {
            "description": "Template to verify",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/resource.VerifyTemplate"
            }
          }
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "204": {
            "description": "no content"
          }
        },
        "summary": "Verify Template",
        "tags": [
          "Template"
        ]
      }
    }
  },
  "securityDefinitions": {
    "ApiKeyAuth": {
      "description": "Enter your API key\nView and manage root and intermediate CA certificates\nView CA certificate configuration\nView CRL information\nView global CA certificate configuration\nView CA certificate templates",
      "in": "header",
      "name": "CA certificate templates",
      "type": "apiKey"
    }
  },
  "swagger": "2.0"
}