{
  "@context": {
    "@vocab": "https://tessio.eu/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "tessio": "https://tessio.eu/schema#",
    "CreateAgeCheckRequest": "tessio:CreateAgeCheckRequest",
    "minAge": {
      "@id": "tessio:minAge",
      "@type": "xsd:integer"
    },
    "reference": {
      "@id": "tessio:reference",
      "@type": "xsd:string"
    },
    "credential": {
      "@id": "tessio:credential",
      "@type": "xsd:string"
    },
    "AgeCheckCreated": "tessio:AgeCheckCreated",
    "id": {
      "@id": "tessio:id",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "tessio:url",
      "@type": "@id"
    },
    "status": {
      "@id": "tessio:status",
      "@type": "xsd:string"
    },
    "expiresAt": {
      "@id": "tessio:expiresAt",
      "@type": "xsd:dateTime"
    },
    "mode": {
      "@id": "tessio:mode",
      "@type": "@id"
    },
    "Error": "tessio:Error",
    "error": {
      "@id": "tessio:error",
      "@type": "xsd:string"
    },
    "AgeCheckList": "tessio:AgeCheckList",
    "data": {
      "@id": "tessio:data",
      "@container": "@list"
    },
    "hasMore": {
      "@id": "tessio:hasMore",
      "@type": "xsd:boolean"
    },
    "AgeCheck": "tessio:AgeCheck",
    "result": {
      "@id": "tessio:result"
    },
    "failedAttempts": {
      "@id": "tessio:failedAttempts",
      "@type": "xsd:integer"
    },
    "lastFailureCodes": {
      "@id": "tessio:lastFailureCodes",
      "@container": "@list"
    },
    "AgeCheckStatsSummary": "tessio:AgeCheckStatsSummary",
    "current": {
      "@id": "tessio:current",
      "@type": "@id"
    },
    "previous": {
      "@id": "tessio:previous",
      "@type": "@id"
    },
    "retention": {
      "@id": "tessio:retention",
      "@type": "@id"
    },
    "AgeCheckStatsSeries": "tessio:AgeCheckStatsSeries",
    "metric": {
      "@id": "tessio:metric",
      "@type": "xsd:string"
    },
    "granularity": {
      "@id": "tessio:granularity",
      "@type": "xsd:string"
    },
    "points": {
      "@id": "tessio:points",
      "@container": "@list"
    },
    "AgeCheckStatsFailures": "tessio:AgeCheckStatsFailures",
    "groupBy": {
      "@id": "tessio:groupBy",
      "@type": "xsd:string"
    },
    "rows": {
      "@id": "tessio:rows",
      "@container": "@list"
    },
    "AgeCheckStatsFunnel": "tessio:AgeCheckStatsFunnel",
    "created": {
      "@id": "tessio:created",
      "@type": "xsd:integer"
    },
    "responseReceived": {
      "@id": "tessio:responseReceived",
      "@type": "xsd:integer"
    },
    "completed": {
      "@id": "tessio:completed",
      "@type": "xsd:integer"
    },
    "eudiw": {
      "@id": "tessio:eudiw",
      "@type": "@id"
    },
    "AgeCheckStatsBreakdown": "tessio:AgeCheckStatsBreakdown",
    "SetWebhookRequest": "tessio:SetWebhookRequest",
    "events": {
      "@id": "tessio:events",
      "@container": "@list"
    },
    "WebhookCreated": "tessio:WebhookCreated",
    "secret": {
      "@id": "tessio:secret",
      "@type": "xsd:string"
    },
    "WebhookConfig": "tessio:WebhookConfig",
    "WebhookSecret": "tessio:WebhookSecret",
    "Mode": "tessio:Mode",
    "AgeCheckSummary": "tessio:AgeCheckSummary",
    "meetsMinAge": {
      "@id": "tessio:meetsMinAge",
      "@type": "xsd:boolean"
    },
    "method": {
      "@id": "tessio:method",
      "@type": "xsd:string"
    },
    "transport": {
      "@id": "tessio:transport",
      "@type": "xsd:string"
    },
    "createdAt": {
      "@id": "tessio:createdAt",
      "@type": "xsd:dateTime"
    },
    "billable": {
      "@id": "tessio:billable",
      "@type": "xsd:boolean"
    },
    "AgeCheckResult": "tessio:AgeCheckResult",
    "StatsPeriod": "tessio:StatsPeriod",
    "from": {
      "@id": "tessio:from",
      "@type": "xsd:date"
    },
    "to": {
      "@id": "tessio:to",
      "@type": "xsd:date"
    },
    "outcomes": {
      "@id": "tessio:outcomes",
      "@type": "@id"
    },
    "passRate": {
      "@id": "tessio:passRate",
      "@type": "xsd:decimal"
    },
    "failRate": {
      "@id": "tessio:failRate",
      "@type": "xsd:decimal"
    },
    "noAnswerRate": {
      "@id": "tessio:noAnswerRate",
      "@type": "xsd:decimal"
    },
    "p50Seconds": {
      "@id": "tessio:p50Seconds",
      "@type": "xsd:decimal"
    },
    "p95Seconds": {
      "@id": "tessio:p95Seconds",
      "@type": "xsd:decimal"
    },
    "StatsRetention": "tessio:StatsRetention",
    "recordsFrom": {
      "@id": "tessio:recordsFrom",
      "@type": "xsd:date"
    },
    "eventsFrom": {
      "@id": "tessio:eventsFrom",
      "@type": "xsd:date"
    },
    "PlanFeatureUnavailable": "tessio:PlanFeatureUnavailable",
    "feature": {
      "@id": "tessio:feature",
      "@type": "xsd:string"
    },
    "StatsPoint": "tessio:StatsPoint",
    "bucket": {
      "@id": "tessio:bucket",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "tessio:value",
      "@type": "xsd:decimal"
    },
    "StatsFailureRow": "tessio:StatsFailureRow",
    "category": {
      "@id": "tessio:category",
      "@type": "xsd:string"
    },
    "group": {
      "@id": "tessio:group",
      "@type": "xsd:string"
    },
    "count": {
      "@id": "tessio:count",
      "@type": "xsd:integer"
    },
    "StatsEudiwFunnel": "tessio:StatsEudiwFunnel",
    "requestFetched": {
      "@id": "tessio:requestFetched",
      "@type": "xsd:integer"
    },
    "StatsBreakdownRow": "tessio:StatsBreakdownRow",
    "key": {
      "@id": "tessio:key",
      "@type": "xsd:string"
    },
    "label": {
      "@id": "tessio:label",
      "@type": "xsd:string"
    },
    "WebhookEventType": "tessio:WebhookEventType",
    "StatsOutcomes": "tessio:StatsOutcomes",
    "total": {
      "@id": "tessio:total",
      "@type": "xsd:integer"
    },
    "passed": {
      "@id": "tessio:passed",
      "@type": "xsd:integer"
    },
    "underAge": {
      "@id": "tessio:underAge",
      "@type": "xsd:integer"
    },
    "failed": {
      "@id": "tessio:failed",
      "@type": "xsd:integer"
    },
    "expired": {
      "@id": "tessio:expired",
      "@type": "xsd:integer"
    },
    "pending": {
      "@id": "tessio:pending",
      "@type": "xsd:integer"
    },
    "noAnswer": {
      "@id": "tessio:noAnswer",
      "@type": "xsd:integer"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "tessio-eu API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects tessio-eu'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-10-31) from openapi/tessio-eu-openapi.json.",
  "dcterms:created": "2026-10-31",
  "dcterms:source": [
    "openapi/tessio-eu-openapi.json"
  ]
}