SSL/TLS Orders API

Certificate order lifecycle

OpenAPI Specification

ssl-tls-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SSL/TLS Certificate Management Certificates Orders 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: Orders
  description: Certificate order lifecycle
paths:
  /orders:
    get:
      operationId: listOrders
      summary: List Orders
      description: Returns a list of certificate orders with their current status and validation state.
      tags:
      - Orders
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - pending
          - processing
          - valid
          - invalid
          - expired
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      responses:
        '200':
          description: Order list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderListResponse'
  /orders/{orderId}:
    get:
      operationId: getOrder
      summary: Get Order
      description: Returns the current status of a certificate order including challenge status.
      tags:
      - Orders
      parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateOrder'
components:
  schemas:
    CertificateOrder:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - pending
          - processing
          - valid
          - invalid
          - expired
        domains:
          type: array
          items:
            type: string
        challenges:
          type: array
          items:
            $ref: '#/components/schemas/Challenge'
        certificateId:
          type: string
          nullable: true
          description: Set when status is valid
        expiresAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
    OrderListResponse:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/CertificateOrder'
        total:
          type: integer
    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)
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key