{
  "openapi": "3.0.3",
  "info": {
    "title": "NIST CMVP Data API",
    "description": "Static JSON API for NIST Cryptographic Module Validation Program data. Auto-updated weekly via GitHub Actions. Unofficial project - see https://csrc.nist.gov/projects/cryptographic-module-validation-program for authoritative data.",
    "version": "3.0",
    "contact": {
      "url": "https://github.com/hackIDLE/nist-cmvp-api"
    }
  },
  "externalDocs": {
    "description": "Markdown API reference",
    "url": "https://hackidle.github.io/nist-cmvp-api/api/docs.md"
  },
  "servers": [
    {
      "url": "https://hackidle.github.io/nist-cmvp-api",
      "description": "GitHub Pages (production)"
    }
  ],
  "paths": {
    "/api/index.json": {
      "get": {
        "summary": "API index and endpoint listing",
        "operationId": "getIndex",
        "responses": {
          "200": {
            "description": "API discovery endpoint with available endpoints and feature flags",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Index"
                }
              }
            }
          }
        }
      }
    },
    "/api/metadata.json": {
      "get": {
        "summary": "Dataset metadata",
        "operationId": "getMetadata",
        "responses": {
          "200": {
            "description": "Generation timestamp, module counts, and data source information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          }
        }
      }
    },
    "/api/modules.json": {
      "get": {
        "summary": "Active validated cryptographic modules",
        "operationId": "getModules",
        "responses": {
          "200": {
            "description": "Currently 1084 active validated modules with enriched details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModulesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/historical-modules.json": {
      "get": {
        "summary": "Historical (expired/revoked) cryptographic modules",
        "operationId": "getHistoricalModules",
        "responses": {
          "200": {
            "description": "Currently 4147 historical modules",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModulesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/modules-in-process.json": {
      "get": {
        "summary": "Modules currently in the validation process",
        "operationId": "getModulesInProcess",
        "responses": {
          "200": {
            "description": "Currently 331 modules in process",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModulesInProcessResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/algorithms.json": {
      "get": {
        "summary": "Algorithm usage statistics across all certificates",
        "operationId": "getAlgorithms",
        "responses": {
          "200": {
            "description": "Algorithm counts and certificate mappings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlgorithmsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/certificates/{certificate}.json": {
      "get": {
        "summary": "Full certificate detail record",
        "operationId": "getCertificateDetail",
        "parameters": [
          {
            "name": "certificate",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Numeric CMVP certificate number"
          }
        ],
        "responses": {
          "200": {
            "description": "Certificate detail payload mirroring the NIST certificate page sections",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateDetailResponse"
                }
              }
            }
          },
          "404": {
            "description": "Certificate detail record not found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Metadata": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-04-15T03:31:05.200146Z"
          },
          "total_modules": {
            "type": "integer",
            "example": 1084
          },
          "total_historical_modules": {
            "type": "integer",
            "example": 4147
          },
          "total_modules_in_process": {
            "type": "integer",
            "example": 331
          },
          "total_certificates_with_algorithms": {
            "type": "integer",
            "example": 1608
          },
          "total_certificate_details": {
            "type": "integer",
            "example": 5231
          },
          "source": {
            "type": "string",
            "example": "https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search"
          },
          "algorithm_source": {
            "type": "string",
            "example": "firecrawl"
          },
          "algorithm_cache_version": {
            "type": "string",
            "example": "2026-04-15-legacy-v1"
          },
          "version": {
            "type": "string",
            "example": "3.0"
          }
        }
      },
      "Module": {
        "type": "object",
        "description": "A FIPS 140-2/140-3 validated cryptographic module",
        "properties": {
          "Certificate Number_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5242"
          },
          "Certificate Number": {
            "type": "string",
            "example": "5242"
          },
          "Vendor Name": {
            "type": "string",
            "example": "Amazon Web Services, Inc."
          },
          "Module Name": {
            "type": "string",
            "example": "AWS OpenSSL FIPS Module (based on the OpenSSL FIPS Provider)"
          },
          "Module Type": {
            "type": "string",
            "example": "Software"
          },
          "Validation Date": {
            "type": "string",
            "example": "04/14/2026"
          },
          "security_policy_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp5242.pdf"
          },
          "certificate_detail_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5242"
          },
          "module_name": {
            "type": "string",
            "example": "AWS OpenSSL FIPS Module (based on the OpenSSL FIPS Provider)"
          },
          "standard": {
            "type": "string",
            "example": "FIPS 140-3"
          },
          "status": {
            "type": "string",
            "example": "Active"
          },
          "sunset_date": {
            "type": "string",
            "example": "3/10/2030"
          },
          "overall_level": {
            "type": "integer",
            "example": 1
          },
          "caveat": {
            "type": "string",
            "example": "When operated in approved mode. No assurance of the minimum strength of generated SSPs (e.g., keys)."
          },
          "module_type": {
            "type": "string",
            "example": "Software"
          },
          "embodiment": {
            "type": "string",
            "example": "MultiChipStand"
          },
          "description": {
            "type": "string",
            "example": "The AWS OpenSSL FIPS Module (based on the OpenSSL FIPS Provider) is a software library providing a C-language application program interface (API) for use by applications that require cryptographic functionality."
          },
          "detail_available": {
            "type": "boolean",
            "example": true
          },
          "algorithms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "AES",
              "CVL",
              "DES"
            ]
          },
          "algorithms_detailed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "AES-CBC | A3548 | Direction - Decrypt, Encrypt | Key Length - 128, 192, 256 | SP 800- | 38A",
              "AES-CBC- | CS1 | A3548 | Direction - decrypt, encrypt | Key Length - 128, 192, 256 | Payload Length - Payload Length: 128-65536 | Increment 8 | SP 800- | 38A",
              "AES-CBC- | CS2 | A3548 | Direction - decrypt, encrypt | Key Length - 128, 192, 256 | Payload Length - Payload Length: 128-65536 | Increment 8 | SP 800- | 38A"
            ]
          }
        }
      },
      "ModulesResponse": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "modules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Module"
            }
          }
        }
      },
      "ModulesInProcessResponse": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "modules_in_process": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Module"
            }
          }
        }
      },
      "AlgorithmsResponse": {
        "type": "object",
        "properties": {
          "total_unique_algorithms": {
            "type": "integer"
          },
          "total_certificate_algorithm_pairs": {
            "type": "integer"
          },
          "algorithms": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "count": {
                  "type": "integer"
                },
                "certificates": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      },
      "CertificateDetail": {
        "type": "object",
        "description": "Structured certificate detail record derived from the NIST certificate page",
        "properties": {
          "certificate_number": {
            "type": "string",
            "example": "5242"
          },
          "dataset": {
            "type": "string",
            "example": "active"
          },
          "generated_at": {
            "type": "string",
            "example": "2026-04-15T03:31:05.200146Z"
          },
          "nist_page_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5242"
          },
          "certificate_detail_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5242"
          },
          "security_policy_url": {
            "type": "string",
            "example": "https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp5242.pdf"
          },
          "vendor_name": {
            "type": "string",
            "example": "Amazon Web Services, Inc."
          },
          "module_name": {
            "type": "string",
            "example": "AWS OpenSSL FIPS Module (based on the OpenSSL FIPS Provider)"
          },
          "standard": {
            "type": "string",
            "example": "FIPS 140-3"
          },
          "status": {
            "type": "string",
            "example": "Active"
          },
          "module_type": {
            "type": "string",
            "example": "Software"
          },
          "embodiment": {
            "type": "string",
            "example": "MultiChipStand"
          },
          "overall_level": {
            "type": "integer",
            "example": 1
          },
          "validation_date": {
            "type": "string",
            "example": "4/14/2026"
          },
          "validation_dates": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "4/14/2026"
            ]
          },
          "sunset_date": {
            "type": "string",
            "example": "3/10/2030"
          },
          "caveat": {
            "type": "string",
            "example": "When operated in approved mode. No assurance of the minimum strength of generated SSPs (e.g., keys)."
          },
          "description": {
            "type": "string",
            "example": "The AWS OpenSSL FIPS Module (based on the OpenSSL FIPS Provider) is a software library providing a C-language application program interface (API) for use by applications that require cryptographic functionality."
          },
          "security_level_exceptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Physical security: N/A",
              "Non-invasive security: N/A",
              "Life-cycle assurance: Level 3"
            ]
          },
          "related_files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "validation_history": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "vendor": {
            "type": "object",
            "additionalProperties": true
          },
          "algorithms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "AES",
              "CVL",
              "DES"
            ]
          },
          "algorithms_detailed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "AES-CBC | A3548 | Direction - Decrypt, Encrypt | Key Length - 128, 192, 256 | SP 800- | 38A",
              "AES-CBC- | CS1 | A3548 | Direction - decrypt, encrypt | Key Length - 128, 192, 256 | Payload Length - Payload Length: 128-65536 | Increment 8 | SP 800- | 38A",
              "AES-CBC- | CS2 | A3548 | Direction - decrypt, encrypt | Key Length - 128, 192, 256 | Payload Length - Payload Length: 128-65536 | Increment 8 | SP 800- | 38A"
            ]
          }
        }
      },
      "CertificateDetailResponse": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "properties": {
              "generated_at": {
                "type": "string",
                "format": "date-time"
              },
              "dataset": {
                "type": "string"
              },
              "source": {
                "type": "string"
              }
            }
          },
          "certificate": {
            "$ref": "#/components/schemas/CertificateDetail"
          }
        }
      },
      "Index": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "NIST CMVP API"
          },
          "description": {
            "type": "string",
            "example": "Static JSON API for NIST Cryptographic Module Validation Program data with certificate detail records and generated agent-facing documentation"
          },
          "base_url": {
            "type": "string",
            "example": "https://hackidle.github.io/nist-cmvp-api"
          },
          "endpoints": {
            "type": "object"
          },
          "documentation": {
            "type": "object"
          },
          "last_updated": {
            "type": "string",
            "format": "date-time"
          },
          "total_modules": {
            "type": "integer"
          },
          "total_historical_modules": {
            "type": "integer"
          },
          "total_modules_in_process": {
            "type": "integer"
          },
          "total_certificates_with_algorithms": {
            "type": "integer"
          },
          "total_certificate_details": {
            "type": "integer"
          },
          "features": {
            "type": "object"
          }
        }
      }
    }
  }
}