{
  "@context": {
    "@vocab": "https://domainlab.app/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "domainlab": "https://domainlab.app/schema#",
    "DomainSummary": "domainlab:DomainSummary",
    "id": {
      "@id": "domainlab:id",
      "@type": "xsd:integer"
    },
    "domain_name": {
      "@id": "domainlab:domain_name",
      "@type": "xsd:string"
    },
    "notification_enabled": {
      "@id": "domainlab:notification_enabled",
      "@type": "xsd:boolean"
    },
    "monitoring_enabled": {
      "@id": "domainlab:monitoring_enabled",
      "@type": "xsd:boolean"
    },
    "frequency_interval": {
      "@id": "domainlab:frequency_interval",
      "@type": "xsd:string"
    },
    "last_checked_at": {
      "@id": "domainlab:last_checked_at",
      "@type": "xsd:dateTime"
    },
    "created_at": {
      "@id": "domainlab:created_at",
      "@type": "xsd:dateTime"
    },
    "registrar": {
      "@id": "domainlab:registrar",
      "@type": "xsd:string"
    },
    "ssl_issuer": {
      "@id": "domainlab:ssl_issuer",
      "@type": "xsd:string"
    },
    "ssl_valid_to": {
      "@id": "domainlab:ssl_valid_to",
      "@type": "xsd:dateTime"
    },
    "security_score": {
      "@id": "domainlab:security_score",
      "@type": "xsd:integer"
    },
    "nameservers": {
      "@id": "domainlab:nameservers",
      "@type": "xsd:string"
    },
    "days_until_domain_expires": {
      "@id": "domainlab:days_until_domain_expires",
      "@type": "xsd:integer"
    },
    "days_until_ssl_expires": {
      "@id": "domainlab:days_until_ssl_expires",
      "@type": "xsd:integer"
    },
    "has_error": {
      "@id": "domainlab:has_error",
      "@type": "xsd:boolean"
    },
    "DnsRecord": "domainlab:DnsRecord",
    "record_type": {
      "@id": "domainlab:record_type",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "domainlab:name",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "domainlab:value",
      "@type": "xsd:string"
    },
    "ttl": {
      "@id": "domainlab:ttl",
      "@type": "xsd:integer"
    },
    "priority": {
      "@id": "domainlab:priority",
      "@type": "xsd:integer"
    },
    "Scan": "domainlab:Scan",
    "checked_at": {
      "@id": "domainlab:checked_at",
      "@type": "xsd:dateTime"
    },
    "expiration_date": {
      "@id": "domainlab:expiration_date",
      "@type": "xsd:dateTime"
    },
    "creation_date": {
      "@id": "domainlab:creation_date",
      "@type": "xsd:dateTime"
    },
    "updated_date": {
      "@id": "domainlab:updated_date",
      "@type": "xsd:dateTime"
    },
    "domain_status": {
      "@id": "domainlab:domain_status",
      "@type": "xsd:string"
    },
    "site_status": {
      "@id": "domainlab:site_status",
      "@type": "xsd:string"
    },
    "ssl_valid_from": {
      "@id": "domainlab:ssl_valid_from",
      "@type": "xsd:dateTime"
    },
    "ssl_cipher": {
      "@id": "domainlab:ssl_cipher",
      "@type": "xsd:string"
    },
    "ssl_protocol": {
      "@id": "domainlab:ssl_protocol",
      "@type": "xsd:string"
    },
    "subject": {
      "@id": "domainlab:subject",
      "@type": "xsd:string"
    },
    "serial_number": {
      "@id": "domainlab:serial_number",
      "@type": "xsd:string"
    },
    "fingerprint": {
      "@id": "domainlab:fingerprint",
      "@type": "xsd:string"
    },
    "error": {
      "@id": "domainlab:error",
      "@type": "xsd:string"
    },
    "dns_records": {
      "@id": "domainlab:dns_records",
      "@container": "@list"
    },
    "Event": "domainlab:Event",
    "detected_at": {
      "@id": "domainlab:detected_at",
      "@type": "xsd:dateTime"
    },
    "description": {
      "@id": "domainlab:description",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "domainlab:status",
      "@type": "xsd:string"
    },
    "payload": {
      "@id": "domainlab:payload"
    },
    "event_type": {
      "@id": "domainlab:event_type"
    },
    "domain": {
      "@id": "domainlab:domain"
    },
    "InboxItem": "domainlab:InboxItem",
    "read_at": {
      "@id": "domainlab:read_at",
      "@type": "xsd:dateTime"
    },
    "domain_id": {
      "@id": "domainlab:domain_id",
      "@type": "xsd:integer"
    },
    "event_id": {
      "@id": "domainlab:event_id",
      "@type": "xsd:integer"
    },
    "severity": {
      "@id": "domainlab:severity",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "domainlab:message",
      "@type": "xsd:string"
    },
    "Alert": "domainlab:Alert",
    "sent_at": {
      "@id": "domainlab:sent_at",
      "@type": "xsd:dateTime"
    },
    "error_message": {
      "@id": "domainlab:error_message",
      "@type": "xsd:string"
    },
    "alert_level": {
      "@id": "domainlab:alert_level",
      "@type": "xsd:string"
    },
    "updated_at": {
      "@id": "domainlab:updated_at",
      "@type": "xsd:dateTime"
    },
    "provider": {
      "@id": "domainlab:provider"
    },
    "event": {
      "@id": "domainlab:event"
    },
    "Quota": "domainlab:Quota",
    "used": {
      "@id": "domainlab:used",
      "@type": "xsd:integer"
    },
    "limit": {
      "@id": "domainlab:limit",
      "@type": "xsd:integer"
    },
    "resets_at": {
      "@id": "domainlab:resets_at",
      "@type": "xsd:dateTime"
    },
    "AiReview": "domainlab:AiReview",
    "review_type": {
      "@id": "domainlab:review_type",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "domainlab:summary",
      "@type": "xsd:string"
    },
    "recommendations": {
      "@id": "domainlab:recommendations",
      "@container": "@list"
    },
    "ai_confidence_score": {
      "@id": "domainlab:ai_confidence_score",
      "@type": "xsd:decimal"
    },
    "completed_at": {
      "@id": "domainlab:completed_at",
      "@type": "xsd:dateTime"
    },
    "AlertRule": "domainlab:AlertRule",
    "event_type_id": {
      "@id": "domainlab:event_type_id",
      "@type": "xsd:integer"
    },
    "event_type_name": {
      "@id": "domainlab:event_type_name",
      "@type": "xsd:string"
    },
    "muted": {
      "@id": "domainlab:muted",
      "@type": "xsd:boolean"
    },
    "is_enabled": {
      "@id": "domainlab:is_enabled",
      "@type": "xsd:boolean"
    },
    "DomainAlerts": "domainlab:DomainAlerts",
    "rules": {
      "@id": "domainlab:rules",
      "@container": "@list"
    },
    "thresholds_scope": {
      "@id": "domainlab:thresholds_scope",
      "@type": "xsd:string"
    },
    "RegistrarConnection": "domainlab:RegistrarConnection",
    "label": {
      "@id": "domainlab:label",
      "@type": "xsd:string"
    },
    "auto_add": {
      "@id": "domainlab:auto_add",
      "@type": "xsd:boolean"
    },
    "last_synced_at": {
      "@id": "domainlab:last_synced_at",
      "@type": "xsd:dateTime"
    },
    "last_sync_status": {
      "@id": "domainlab:last_sync_status",
      "@type": "xsd:string"
    },
    "last_sync_error": {
      "@id": "domainlab:last_sync_error",
      "@type": "xsd:string"
    },
    "last_sync_summary": {
      "@id": "domainlab:last_sync_summary"
    },
    "Error": "domainlab:Error",
    "statusCode": {
      "@id": "domainlab:statusCode",
      "@type": "xsd:integer"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Domain Lab API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Domain Lab's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-05) from openapi/domainlab-app-openapi.json.",
  "dcterms:created": "2026-11-05",
  "dcterms:source": [
    "openapi/domainlab-app-openapi.json"
  ]
}