{
  "@context": {
    "@vocab": "https://harvis.dev/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "harvis": "https://harvis.dev/schema#",
    "Account": "harvis:Account",
    "id": {
      "@id": "harvis:id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "harvis:name",
      "@type": "xsd:string"
    },
    "email": {
      "@id": "harvis:email",
      "@type": "xsd:string"
    },
    "image": {
      "@id": "harvis:image"
    },
    "AddFilesInput": "harvis:AddFilesInput",
    "files": {
      "@id": "harvis:files",
      "@container": "@list"
    },
    "paths": {
      "@id": "harvis:paths",
      "@container": "@list"
    },
    "AddFilesResult": "harvis:AddFilesResult",
    "site": {
      "@id": "harvis:site",
      "@type": "@id"
    },
    "added": {
      "@id": "harvis:added",
      "@type": "xsd:integer"
    },
    "ApiError": "harvis:ApiError",
    "error": {
      "@id": "harvis:error"
    },
    "ApiIndex": "harvis:ApiIndex",
    "ok": {
      "@id": "harvis:ok",
      "@type": "xsd:boolean"
    },
    "via": {
      "@id": "harvis:via",
      "@type": "xsd:string"
    },
    "endpoints": {
      "@id": "harvis:endpoints",
      "@container": "@list"
    },
    "documentation": {
      "@id": "harvis:documentation",
      "@type": "xsd:string"
    },
    "ApiKey": "harvis:ApiKey",
    "prefix": {
      "@id": "harvis:prefix",
      "@type": "xsd:string"
    },
    "lastUsedAt": {
      "@id": "harvis:lastUsedAt"
    },
    "createdAt": {
      "@id": "harvis:createdAt",
      "@type": "xsd:dateTime"
    },
    "ApiKeyList": "harvis:ApiKeyList",
    "keys": {
      "@id": "harvis:keys",
      "@container": "@list"
    },
    "CreateApiKeyInput": "harvis:CreateApiKeyInput",
    "CreateApiKeyResult": "harvis:CreateApiKeyResult",
    "key": {
      "@id": "harvis:key",
      "@type": "@id"
    },
    "token": {
      "@id": "harvis:token",
      "@type": "xsd:string"
    },
    "CreateSiteInput": "harvis:CreateSiteInput",
    "CreateSiteResult": "harvis:CreateSiteResult",
    "deployToken": {
      "@id": "harvis:deployToken",
      "@type": "xsd:string"
    },
    "DeletedResult": "harvis:DeletedResult",
    "removed": {
      "@id": "harvis:removed",
      "@type": "xsd:integer"
    },
    "DeployResult": "harvis:DeployResult",
    "replaced": {
      "@id": "harvis:replaced",
      "@type": "xsd:integer"
    },
    "DeploySiteInput": "harvis:DeploySiteInput",
    "DeployTokenResult": "harvis:DeployTokenResult",
    "ImportSiteInput": "harvis:ImportSiteInput",
    "url": {
      "@id": "harvis:url",
      "@type": "xsd:string"
    },
    "ImportSiteResult": "harvis:ImportSiteResult",
    "MeResult": "harvis:MeResult",
    "user": {
      "@id": "harvis:user",
      "@type": "@id"
    },
    "OkResult": "harvis:OkResult",
    "Site": "harvis:Site",
    "subdomain": {
      "@id": "harvis:subdomain",
      "@type": "xsd:string"
    },
    "entrypoint": {
      "@id": "harvis:entrypoint",
      "@type": "xsd:string"
    },
    "fileCount": {
      "@id": "harvis:fileCount",
      "@type": "xsd:integer"
    },
    "totalSize": {
      "@id": "harvis:totalSize",
      "@type": "xsd:integer"
    },
    "updatedAt": {
      "@id": "harvis:updatedAt",
      "@type": "xsd:dateTime"
    },
    "SiteFile": "harvis:SiteFile",
    "path": {
      "@id": "harvis:path",
      "@type": "xsd:string"
    },
    "contentType": {
      "@id": "harvis:contentType",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "harvis:size",
      "@type": "xsd:integer"
    },
    "SiteFileList": "harvis:SiteFileList",
    "SiteList": "harvis:SiteList",
    "sites": {
      "@id": "harvis:sites",
      "@container": "@list"
    },
    "SiteResult": "harvis:SiteResult",
    "Submission": "harvis:Submission",
    "formName": {
      "@id": "harvis:formName",
      "@type": "xsd:string"
    },
    "data": {
      "@id": "harvis:data"
    },
    "pagePath": {
      "@id": "harvis:pagePath"
    },
    "readAt": {
      "@id": "harvis:readAt"
    },
    "SubmissionList": "harvis:SubmissionList",
    "submissions": {
      "@id": "harvis:submissions",
      "@container": "@list"
    },
    "hasMore": {
      "@id": "harvis:hasMore",
      "@type": "xsd:boolean"
    },
    "SubmissionResult": "harvis:SubmissionResult",
    "submission": {
      "@id": "harvis:submission",
      "@type": "@id"
    },
    "SubmissionSummary": "harvis:SubmissionSummary",
    "total": {
      "@id": "harvis:total",
      "@type": "xsd:integer"
    },
    "unread": {
      "@id": "harvis:unread",
      "@type": "xsd:integer"
    },
    "forms": {
      "@id": "harvis:forms",
      "@container": "@list"
    },
    "UpdateSiteInput": "harvis:UpdateSiteInput"
  },
  "@type": "schema:Dataset",
  "schema:name": "Harvis API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Harvis'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-11) from openapi/harvis-dev-openapi.json.",
  "dcterms:created": "2026-11-11",
  "dcterms:source": [
    "openapi/harvis-dev-openapi.json"
  ]
}