{
  "@context": {
    "@version": 1.1,
    "merge": "https://api.merge.dev/schema/",
    "gw": "https://api-gateway.merge.dev/schema/",
    "schema": "https://schema.org/",
    "dcterms": "http://purl.org/dc/terms/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",

    "GatewayResponse": "gw:Response",
    "Model": "gw:Model",
    "Vendor": "gw:Vendor",
    "RoutingPolicy": "gw:RoutingPolicy",
    "RoutingStrategy": "gw:RoutingStrategy",
    "Tag": "gw:Tag",
    "Usage": "gw:Usage",

    "id": { "@id": "dcterms:identifier", "@type": "xsd:string" },
    "model": { "@id": "gw:model", "@type": "xsd:string" },
    "vendor": { "@id": "gw:vendor", "@type": "xsd:string" },
    "provider": { "@id": "gw:provider", "@type": "xsd:string" },
    "createdAt": { "@id": "dcterms:created", "@type": "xsd:dateTime" },
    "output": { "@id": "gw:output", "@container": "@set" },
    "usage": { "@id": "gw:usage" },
    "inputTokens": { "@id": "gw:input_tokens", "@type": "xsd:integer" },
    "outputTokens": { "@id": "gw:output_tokens", "@type": "xsd:integer" },
    "cachedInputTokens": { "@id": "gw:cached_input_tokens", "@type": "xsd:integer" },
    "routing": { "@id": "gw:routing" },
    "policy": { "@id": "gw:policy", "@type": "xsd:string" },
    "strategy": { "@id": "gw:strategy", "@type": "xsd:string" },
    "tags": { "@id": "gw:tags", "@container": "@set" }
  }
}
