{
  "@context": {
    "@vocab": "https://thread.page/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "thread": "https://thread.page/schema#",
    "AcceptedStatusEnum": "thread:AcceptedStatusEnum",
    "Access": "thread:Access",
    "version": {
      "@id": "thread:version",
      "@type": "xsd:integer"
    },
    "level": {
      "@id": "thread:level",
      "@type": "@id"
    },
    "scope": {
      "@id": "thread:scope",
      "@type": "@id"
    },
    "folder_ids": {
      "@id": "thread:folder_ids",
      "@container": "@list"
    },
    "thread_ids": {
      "@id": "thread:thread_ids",
      "@container": "@list"
    },
    "excluded_folder_ids": {
      "@id": "thread:excluded_folder_ids",
      "@container": "@list"
    },
    "excluded_thread_ids": {
      "@id": "thread:excluded_thread_ids",
      "@container": "@list"
    },
    "AccessScopeEnum": "thread:AccessScopeEnum",
    "AddedByEnum": "thread:AddedByEnum",
    "AddedVia": "thread:AddedVia",
    "connection_id": {
      "@id": "thread:connection_id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "thread:name",
      "@type": "xsd:string"
    },
    "ChangeKindEnum": "thread:ChangeKindEnum",
    "ChangeReceipt": "thread:ChangeReceipt",
    "operation_id": {
      "@id": "thread:operation_id",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "thread:status",
      "@type": "@id"
    },
    "kind": {
      "@id": "thread:kind",
      "@type": "@id"
    },
    "target": {
      "@id": "thread:target",
      "@type": "@id"
    },
    "revision": {
      "@id": "thread:revision",
      "@type": "xsd:integer"
    },
    "content_revision": {
      "@id": "thread:content_revision",
      "@type": "xsd:integer"
    },
    "accepted_at": {
      "@id": "thread:accepted_at",
      "@type": "xsd:dateTime"
    },
    "url": {
      "@id": "thread:url",
      "@type": "@id"
    },
    "thread_status": {
      "@id": "thread:thread_status",
      "@type": "xsd:string"
    },
    "reminder": {
      "@id": "thread:reminder"
    },
    "ChangeTarget": "thread:ChangeTarget",
    "type": {
      "@id": "thread:type",
      "@type": "@id"
    },
    "id": {
      "@id": "thread:id",
      "@type": "xsd:string"
    },
    "ChangeTargetTypeEnum": "thread:ChangeTargetTypeEnum",
    "ClaimRequest": "thread:ClaimRequest",
    "claim_id": {
      "@id": "thread:claim_id",
      "@type": "xsd:string"
    },
    "ConnectionInfo": "thread:ConnectionInfo",
    "access": {
      "@id": "thread:access",
      "@type": "@id"
    },
    "permissions": {
      "@id": "thread:permissions",
      "@type": "@id"
    },
    "expires_at": {
      "@id": "thread:expires_at",
      "@type": "xsd:dateTime"
    },
    "can": {
      "@id": "thread:can",
      "@type": "xsd:string"
    },
    "cannot": {
      "@id": "thread:cannot",
      "@type": "xsd:string"
    },
    "manage_url": {
      "@id": "thread:manage_url",
      "@type": "@id"
    },
    "paused_at": {
      "@id": "thread:paused_at",
      "@type": "xsd:dateTime"
    },
    "shared_places": {
      "@id": "thread:shared_places",
      "@container": "@list"
    },
    "CreateFolder": "thread:CreateFolder",
    "parent_id": {
      "@id": "thread:parent_id",
      "@type": "xsd:string"
    },
    "CreateNote": "thread:CreateNote",
    "content": {
      "@id": "thread:content",
      "@type": "@id"
    },
    "CreateThread": "thread:CreateThread",
    "title": {
      "@id": "thread:title",
      "@type": "xsd:string"
    },
    "folder_id": {
      "@id": "thread:folder_id",
      "@type": "xsd:string"
    },
    "Delivery": "thread:Delivery",
    "event_id": {
      "@id": "thread:event_id",
      "@type": "xsd:string"
    },
    "event_type": {
      "@id": "thread:event_type",
      "@type": "@id"
    },
    "test": {
      "@id": "thread:test",
      "@type": "xsd:boolean"
    },
    "thread_title": {
      "@id": "thread:thread_title",
      "@type": "xsd:string"
    },
    "attempt": {
      "@id": "thread:attempt",
      "@type": "xsd:integer"
    },
    "http_status": {
      "@id": "thread:http_status",
      "@type": "xsd:integer"
    },
    "error": {
      "@id": "thread:error",
      "@type": "xsd:string"
    },
    "scheduled_at": {
      "@id": "thread:scheduled_at",
      "@type": "xsd:dateTime"
    },
    "finished_at": {
      "@id": "thread:finished_at",
      "@type": "xsd:dateTime"
    },
    "retryable": {
      "@id": "thread:retryable",
      "@type": "xsd:boolean"
    },
    "DeliveryEnum": "thread:DeliveryEnum",
    "DeliveryList": "thread:DeliveryList",
    "deliveries": {
      "@id": "thread:deliveries",
      "@container": "@list"
    },
    "DeliveryStatusEnum": "thread:DeliveryStatusEnum",
    "DocumentContent": "thread:DocumentContent",
    "document": {
      "@id": "thread:document"
    },
    "EditNotesEnum": "thread:EditNotesEnum",
    "Error": "thread:Error",
    "code": {
      "@id": "thread:code",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "thread:message",
      "@type": "xsd:string"
    },
    "diagnostic_id": {
      "@id": "thread:diagnostic_id",
      "@type": "xsd:string"
    },
    "details": {
      "@id": "thread:details"
    },
    "Event": "thread:Event",
    "specversion": {
      "@id": "thread:specversion",
      "@type": "xsd:string"
    },
    "source": {
      "@id": "thread:source",
      "@type": "@id"
    },
    "subject": {
      "@id": "thread:subject",
      "@type": "xsd:string"
    },
    "time": {
      "@id": "thread:time",
      "@type": "xsd:dateTime"
    },
    "datacontenttype": {
      "@id": "thread:datacontenttype",
      "@type": "xsd:string"
    },
    "data": {
      "@id": "thread:data",
      "@type": "@id"
    },
    "EventActor": "thread:EventActor",
    "role": {
      "@id": "thread:role",
      "@type": "@id"
    },
    "EventActorRoleEnum": "thread:EventActorRoleEnum",
    "EventCounts": "thread:EventCounts",
    "threads": {
      "@id": "thread:threads",
      "@type": "xsd:integer"
    },
    "notes": {
      "@id": "thread:notes",
      "@type": "xsd:integer"
    },
    "EventData": "thread:EventData",
    "origin": {
      "@id": "thread:origin"
    },
    "actor": {
      "@id": "thread:actor"
    },
    "note": {
      "@id": "thread:note"
    },
    "request": {
      "@id": "thread:request"
    },
    "requests": {
      "@id": "thread:requests",
      "@container": "@list"
    },
    "move": {
      "@id": "thread:move"
    },
    "folder": {
      "@id": "thread:folder"
    },
    "changes": {
      "@id": "thread:changes",
      "@container": "@list"
    },
    "contents": {
      "@id": "thread:contents"
    },
    "folder_move": {
      "@id": "thread:folder_move"
    },
    "replaced": {
      "@id": "thread:replaced"
    },
    "counts": {
      "@id": "thread:counts"
    },
    "previous_title": {
      "@id": "thread:previous_title",
      "@type": "xsd:string"
    },
    "EventFolder": "thread:EventFolder",
    "EventFolderMove": "thread:EventFolderMove",
    "from_folder_id": {
      "@id": "thread:from_folder_id",
      "@type": "xsd:string"
    },
    "to_folder_id": {
      "@id": "thread:to_folder_id",
      "@type": "xsd:string"
    },
    "EventList": "thread:EventList",
    "events": {
      "@id": "thread:events",
      "@container": "@list"
    },
    "EventMove": "thread:EventMove",
    "direction": {
      "@id": "thread:direction"
    },
    "from_thread_id": {
      "@id": "thread:from_thread_id",
      "@type": "xsd:string"
    },
    "to_thread_id": {
      "@id": "thread:to_thread_id",
      "@type": "xsd:string"
    },
    "EventNote": "thread:EventNote",
    "created_at": {
      "@id": "thread:created_at",
      "@type": "xsd:dateTime"
    },
    "updated_at": {
      "@id": "thread:updated_at",
      "@type": "xsd:dateTime"
    },
    "pinned": {
      "@id": "thread:pinned",
      "@type": "xsd:boolean"
    },
    "done": {
      "@id": "thread:done",
      "@type": "xsd:boolean"
    },
    "text": {
      "@id": "thread:text",
      "@type": "xsd:string"
    },
    "markdown": {
      "@id": "thread:markdown",
      "@type": "xsd:string"
    },
    "EventOriginEnum": "thread:EventOriginEnum",
    "EventReminder": "thread:EventReminder",
    "note_id": {
      "@id": "thread:note_id",
      "@type": "xsd:string"
    },
    "next_at": {
      "@id": "thread:next_at",
      "@type": "xsd:dateTime"
    },
    "repeat": {
      "@id": "thread:repeat"
    },
    "set_by": {
      "@id": "thread:set_by",
      "@type": "xsd:string"
    },
    "EventRequest": "thread:EventRequest",
    "state": {
      "@id": "thread:state",
      "@type": "@id"
    },
    "handle": {
      "@id": "thread:handle",
      "@type": "xsd:string"
    },
    "addressed_to": {
      "@id": "thread:addressed_to",
      "@container": "@list"
    },
    "reply": {
      "@id": "thread:reply",
      "@type": "@id"
    },
    "reply_url": {
      "@id": "thread:reply_url",
      "@type": "@id"
    },
    "answers": {
      "@id": "thread:answers"
    },
    "EventStatusReplaced": "thread:EventStatusReplaced",
    "from": {
      "@id": "thread:from",
      "@type": "xsd:string"
    },
    "to": {
      "@id": "thread:to",
      "@type": "xsd:string"
    },
    "EventThread": "thread:EventThread",
    "EventTypeEnum": "thread:EventTypeEnum",
    "Evidence": "thread:Evidence",
    "ExecutorRequest": "thread:ExecutorRequest",
    "claimed_at": {
      "@id": "thread:claimed_at",
      "@type": "xsd:dateTime"
    },
    "ExecutorRequestPage": "thread:ExecutorRequestPage",
    "next_cursor": {
      "@id": "thread:next_cursor",
      "@type": "xsd:string"
    },
    "FeedPage": "thread:FeedPage",
    "cursor": {
      "@id": "thread:cursor",
      "@type": "xsd:string"
    },
    "has_more": {
      "@id": "thread:has_more",
      "@type": "xsd:boolean"
    },
    "FileComplete": "thread:FileComplete",
    "parts": {
      "@id": "thread:parts",
      "@container": "@list"
    },
    "FileCompletedPart": "thread:FileCompletedPart",
    "part_number": {
      "@id": "thread:part_number",
      "@type": "xsd:integer"
    },
    "etag": {
      "@id": "thread:etag",
      "@type": "xsd:string"
    },
    "FileKindEnum": "thread:FileKindEnum",
    "FileMediaInfo": "thread:FileMediaInfo",
    "duration_ms": {
      "@id": "thread:duration_ms",
      "@type": "xsd:integer"
    },
    "container": {
      "@id": "thread:container",
      "@type": "xsd:string"
    },
    "video_codec": {
      "@id": "thread:video_codec",
      "@type": "xsd:string"
    },
    "audio_codec": {
      "@id": "thread:audio_codec",
      "@type": "xsd:string"
    },
    "rotation": {
      "@id": "thread:rotation",
      "@type": "xsd:integer"
    },
    "page_count": {
      "@id": "thread:page_count",
      "@type": "xsd:integer"
    },
    "encrypted": {
      "@id": "thread:encrypted",
      "@type": "xsd:boolean"
    },
    "FileParts": "thread:FileParts",
    "part_numbers": {
      "@id": "thread:part_numbers",
      "@container": "@list"
    },
    "FileReceipt": "thread:FileReceipt",
    "file_id": {
      "@id": "thread:file_id",
      "@type": "xsd:string"
    },
    "thread_id": {
      "@id": "thread:thread_id",
      "@type": "xsd:string"
    },
    "bytes": {
      "@id": "thread:bytes",
      "@type": "xsd:integer"
    },
    "FileText": "thread:FileText",
    "truncated": {
      "@id": "thread:truncated",
      "@type": "xsd:boolean"
    },
    "FileUpload": "thread:FileUpload",
    "checksum": {
      "@id": "thread:checksum",
      "@type": "xsd:string"
    },
    "media_type": {
      "@id": "thread:media_type",
      "@type": "xsd:string"
    },
    "FileUploadPart": "thread:FileUploadPart",
    "size": {
      "@id": "thread:size",
      "@type": "xsd:integer"
    },
    "FileUploadReceipt": "thread:FileUploadReceipt",
    "part_size": {
      "@id": "thread:part_size",
      "@type": "xsd:integer"
    },
    "part_count": {
      "@id": "thread:part_count",
      "@type": "xsd:integer"
    },
    "FileUploadState": "thread:FileUploadState",
    "Folder": "thread:Folder",
    "trashed": {
      "@id": "thread:trashed",
      "@type": "xsd:boolean"
    },
    "shared": {
      "@id": "thread:shared",
      "@type": "xsd:boolean"
    },
    "FolderContentsEnum": "thread:FolderContentsEnum",
    "FolderPage": "thread:FolderPage",
    "items": {
      "@id": "thread:items",
      "@container": "@list"
    },
    "FolderRef": "thread:FolderRef",
    "ImageMediaTypeEnum": "thread:ImageMediaTypeEnum",
    "ImageReceipt": "thread:ImageReceipt",
    "image_id": {
      "@id": "thread:image_id",
      "@type": "xsd:string"
    },
    "width": {
      "@id": "thread:width",
      "@type": "xsd:integer"
    },
    "height": {
      "@id": "thread:height",
      "@type": "xsd:integer"
    },
    "ImageReceiptStateEnum": "thread:ImageReceiptStateEnum",
    "ImageUpload": "thread:ImageUpload",
    "file": {
      "@id": "thread:file",
      "@type": "xsd:string"
    },
    "InboundChallenge": "thread:InboundChallenge",
    "challenge": {
      "@id": "thread:challenge",
      "@type": "xsd:string"
    },
    "InboundOutcome": "thread:InboundOutcome",
    "outcome": {
      "@id": "thread:outcome",
      "@type": "@id"
    },
    "InboundOutcomeEnum": "thread:InboundOutcomeEnum",
    "InboxReceipt": "thread:InboxReceipt",
    "delivery": {
      "@id": "thread:delivery"
    },
    "IntervalEnum": "thread:IntervalEnum",
    "LastDelivery": "thread:LastDelivery",
    "at": {
      "@id": "thread:at",
      "@type": "xsd:dateTime"
    },
    "LastDeliveryStatusEnum": "thread:LastDeliveryStatusEnum",
    "LevelEnum": "thread:LevelEnum",
    "MarkdownContent": "thread:MarkdownContent",
    "MonthlyOnEnum": "thread:MonthlyOnEnum",
    "MoveDirectionEnum": "thread:MoveDirectionEnum",
    "MoveFolder": "thread:MoveFolder",
    "confirm": {
      "@id": "thread:confirm",
      "@type": "xsd:string"
    },
    "MoveNote": "thread:MoveNote",
    "MoveThread": "thread:MoveThread",
    "MovedNote": "thread:MovedNote",
    "Note": "thread:Note",
    "last_change_origin": {
      "@id": "thread:last_change_origin"
    },
    "added_via": {
      "@id": "thread:added_via"
    },
    "changed_via": {
      "@id": "thread:changed_via"
    },
    "editable": {
      "@id": "thread:editable",
      "@type": "xsd:boolean"
    },
    "images": {
      "@id": "thread:images",
      "@container": "@list"
    },
    "files": {
      "@id": "thread:files",
      "@container": "@list"
    },
    "context_receipt": {
      "@id": "thread:context_receipt",
      "@type": "xsd:string"
    },
    "NoteFile": "thread:NoteFile",
    "media_info": {
      "@id": "thread:media_info"
    },
    "preview_url": {
      "@id": "thread:preview_url",
      "@type": "@id"
    },
    "text_url": {
      "@id": "thread:text_url",
      "@type": "@id"
    },
    "NoteFileSummary": "thread:NoteFileSummary",
    "NoteImage": "thread:NoteImage",
    "NotePage": "thread:NotePage",
    "NoteProperties": "thread:NoteProperties",
    "NoteSummary": "thread:NoteSummary",
    "text_preview": {
      "@id": "thread:text_preview",
      "@type": "xsd:string"
    },
    "NoteVersion": "thread:NoteVersion",
    "current_content_revision": {
      "@id": "thread:current_content_revision",
      "@type": "xsd:integer"
    },
    "NoteVersionPage": "thread:NoteVersionPage",
    "history_starts_at": {
      "@id": "thread:history_starts_at",
      "@type": "xsd:dateTime"
    },
    "oldest_available_at": {
      "@id": "thread:oldest_available_at",
      "@type": "xsd:dateTime"
    },
    "NoteVersionSummary": "thread:NoteVersionSummary",
    "replaced_at": {
      "@id": "thread:replaced_at",
      "@type": "xsd:dateTime"
    },
    "current": {
      "@id": "thread:current",
      "@type": "xsd:boolean"
    },
    "OperationReceipt": "thread:OperationReceipt",
    "OperationReceiptStatusEnum": "thread:OperationReceiptStatusEnum",
    "PayloadModeEnum": "thread:PayloadModeEnum",
    "Permissions": "thread:Permissions",
    "read": {
      "@id": "thread:read",
      "@type": "xsd:boolean"
    },
    "create_notes": {
      "@id": "thread:create_notes",
      "@type": "xsd:boolean"
    },
    "add_to_inbox": {
      "@id": "thread:add_to_inbox",
      "@type": "xsd:boolean"
    },
    "edit_notes": {
      "@id": "thread:edit_notes"
    },
    "organize": {
      "@id": "thread:organize",
      "@type": "xsd:boolean"
    },
    "QuotaDetails": "thread:QuotaDetails",
    "limit": {
      "@id": "thread:limit",
      "@type": "xsd:integer"
    },
    "resets_at": {
      "@id": "thread:resets_at",
      "@type": "xsd:dateTime"
    },
    "QuotaExhausted": "thread:QuotaExhausted",
    "RateLimitDetails": "thread:RateLimitDetails",
    "retry_after": {
      "@id": "thread:retry_after",
      "@type": "xsd:integer"
    },
    "reason": {
      "@id": "thread:reason"
    },
    "RateLimitReasonEnum": "thread:RateLimitReasonEnum",
    "RateLimitScopeEnum": "thread:RateLimitScopeEnum",
    "RateLimited": "thread:RateLimited",
    "Reminder": "thread:Reminder",
    "rule": {
      "@id": "thread:rule",
      "@type": "@id"
    },
    "snooze_at": {
      "@id": "thread:snooze_at",
      "@type": "xsd:dateTime"
    },
    "due": {
      "@id": "thread:due",
      "@type": "xsd:boolean"
    },
    "ReminderList": "thread:ReminderList",
    "reminders": {
      "@id": "thread:reminders",
      "@container": "@list"
    },
    "ReminderOne": "thread:ReminderOne",
    "ReminderRepeat": "thread:ReminderRepeat",
    "every": {
      "@id": "thread:every",
      "@type": "@id"
    },
    "interval": {
      "@id": "thread:interval"
    },
    "on": {
      "@id": "thread:on",
      "@type": "@id"
    },
    "ReminderRule": "thread:ReminderRule",
    "date": {
      "@id": "thread:date",
      "@type": "xsd:date"
    },
    "RenameFolder": "thread:RenameFolder",
    "RepeatEveryEnum": "thread:RepeatEveryEnum",
    "ReplaceNoteContent": "thread:ReplaceNoteContent",
    "evidence": {
      "@id": "thread:evidence",
      "@container": "@list"
    },
    "RequestAnswers": "thread:RequestAnswers",
    "question_note_id": {
      "@id": "thread:question_note_id",
      "@type": "xsd:string"
    },
    "RequestNote": "thread:RequestNote",
    "sent_content_revision": {
      "@id": "thread:sent_content_revision",
      "@type": "xsd:integer"
    },
    "RequestReply": "thread:RequestReply",
    "status_url": {
      "@id": "thread:status_url",
      "@type": "@id"
    },
    "result_url": {
      "@id": "thread:result_url",
      "@type": "@id"
    },
    "RequestResult": "thread:RequestResult",
    "RequestResultReceipt": "thread:RequestResultReceipt",
    "RequestResultReceiptStatusEnum": "thread:RequestResultReceiptStatusEnum",
    "RequestStateEnum": "thread:RequestStateEnum",
    "RequestStatus": "thread:RequestStatus",
    "question": {
      "@id": "thread:question"
    },
    "RequestStatusStateEnum": "thread:RequestStatusStateEnum",
    "RestoreNoteVersion": "thread:RestoreNoteVersion",
    "SentEventTypeEnum": "thread:SentEventTypeEnum",
    "SetReminder": "thread:SetReminder",
    "replace": {
      "@id": "thread:replace",
      "@type": "xsd:boolean"
    },
    "SharedPlace": "thread:SharedPlace",
    "SharedPlaceTypeEnum": "thread:SharedPlaceTypeEnum",
    "StateReasonEnum": "thread:StateReasonEnum",
    "StatusColorEnum": "thread:StatusColorEnum",
    "StatusIconEnum": "thread:StatusIconEnum"
  },
  "@type": "schema:Dataset",
  "schema:name": "ThreadPage API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects ThreadPage'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-06) from openapi/thread-page-openapi.json.",
  "dcterms:created": "2026-11-06",
  "dcterms:source": [
    "openapi/thread-page-openapi.json"
  ]
}