{
  "request_status": "success",
  "message": "API documentation retrieved successfully",
  "data": {
    "api_info": {
      "name": "Domain Security Information API",
      "version": "v1",
      "description": "A comprehensive security analysis API that provides information for domains, TLDs, IP addresses, and ASNs. Supports DNS records, security configurations (SPF, DMARC, DKIM, DNSSEC, HSTS), WHOIS data, and service provider identification. The API automatically detects the input type (domain, TLD, IP, or ASN) and returns appropriate information.",
      "base_url": "https://domainsecurityinfo.com",
      "documentation_url": "https://domainsecurityinfo.com/api/v1/docs"
    },
    "endpoints": [
      {
        "path": "/api/v1/docs",
        "method": "GET",
        "description": "Get API documentation",
        "parameters": [],
        "response_format": "JSON",
        "example_request": "GET /api/v1/docs"
      },
      {
        "path": "/api/v1/{input}",
        "method": "GET",
        "description": "Universal lookup endpoint that automatically detects input type. Supports: TLDs (com, org, co.uk), domains (example.com), IP addresses (8.8.8.8, 2001:4860:4860::8888), and ASNs (AS15169, 15169). Returns appropriate information based on input type.",
        "parameters": [
          {
            "name": "input",
            "type": "path",
            "required": true,
            "description": "Can be a TLD (com, org), domain (example.com), IPv4/IPv6 address (8.8.8.8, 2001:4860:4860::8888), or ASN (AS15169, 15169)"
          },
          {
            "name": "fields",
            "type": "query",
            "required": false,
            "description": "Comma-separated list of specific fields to return (domain lookups only)"
          }
        ],
        "response_format": "JSON",
        "example_requests": [
          "GET /api/v1/com",
          "GET /api/v1/example.com",
          "GET /api/v1/8.8.8.8",
          "GET /api/v1/2001:4860:4860::8888",
          "GET /api/v1/AS15169",
          "GET /api/v1/example.com?fields=nameservers,spfStatus,dmarcStatus"
        ],
        "example_response_tld": {
          "request_status": "success",
          "message": "TLD information retrieved for com",
          "data": {
            "tld": "com",
            "registry": "VeriSign Global Registry Services",
            "whois_server": "whois.verisign-grs.com",
            "nameservers": [
              "a.gtld-servers.net",
              "b.gtld-servers.net"
            ],
            "dnssec": {
              "signed": true,
              "ds_records": [
                {
                  "key_tag": 19718,
                  "algorithm": 8,
                  "algorithm_name": "RSA/SHA-256",
                  "digest_type": 2,
                  "digest_type_name": "SHA-256",
                  "digest": "8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D771D7805A"
                }
              ]
            },
            "contacts": {},
            "restrictions": [],
            "remarks": []
          }
        },
        "example_response_domain": {
          "request_status": "success",
          "message": "Domain security information retrieved for example.com",
          "data": {
            "domain": "example.com",
            "apexDomain": "example.com",
            "nameservers": [],
            "spfStatus": {},
            "dmarcStatus": {}
          },
          "available_fields": [
            "domain",
            "apexDomain",
            "nameservers",
            "txtRecords",
            "mxRecords",
            "aRecords",
            "aaaaRecords",
            "dnssecStatus",
            "spfStatus",
            "dmarcStatus",
            "dkimStatus",
            "hstsStatus",
            "hstsPreloadStatus",
            "mtaStsStatus",
            "tlsRptStatus",
            "whoisData",
            "services"
          ]
        },
        "example_response_ip": {
          "request_status": "success",
          "message": "IP information retrieved for 8.8.8.8",
          "data": {
            "ip": "8.8.8.8",
            "ip_type": "IPv4",
            "whois": {
              "organization": {
                "name": "Google LLC"
              },
              "network": {
                "cidr": "8.8.8.0/24"
              },
              "rir": "ARIN",
              "asn": {
                "number": 15169,
                "name": "GOOGLE"
              }
            },
            "known_prefix": null
          }
        },
        "example_response_asn": {
          "request_status": "success",
          "message": "ASN information retrieved for AS15169",
          "data": {
            "asn": "15169",
            "whois": {
              "asn": "15169",
              "name": "GOOGLE",
              "description": "Google LLC",
              "country": "US",
              "rir": "ARIN",
              "organization": {
                "name": "Google LLC"
              }
            }
          }
        }
      },
      {
        "path": "/api/v1/{domain}/raw",
        "method": "GET",
        "description": "Get complete raw domain security data without filtering",
        "parameters": [
          {
            "name": "domain",
            "type": "path",
            "required": true,
            "description": "The domain name to query"
          }
        ],
        "response_format": "JSON",
        "example_request": "GET /api/v1/example.com/raw",
        "example_response": {
          "request_status": "success",
          "message": "Raw domain data retrieved for example.com",
          "data": {
            "domain": "example.com",
            "apexDomain": "example.com",
            "nameservers": [],
            "txtRecords": [],
            "mxRecords": [],
            "dnssecStatus": {},
            "spfStatus": {},
            "dmarcStatus": {},
            "dkimStatus": {},
            "hstsStatus": {},
            "hstsPreloadStatus": {},
            "mtaStsStatus": {},
            "tlsRptStatus": {},
            "whoisData": {},
            "services": []
          }
        }
      }
    ],
    "response_fields": {
      "basic_info": [
        "domain",
        "apexDomain"
      ],
      "dns_records": [
        "nameservers",
        "txtRecords",
        "mxRecords"
      ],
      "security_configs": [
        "dnssecStatus",
        "spfStatus",
        "dmarcStatus",
        "dkimStatus"
      ],
      "transport_security": [
        "hstsStatus",
        "hstsPreloadStatus",
        "mtaStsStatus",
        "tlsRptStatus"
      ],
      "whois": [
        "whoisData"
      ],
      "service_detection": [
        "services"
      ]
    },
    "error_codes": {
      "ERROR_NO_DOMAIN": "No domain specified in the request",
      "ERROR_INVALID_INPUT": "Input is neither a valid domain nor a valid TLD",
      "ERROR_DOMAIN_LOOKUP": "Failed to lookup domain information",
      "ERROR_INTERNAL": "Internal server error"
    },
    "rate_limiting": {
      "description": "No explicit rate limiting currently, but reasonable usage is expected",
      "recommendation": "Limit requests to 100 per minute per IP address"
    },
    "caching": {
      "description": "Responses are cached for 5 minutes",
      "headers": {
        "Cache-Control": "max-age=300"
      }
    },
    "cors": {
      "description": "CORS is enabled for all origins",
      "headers": {
        "Access-Control-Allow-Origin": "*"
      }
    },
    "integration_examples": {
      "javascript": "\n// Domain lookup\nconst response = await fetch('https://domainsecurityinfo.com/api/v1/example.com');\nconst data = await response.json();\n\n// TLD lookup\nconst tldResponse = await fetch('https://domainsecurityinfo.com/api/v1/com');\nconst tldData = await tldResponse.json();\n\n// IP address lookup\nconst ipResponse = await fetch('https://domainsecurityinfo.com/api/v1/8.8.8.8');\nconst ipData = await ipResponse.json();\n\n// ASN lookup\nconst asnResponse = await fetch('https://domainsecurityinfo.com/api/v1/AS15169');\nconst asnData = await asnResponse.json();\n\n// Get specific fields only (domains)\nconst fieldsResponse = await fetch('https://domainsecurityinfo.com/api/v1/example.com?fields=nameservers,spfStatus,dmarcStatus');\nconst fieldsData = await fieldsResponse.json();\n\n// Get complete raw data\nconst rawResponse = await fetch('https://domainsecurityinfo.com/api/v1/example.com/raw');\nconst rawData = await rawResponse.json();\n        ",
      "python": "\nimport requests\n\n# Domain lookup\nresponse = requests.get('https://domainsecurityinfo.com/api/v1/example.com')\ndata = response.json()\n\n# TLD lookup\ntld_response = requests.get('https://domainsecurityinfo.com/api/v1/com')\ntld_data = tld_response.json()\n\n# IP address lookup\nip_response = requests.get('https://domainsecurityinfo.com/api/v1/8.8.8.8')\nip_data = ip_response.json()\n\n# ASN lookup\nasn_response = requests.get('https://domainsecurityinfo.com/api/v1/AS15169')\nasn_data = asn_response.json()\n\n# Get specific fields only (domains)\nfields_response = requests.get('https://domainsecurityinfo.com/api/v1/example.com?fields=nameservers,spfStatus,dmarcStatus')\nfields_data = fields_response.json()\n\n# Get complete raw data\nraw_response = requests.get('https://domainsecurityinfo.com/api/v1/example.com/raw')\nraw_data = raw_response.json()\n        ",
      "curl": "\n# Domain lookup\ncurl \"https://domainsecurityinfo.com/api/v1/example.com\"\n\n# TLD lookup\ncurl \"https://domainsecurityinfo.com/api/v1/com\"\n\n# IP address lookup\ncurl \"https://domainsecurityinfo.com/api/v1/8.8.8.8\"\n\n# IPv6 lookup\ncurl \"https://domainsecurityinfo.com/api/v1/2001:4860:4860::8888\"\n\n# ASN lookup\ncurl \"https://domainsecurityinfo.com/api/v1/AS15169\"\n\n# Get specific fields only (domains)\ncurl \"https://domainsecurityinfo.com/api/v1/example.com?fields=nameservers,spfStatus,dmarcStatus\"\n\n# Get complete raw data\ncurl \"https://domainsecurityinfo.com/api/v1/example.com/raw\"\n        "
    }
  }
}