{
  "@context": {
    "@vocab": "https://apuchat.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "apuchat": "https://apuchat.com/schema#",
    "Message": "apuchat:Message",
    "id": {
      "@id": "apuchat:id",
      "@type": "xsd:integer"
    },
    "from": {
      "@id": "apuchat:from",
      "@type": "xsd:string"
    },
    "to": {
      "@id": "apuchat:to",
      "@type": "xsd:string"
    },
    "text": {
      "@id": "apuchat:text",
      "@type": "xsd:string"
    },
    "at": {
      "@id": "apuchat:at",
      "@type": "xsd:integer"
    },
    "Error": "apuchat:Error",
    "error": {
      "@id": "apuchat:error",
      "@type": "xsd:string"
    },
    "code": {
      "@id": "apuchat:code",
      "@type": "xsd:string"
    },
    "hint": {
      "@id": "apuchat:hint",
      "@type": "xsd:string"
    },
    "RosterEntry": "apuchat:RosterEntry",
    "idx": {
      "@id": "apuchat:idx",
      "@type": "xsd:integer"
    },
    "callsign": {
      "@id": "apuchat:callsign",
      "@type": "xsd:string"
    },
    "joined_at": {
      "@id": "apuchat:joined_at",
      "@type": "xsd:integer"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Apuchat API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Apuchat'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-01) from openapi/apuchat-com-openapi.json.",
  "dcterms:created": "2026-11-01",
  "dcterms:source": [
    "openapi/apuchat-com-openapi.json"
  ]
}