SSL/TLS Domains API

Domain verification and management

OpenAPI Specification

ssl-tls-domains-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SSL/TLS Certificate Management Certificates Domains API
  description: A REST API for SSL/TLS certificate lifecycle management including issuance, renewal, revocation, and monitoring. Represents common certificate management capabilities available across major CAs and PKI platforms including Let's Encrypt ACME, DigiCert, Sectigo, and enterprise PKI systems.
  version: '1.0'
  contact:
    name: Let's Encrypt
    url: https://letsencrypt.org/
  license:
    name: Mozilla Public License 2.0
    url: https://mozilla.org/MPL/2.0/
servers:
- url: https://api.certmanager.example.com/v1
  description: Certificate Management API
security:
- ApiKeyAuth: []
tags:
- name: Domains
  description: Domain verification and management
paths:
  /orders/{orderId}/challenges/{challengeId}/verify:
    post:
      operationId: verifyChallenge
      summary: Verify Domain Challenge
      description: Notifies the CA to verify a completed domain ownership challenge. The CA will check for the expected token at the challenge URL or DNS record. Once verified, the order can proceed to certificate issuance.
      tags:
      - Domains
      parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      - name: challengeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Verification triggered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Challenge'
  /domains:
    get:
      operationId: listDomains
      summary: List Domains
      description: Returns all domains registered in the account with their validation status.
      tags:
      - Domains
      responses:
        '200':
          description: Domain list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainListResponse'
components:
  schemas:
    Domain:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        validationStatus:
          type: string
          enum:
          - unverified
          - pending
          - verified
          - failed
        validationMethod:
          type: string
          enum:
          - http-01
          - dns-01
          - tls-alpn-01
          - email
    Challenge:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - http-01
          - dns-01
          - tls-alpn-01
        domain:
          type: string
        status:
          type: string
          enum:
          - pending
          - processing
          - valid
          - invalid
        token:
          type: string
          description: Challenge token to deploy
        validationRecord:
          type: object
          description: Expected record (URL for http-01, DNS record for dns-01)
    DomainListResponse:
      type: object
      properties:
        domains:
          type: array
          items:
            $ref: '#/components/schemas/Domain'
        total:
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key