{
  "@context": {
    "@vocab": "https://underly.app/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "underly": "https://underly.app/schema#",
    "Error": "underly:Error",
    "error": {
      "@id": "underly:error"
    },
    "AnalysisListItem": "underly:AnalysisListItem",
    "id": {
      "@id": "underly:id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "underly:name"
    },
    "merchantName": {
      "@id": "underly:merchantName"
    },
    "status": {
      "@id": "underly:status",
      "@type": "xsd:string"
    },
    "periodStart": {
      "@id": "underly:periodStart"
    },
    "periodEnd": {
      "@id": "underly:periodEnd"
    },
    "accountCount": {
      "@id": "underly:accountCount",
      "@type": "xsd:integer"
    },
    "statementFileCount": {
      "@id": "underly:statementFileCount",
      "@type": "xsd:integer"
    },
    "failedStatementFileCount": {
      "@id": "underly:failedStatementFileCount",
      "@type": "xsd:integer"
    },
    "updatedAt": {
      "@id": "underly:updatedAt",
      "@type": "xsd:string"
    },
    "Analysis": "underly:Analysis",
    "statementFiles": {
      "@id": "underly:statementFiles",
      "@container": "@list"
    },
    "summary": {
      "@id": "underly:summary"
    },
    "Position": "underly:Position",
    "funder": {
      "@id": "underly:funder",
      "@type": "xsd:string"
    },
    "registryFunder": {
      "@id": "underly:registryFunder"
    },
    "instrument": {
      "@id": "underly:instrument",
      "@type": "xsd:string"
    },
    "excluded": {
      "@id": "underly:excluded",
      "@type": "xsd:boolean"
    },
    "cadence": {
      "@id": "underly:cadence"
    },
    "paymentAmount": {
      "@id": "underly:paymentAmount"
    },
    "monthlyRunRate": {
      "@id": "underly:monthlyRunRate"
    },
    "observedTotal": {
      "@id": "underly:observedTotal",
      "@type": "xsd:decimal"
    },
    "debitCount": {
      "@id": "underly:debitCount",
      "@type": "xsd:integer"
    },
    "firstSeen": {
      "@id": "underly:firstSeen",
      "@type": "xsd:string"
    },
    "lastSeen": {
      "@id": "underly:lastSeen",
      "@type": "xsd:string"
    },
    "TransactionPage": "underly:TransactionPage",
    "transactions": {
      "@id": "underly:transactions",
      "@container": "@list"
    },
    "total": {
      "@id": "underly:total",
      "@type": "xsd:integer"
    },
    "page": {
      "@id": "underly:page",
      "@type": "xsd:integer"
    },
    "pageSize": {
      "@id": "underly:pageSize",
      "@type": "xsd:integer"
    },
    "Intake": "underly:Intake",
    "WebhookEvent": "underly:WebhookEvent",
    "type": {
      "@id": "underly:type",
      "@type": "xsd:string"
    },
    "createdAt": {
      "@id": "underly:createdAt",
      "@type": "xsd:string"
    },
    "data": {
      "@id": "underly:data"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Underly API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Underly'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-30) from openapi/underly-openapi.json, openapi/underly_openapi.json.",
  "dcterms:created": "2026-10-30",
  "dcterms:source": [
    "openapi/underly-openapi.json",
    "openapi/underly_openapi.json"
  ]
}