{
  "@context": {
    "@vocab": "https://granite.md/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "granite": "https://granite.md/schema#",
    "ClientErrorReport": "granite:ClientErrorReport",
    "kind": {
      "@id": "granite:kind",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "granite:message",
      "@type": "xsd:string"
    },
    "stack": {
      "@id": "granite:stack",
      "@type": "xsd:string"
    },
    "screen": {
      "@id": "granite:screen",
      "@type": "xsd:string"
    },
    "platform": {
      "@id": "granite:platform",
      "@type": "xsd:string"
    },
    "app_version": {
      "@id": "granite:app_version",
      "@type": "xsd:string"
    },
    "os_version": {
      "@id": "granite:os_version",
      "@type": "xsd:string"
    },
    "Meta": "granite:Meta",
    "api_version": {
      "@id": "granite:api_version",
      "@type": "xsd:string"
    },
    "server_version": {
      "@id": "granite:server_version",
      "@type": "xsd:string"
    },
    "SignupRequest": "granite:SignupRequest",
    "email": {
      "@id": "granite:email",
      "@type": "xsd:string"
    },
    "password": {
      "@id": "granite:password",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "granite:name",
      "@type": "xsd:string"
    },
    "workspace_name": {
      "@id": "granite:workspace_name",
      "@type": "xsd:string"
    },
    "confirm": {
      "@id": "granite:confirm",
      "@type": "@id"
    },
    "EmailConfirmMode": "granite:EmailConfirmMode",
    "EmailConfirmRequest": "granite:EmailConfirmRequest",
    "EmailCodeRequest": "granite:EmailCodeRequest",
    "code": {
      "@id": "granite:code",
      "@type": "xsd:string"
    },
    "SignupConfirmRequest": "granite:SignupConfirmRequest",
    "device": {
      "@id": "granite:device",
      "@type": "@id"
    },
    "PasswordResetCodeConfirmRequest": "granite:PasswordResetCodeConfirmRequest",
    "EmailRequest": "granite:EmailRequest",
    "TokenRequest": "granite:TokenRequest",
    "token": {
      "@id": "granite:token",
      "@type": "xsd:string"
    },
    "DeviceInfo": "granite:DeviceInfo",
    "id": {
      "@id": "granite:id",
      "@type": "xsd:string"
    },
    "LoginRequest": "granite:LoginRequest",
    "RefreshRequest": "granite:RefreshRequest",
    "refresh_token": {
      "@id": "granite:refresh_token",
      "@type": "xsd:string"
    },
    "PasswordResetConfirmRequest": "granite:PasswordResetConfirmRequest",
    "TokenResponse": "granite:TokenResponse",
    "access_token": {
      "@id": "granite:access_token",
      "@type": "xsd:string"
    },
    "token_type": {
      "@id": "granite:token_type",
      "@type": "xsd:string"
    },
    "expires_in": {
      "@id": "granite:expires_in",
      "@type": "xsd:integer"
    },
    "refresh_expires_in": {
      "@id": "granite:refresh_expires_in",
      "@type": "xsd:integer"
    },
    "device_id": {
      "@id": "granite:device_id",
      "@type": "xsd:string"
    },
    "user": {
      "@id": "granite:user",
      "@type": "@id"
    },
    "User": "granite:User",
    "email_verified": {
      "@id": "granite:email_verified",
      "@type": "xsd:boolean"
    },
    "two_factor_enabled": {
      "@id": "granite:two_factor_enabled",
      "@type": "xsd:boolean"
    },
    "created_at": {
      "@id": "granite:created_at",
      "@type": "xsd:dateTime"
    },
    "avatar_url": {
      "@id": "granite:avatar_url",
      "@type": "xsd:string"
    },
    "Accepted": "granite:Accepted",
    "status": {
      "@id": "granite:status",
      "@type": "xsd:string"
    },
    "Vault": "granite:Vault",
    "workspace_id": {
      "@id": "granite:workspace_id",
      "@type": "xsd:string"
    },
    "updated_at": {
      "@id": "granite:updated_at",
      "@type": "xsd:dateTime"
    },
    "deleted_at": {
      "@id": "granite:deleted_at",
      "@type": "xsd:dateTime"
    },
    "purge_after": {
      "@id": "granite:purge_after",
      "@type": "xsd:dateTime"
    },
    "VaultList": "granite:VaultList",
    "items": {
      "@id": "granite:items",
      "@container": "@list"
    },
    "next_cursor": {
      "@id": "granite:next_cursor",
      "@type": "xsd:string"
    },
    "VaultCreate": "granite:VaultCreate",
    "VaultUpdate": "granite:VaultUpdate",
    "Entitlements": "granite:Entitlements",
    "plan": {
      "@id": "granite:plan"
    },
    "limits": {
      "@id": "granite:limits",
      "@type": "@id"
    },
    "usage": {
      "@id": "granite:usage"
    },
    "PlanList": "granite:PlanList",
    "PlanInfo": "granite:PlanInfo",
    "key": {
      "@id": "granite:key",
      "@type": "xsd:string"
    },
    "monthly_price_cents": {
      "@id": "granite:monthly_price_cents",
      "@type": "xsd:integer"
    },
    "per_seat": {
      "@id": "granite:per_seat",
      "@type": "xsd:boolean"
    },
    "PlanLimits": "granite:PlanLimits",
    "synced_vaults": {
      "@id": "granite:synced_vaults",
      "@type": "xsd:integer"
    },
    "storage_bytes": {
      "@id": "granite:storage_bytes",
      "@type": "xsd:integer"
    },
    "max_file_bytes": {
      "@id": "granite:max_file_bytes",
      "@type": "xsd:integer"
    },
    "synced_devices": {
      "@id": "granite:synced_devices",
      "@type": "xsd:integer"
    },
    "version_history_days": {
      "@id": "granite:version_history_days",
      "@type": "xsd:integer"
    },
    "remote_mcp": {
      "@id": "granite:remote_mcp",
      "@type": "xsd:boolean"
    },
    "api_tokens": {
      "@id": "granite:api_tokens",
      "@type": "xsd:integer"
    },
    "knowledge_base": {
      "@id": "granite:knowledge_base",
      "@type": "xsd:boolean"
    },
    "live_coediting": {
      "@id": "granite:live_coediting",
      "@type": "xsd:string"
    },
    "drive_references": {
      "@id": "granite:drive_references",
      "@type": "xsd:string"
    },
    "guests_per_vault": {
      "@id": "granite:guests_per_vault",
      "@type": "xsd:integer"
    },
    "published_notes": {
      "@id": "granite:published_notes",
      "@type": "xsd:integer"
    },
    "workspaces": {
      "@id": "granite:workspaces",
      "@type": "xsd:boolean"
    },
    "sso": {
      "@id": "granite:sso",
      "@type": "xsd:boolean"
    },
    "audit_log": {
      "@id": "granite:audit_log",
      "@type": "xsd:boolean"
    },
    "webhooks": {
      "@id": "granite:webhooks",
      "@type": "xsd:boolean"
    },
    "integrations": {
      "@id": "granite:integrations",
      "@container": "@list"
    },
    "integrations_per_vault": {
      "@id": "granite:integrations_per_vault",
      "@type": "xsd:integer"
    },
    "note_sharing": {
      "@id": "granite:note_sharing",
      "@type": "xsd:boolean"
    },
    "data_export": {
      "@id": "granite:data_export",
      "@type": "xsd:boolean"
    },
    "MFAChallenge": "granite:MFAChallenge",
    "mfa_token": {
      "@id": "granite:mfa_token",
      "@type": "xsd:string"
    },
    "methods": {
      "@id": "granite:methods",
      "@container": "@list"
    },
    "SecondFactorRequest": "granite:SecondFactorRequest",
    "recovery_code": {
      "@id": "granite:recovery_code",
      "@type": "xsd:string"
    },
    "StepUpRequest": "granite:StepUpRequest",
    "CodeRequest": "granite:CodeRequest",
    "TOTPSetup": "granite:TOTPSetup",
    "secret": {
      "@id": "granite:secret",
      "@type": "xsd:string"
    },
    "otpauth_uri": {
      "@id": "granite:otpauth_uri",
      "@type": "xsd:string"
    },
    "RecoveryCodes": "granite:RecoveryCodes",
    "recovery_codes": {
      "@id": "granite:recovery_codes",
      "@container": "@list"
    },
    "SocialLoginRequest": "granite:SocialLoginRequest",
    "id_token": {
      "@id": "granite:id_token",
      "@type": "xsd:string"
    },
    "nonce": {
      "@id": "granite:nonce",
      "@type": "xsd:string"
    },
    "authorization_code": {
      "@id": "granite:authorization_code",
      "@type": "xsd:string"
    },
    "TreeFile": "granite:TreeFile",
    "file_id": {
      "@id": "granite:file_id",
      "@type": "xsd:string"
    },
    "version_id": {
      "@id": "granite:version_id",
      "@type": "xsd:string"
    },
    "path": {
      "@id": "granite:path",
      "@type": "xsd:string"
    },
    "blob_hash": {
      "@id": "granite:blob_hash",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "granite:size",
      "@type": "xsd:integer"
    },
    "content_type": {
      "@id": "granite:content_type",
      "@type": "xsd:string"
    },
    "client_mtime": {
      "@id": "granite:client_mtime",
      "@type": "xsd:dateTime"
    },
    "TreePage": "granite:TreePage",
    "head_seq": {
      "@id": "granite:head_seq",
      "@type": "xsd:integer"
    },
    "files": {
      "@id": "granite:files",
      "@container": "@list"
    },
    "Change": "granite:Change",
    "seq": {
      "@id": "granite:seq",
      "@type": "xsd:integer"
    },
    "op": {
      "@id": "granite:op",
      "@type": "xsd:string"
    },
    "old_path": {
      "@id": "granite:old_path",
      "@type": "xsd:string"
    },
    "deleted": {
      "@id": "granite:deleted",
      "@type": "xsd:boolean"
    },
    "author_id": {
      "@id": "granite:author_id",
      "@type": "xsd:string"
    },
    "committed_at": {
      "@id": "granite:committed_at",
      "@type": "xsd:dateTime"
    },
    "ChangesPage": "granite:ChangesPage",
    "changes": {
      "@id": "granite:changes",
      "@container": "@list"
    },
    "has_more": {
      "@id": "granite:has_more",
      "@type": "xsd:boolean"
    },
    "CommitOp": "granite:CommitOp",
    "type": {
      "@id": "granite:type",
      "@type": "xsd:string"
    },
    "base_version_id": {
      "@id": "granite:base_version_id",
      "@type": "xsd:string"
    },
    "new_path": {
      "@id": "granite:new_path",
      "@type": "xsd:string"
    },
    "CommitRequest": "granite:CommitRequest",
    "ops": {
      "@id": "granite:ops",
      "@container": "@list"
    },
    "CommitResult": "granite:CommitResult",
    "results": {
      "@id": "granite:results",
      "@container": "@list"
    },
    "CommitOpResult": "granite:CommitOpResult",
    "op_index": {
      "@id": "granite:op_index",
      "@type": "xsd:integer"
    },
    "CommitConflictProblem": "granite:CommitConflictProblem",
    "title": {
      "@id": "granite:title",
      "@type": "xsd:string"
    },
    "detail": {
      "@id": "granite:detail",
      "@type": "xsd:string"
    },
    "request_id": {
      "@id": "granite:request_id",
      "@type": "xsd:string"
    },
    "conflicts": {
      "@id": "granite:conflicts",
      "@container": "@list"
    },
    "CommitConflict": "granite:CommitConflict",
    "current": {
      "@id": "granite:current",
      "@type": "@id"
    },
    "FileState": "granite:FileState",
    "BlobCheckRequest": "granite:BlobCheckRequest",
    "hashes": {
      "@id": "granite:hashes",
      "@container": "@list"
    },
    "BlobCheckResult": "granite:BlobCheckResult",
    "missing": {
      "@id": "granite:missing",
      "@container": "@list"
    },
    "UploadCreate": "granite:UploadCreate",
    "hash": {
      "@id": "granite:hash",
      "@type": "xsd:string"
    },
    "UploadStatus": "granite:UploadStatus",
    "upload_id": {
      "@id": "granite:upload_id",
      "@type": "xsd:string"
    },
    "received": {
      "@id": "granite:received",
      "@type": "xsd:integer"
    },
    "Version": "granite:Version",
    "author_name": {
      "@id": "granite:author_name",
      "@type": "xsd:string"
    },
    "author_email": {
      "@id": "granite:author_email",
      "@type": "xsd:string"
    },
    "VersionList": "granite:VersionList",
    "versions": {
      "@id": "granite:versions",
      "@container": "@list"
    },
    "next_before": {
      "@id": "granite:next_before",
      "@type": "xsd:integer"
    },
    "ProfileUpdate": "granite:ProfileUpdate",
    "NotificationChannels": "granite:NotificationChannels",
    "comment": {
      "@id": "granite:comment",
      "@type": "xsd:boolean"
    },
    "share": {
      "@id": "granite:share",
      "@type": "xsd:boolean"
    },
    "mention": {
      "@id": "granite:mention",
      "@type": "xsd:boolean"
    },
    "resolved": {
      "@id": "granite:resolved",
      "@type": "xsd:boolean"
    },
    "NotificationSettings": "granite:NotificationSettings",
    "push": {
      "@id": "granite:push",
      "@type": "@id"
    },
    "Preferences": "granite:Preferences",
    "theme": {
      "@id": "granite:theme",
      "@type": "xsd:string"
    },
    "editor_font": {
      "@id": "granite:editor_font",
      "@type": "xsd:string"
    },
    "font_size": {
      "@id": "granite:font_size",
      "@type": "xsd:integer"
    },
    "readable_width": {
      "@id": "granite:readable_width",
      "@type": "xsd:boolean"
    },
    "live_preview": {
      "@id": "granite:live_preview",
      "@type": "xsd:boolean"
    },
    "line_numbers": {
      "@id": "granite:line_numbers",
      "@type": "xsd:boolean"
    },
    "PasswordChange": "granite:PasswordChange",
    "Device": "granite:Device",
    "last_seen_at": {
      "@id": "granite:last_seen_at",
      "@type": "xsd:dateTime"
    },
    "active_sessions": {
      "@id": "granite:active_sessions",
      "@type": "xsd:integer"
    },
    "DriveConnection": "granite:DriveConnection",
    "available": {
      "@id": "granite:available",
      "@type": "xsd:boolean"
    },
    "connected": {
      "@id": "granite:connected",
      "@type": "xsd:boolean"
    },
    "google_account": {
      "@id": "granite:google_account",
      "@type": "xsd:string"
    },
    "state": {
      "@id": "granite:state",
      "@type": "xsd:string"
    },
    "connected_at": {
      "@id": "granite:connected_at",
      "@type": "xsd:dateTime"
    },
    "DriveRef": "granite:DriveRef",
    "drive_file_id": {
      "@id": "granite:drive_file_id",
      "@type": "xsd:string"
    },
    "mime_type": {
      "@id": "granite:mime_type",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "granite:url",
      "@type": "xsd:string"
    },
    "icon_url": {
      "@id": "granite:icon_url",
      "@type": "xsd:string"
    },
    "modified_at": {
      "@id": "granite:modified_at",
      "@type": "xsd:dateTime"
    },
    "BillingStatus": "granite:BillingStatus",
    "plan_name": {
      "@id": "granite:plan_name",
      "@type": "xsd:string"
    },
    "trial_ends_at": {
      "@id": "granite:trial_ends_at",
      "@type": "xsd:dateTime"
    },
    "grace_until": {
      "@id": "granite:grace_until",
      "@type": "xsd:dateTime"
    },
    "seats": {
      "@id": "granite:seats",
      "@type": "xsd:integer"
    },
    "storage_limit_bytes": {
      "@id": "granite:storage_limit_bytes",
      "@type": "xsd:integer"
    },
    "purchasable": {
      "@id": "granite:purchasable",
      "@type": "xsd:boolean"
    },
    "manageable": {
      "@id": "granite:manageable",
      "@type": "xsd:boolean"
    },
    "pro_trial_days": {
      "@id": "granite:pro_trial_days",
      "@type": "xsd:integer"
    },
    "subscription": {
      "@id": "granite:subscription",
      "@type": "@id"
    },
    "company": {
      "@id": "granite:company",
      "@type": "@id"
    },
    "Company": "granite:Company",
    "SubscriptionSummary": "granite:SubscriptionSummary",
    "provider": {
      "@id": "granite:provider",
      "@type": "xsd:string"
    },
    "current_period_end": {
      "@id": "granite:current_period_end",
      "@type": "xsd:dateTime"
    },
    "cancel_at_period_end": {
      "@id": "granite:cancel_at_period_end",
      "@type": "xsd:boolean"
    },
    "CheckoutRequest": "granite:CheckoutRequest",
    "BillingOwnerRequest": "granite:BillingOwnerRequest",
    "BillingRedirect": "granite:BillingRedirect",
    "InvoiceList": "granite:InvoiceList",
    "Invoice": "granite:Invoice",
    "number": {
      "@id": "granite:number",
      "@type": "xsd:string"
    },
    "total_cents": {
      "@id": "granite:total_cents",
      "@type": "xsd:integer"
    },
    "currency": {
      "@id": "granite:currency",
      "@type": "xsd:string"
    },
    "pdf_url": {
      "@id": "granite:pdf_url",
      "@type": "xsd:string"
    },
    "PaymentMethodList": "granite:PaymentMethodList",
    "PaymentMethod": "granite:PaymentMethod",
    "brand": {
      "@id": "granite:brand",
      "@type": "xsd:string"
    },
    "last4": {
      "@id": "granite:last4",
      "@type": "xsd:string"
    },
    "exp_month": {
      "@id": "granite:exp_month",
      "@type": "xsd:integer"
    },
    "exp_year": {
      "@id": "granite:exp_year",
      "@type": "xsd:integer"
    },
    "default": {
      "@id": "granite:default",
      "@type": "xsd:boolean"
    },
    "PushTokenRequest": "granite:PushTokenRequest",
    "sandbox": {
      "@id": "granite:sandbox",
      "@type": "xsd:boolean"
    },
    "DeviceList": "granite:DeviceList",
    "DeviceUpdate": "granite:DeviceUpdate",
    "APIToken": "granite:APIToken",
    "prefix": {
      "@id": "granite:prefix",
      "@type": "xsd:string"
    },
    "scopes": {
      "@id": "granite:scopes",
      "@container": "@list"
    },
    "expires_at": {
      "@id": "granite:expires_at",
      "@type": "xsd:dateTime"
    },
    "last_used_at": {
      "@id": "granite:last_used_at",
      "@type": "xsd:dateTime"
    },
    "APITokenScope": "granite:APITokenScope",
    "ShopifyOwnerChoice": "granite:ShopifyOwnerChoice",
    "ShopifyLinkPreview": "granite:ShopifyLinkPreview",
    "shop_domain": {
      "@id": "granite:shop_domain",
      "@type": "xsd:string"
    },
    "shop_name": {
      "@id": "granite:shop_name",
      "@type": "xsd:string"
    },
    "owners": {
      "@id": "granite:owners",
      "@container": "@list"
    },
    "connected_to": {
      "@id": "granite:connected_to",
      "@type": "xsd:string"
    },
    "ShopifyLinkComplete": "granite:ShopifyLinkComplete",
    "owner_type": {
      "@id": "granite:owner_type",
      "@type": "xsd:string"
    },
    "owner_id": {
      "@id": "granite:owner_id",
      "@type": "xsd:string"
    },
    "ShopifyStore": "granite:ShopifyStore",
    "vault_id": {
      "@id": "granite:vault_id",
      "@type": "xsd:string"
    },
    "ShopifyStoreList": "granite:ShopifyStoreList",
    "APITokenList": "granite:APITokenList",
    "APITokenCreate": "granite:APITokenCreate",
    "expires_in_days": {
      "@id": "granite:expires_in_days",
      "@type": "xsd:integer"
    },
    "APITokenCreated": "granite:APITokenCreated",
    "value": {
      "@id": "granite:value",
      "@type": "xsd:string"
    },
    "Note": "granite:Note",
    "content": {
      "@id": "granite:content",
      "@type": "xsd:string"
    },
    "NoteList": "granite:NoteList",
    "NoteCreate": "granite:NoteCreate",
    "NoteUpdate": "granite:NoteUpdate",
    "NotePatch": "granite:NotePatch",
    "find": {
      "@id": "granite:find",
      "@type": "xsd:string"
    },
    "replace": {
      "@id": "granite:replace",
      "@type": "xsd:string"
    },
    "all": {
      "@id": "granite:all",
      "@type": "xsd:boolean"
    },
    "prepend": {
      "@id": "granite:prepend",
      "@type": "xsd:string"
    },
    "append": {
      "@id": "granite:append",
      "@type": "xsd:string"
    },
    "NoteMove": "granite:NoteMove",
    "NoteFromTemplate": "granite:NoteFromTemplate",
    "template": {
      "@id": "granite:template",
      "@type": "xsd:string"
    },
    "folder": {
      "@id": "granite:folder",
      "@type": "xsd:string"
    },
    "timezone": {
      "@id": "granite:timezone",
      "@type": "xsd:string"
    },
    "FolderCreate": "granite:FolderCreate",
    "FolderMove": "granite:FolderMove",
    "from": {
      "@id": "granite:from",
      "@type": "xsd:string"
    },
    "to": {
      "@id": "granite:to",
      "@type": "xsd:string"
    },
    "Folder": "granite:Folder",
    "note": {
      "@id": "granite:note",
      "@type": "@id"
    },
    "FolderChange": "granite:FolderChange",
    "TemplateList": "granite:TemplateList",
    "TemplateCreate": "granite:TemplateCreate",
    "WebhookEventType": "granite:WebhookEventType",
    "IntegrationAction": "granite:IntegrationAction",
    "IntegrationKind": "granite:IntegrationKind",
    "Webhook": "granite:Webhook",
    "description": {
      "@id": "granite:description",
      "@type": "xsd:string"
    },
    "events": {
      "@id": "granite:events",
      "@container": "@list"
    },
    "actions": {
      "@id": "granite:actions",
      "@container": "@list"
    },
    "inbound_url": {
      "@id": "granite:inbound_url",
      "@type": "xsd:string"
    },
    "ready": {
      "@id": "granite:ready",
      "@type": "xsd:boolean"
    },
    "last_inbound_at": {
      "@id": "granite:last_inbound_at",
      "@type": "xsd:dateTime"
    },
    "granite_bot": {
      "@id": "granite:granite_bot",
      "@type": "xsd:boolean"
    },
    "chats": {
      "@id": "granite:chats",
      "@container": "@list"
    },
    "active": {
      "@id": "granite:active",
      "@type": "xsd:boolean"
    },
    "IntegrationChat": "granite:IntegrationChat",
    "IntegrationConnect": "granite:IntegrationConnect",
    "group_url": {
      "@id": "granite:group_url",
      "@type": "xsd:string"
    },
    "WebhookWithSecret": "granite:WebhookWithSecret",
    "webhook": {
      "@id": "granite:webhook",
      "@type": "@id"
    },
    "action_key": {
      "@id": "granite:action_key",
      "@type": "xsd:string"
    },
    "WebhookList": "granite:WebhookList",
    "WebhookCreate": "granite:WebhookCreate",
    "bot_token": {
      "@id": "granite:bot_token",
      "@type": "xsd:string"
    },
    "chat_id": {
      "@id": "granite:chat_id",
      "@type": "xsd:string"
    },
    "signing_secret": {
      "@id": "granite:signing_secret",
      "@type": "xsd:string"
    },
    "public_key": {
      "@id": "granite:public_key",
      "@type": "xsd:string"
    },
    "application_id": {
      "@id": "granite:application_id",
      "@type": "xsd:string"
    },
    "inbound_token": {
      "@id": "granite:inbound_token",
      "@type": "xsd:string"
    },
    "WebhookUpdate": "granite:WebhookUpdate",
    "rotate_action_key": {
      "@id": "granite:rotate_action_key",
      "@type": "xsd:boolean"
    },
    "rotate_secret": {
      "@id": "granite:rotate_secret",
      "@type": "xsd:boolean"
    },
    "WebhookEvent": "granite:WebhookEvent",
    "data": {
      "@id": "granite:data"
    },
    "WebhookDelivery": "granite:WebhookDelivery",
    "event_id": {
      "@id": "granite:event_id",
      "@type": "xsd:string"
    },
    "event_type": {
      "@id": "granite:event_type",
      "@type": "xsd:string"
    },
    "attempts": {
      "@id": "granite:attempts",
      "@type": "xsd:integer"
    },
    "next_attempt_at": {
      "@id": "granite:next_attempt_at",
      "@type": "xsd:dateTime"
    },
    "last_status": {
      "@id": "granite:last_status",
      "@type": "xsd:integer"
    },
    "last_error": {
      "@id": "granite:last_error",
      "@type": "xsd:string"
    },
    "replay_of": {
      "@id": "granite:replay_of",
      "@type": "xsd:string"
    },
    "delivered_at": {
      "@id": "granite:delivered_at",
      "@type": "xsd:dateTime"
    },
    "payload": {
      "@id": "granite:payload",
      "@type": "@id"
    },
    "WebhookDeliveryList": "granite:WebhookDeliveryList",
    "KBSearchRequest": "granite:KBSearchRequest",
    "query": {
      "@id": "granite:query",
      "@type": "xsd:string"
    },
    "vault_ids": {
      "@id": "granite:vault_ids",
      "@container": "@list"
    },
    "limit": {
      "@id": "granite:limit",
      "@type": "xsd:integer"
    },
    "KBSettings": "granite:KBSettings",
    "included": {
      "@id": "granite:included",
      "@type": "xsd:boolean"
    },
    "excluded_folders": {
      "@id": "granite:excluded_folders",
      "@container": "@list"
    },
    "exclude_drive": {
      "@id": "granite:exclude_drive",
      "@type": "xsd:boolean"
    },
    "FeatureFlags": "granite:FeatureFlags",
    "flags": {
      "@id": "granite:flags"
    },
    "KBStatus": "granite:KBStatus",
    "indexed": {
      "@id": "granite:indexed",
      "@type": "xsd:boolean"
    },
    "documents": {
      "@id": "granite:documents",
      "@type": "xsd:integer"
    },
    "chunks": {
      "@id": "granite:chunks",
      "@type": "xsd:integer"
    },
    "pending": {
      "@id": "granite:pending",
      "@type": "xsd:integer"
    },
    "last_indexed_at": {
      "@id": "granite:last_indexed_at",
      "@type": "xsd:dateTime"
    },
    "failures": {
      "@id": "granite:failures",
      "@container": "@list"
    },
    "KBPassage": "granite:KBPassage",
    "chunk_id": {
      "@id": "granite:chunk_id",
      "@type": "xsd:string"
    },
    "heading_path": {
      "@id": "granite:heading_path",
      "@container": "@list"
    },
    "start_line": {
      "@id": "granite:start_line",
      "@type": "xsd:integer"
    },
    "end_line": {
      "@id": "granite:end_line",
      "@type": "xsd:integer"
    },
    "page": {
      "@id": "granite:page",
      "@type": "xsd:integer"
    },
    "text": {
      "@id": "granite:text",
      "@type": "xsd:string"
    },
    "score": {
      "@id": "granite:score",
      "@type": "xsd:decimal"
    },
    "KBSearchResults": "granite:KBSearchResults",
    "passages": {
      "@id": "granite:passages",
      "@container": "@list"
    },
    "OAuthScope": "granite:OAuthScope",
    "OAuthConsentInfo": "granite:OAuthConsentInfo",
    "client_id": {
      "@id": "granite:client_id",
      "@type": "xsd:string"
    },
    "client_name": {
      "@id": "granite:client_name",
      "@type": "xsd:string"
    },
    "client_uri": {
      "@id": "granite:client_uri",
      "@type": "xsd:string"
    },
    "logo_uri": {
      "@id": "granite:logo_uri",
      "@type": "xsd:string"
    },
    "redirect_host": {
      "@id": "granite:redirect_host",
      "@type": "xsd:string"
    },
    "error_redirect": {
      "@id": "granite:error_redirect",
      "@type": "xsd:string"
    },
    "OAuthAuthorizeRequest": "granite:OAuthAuthorizeRequest",
    "redirect_uri": {
      "@id": "granite:redirect_uri",
      "@type": "xsd:string"
    },
    "response_type": {
      "@id": "granite:response_type",
      "@type": "xsd:string"
    },
    "scope": {
      "@id": "granite:scope",
      "@type": "xsd:string"
    },
    "code_challenge": {
      "@id": "granite:code_challenge",
      "@type": "xsd:string"
    },
    "code_challenge_method": {
      "@id": "granite:code_challenge_method",
      "@type": "xsd:string"
    },
    "resource": {
      "@id": "granite:resource",
      "@type": "xsd:string"
    },
    "OAuthDecision": "granite:OAuthDecision",
    "request": {
      "@id": "granite:request",
      "@type": "@id"
    },
    "approve": {
      "@id": "granite:approve",
      "@type": "xsd:boolean"
    },
    "OAuthRedirect": "granite:OAuthRedirect",
    "redirect_to": {
      "@id": "granite:redirect_to",
      "@type": "xsd:string"
    },
    "ConnectedApp": "granite:ConnectedApp",
    "ConnectedAppList": "granite:ConnectedAppList",
    "WorkspaceRole": "granite:WorkspaceRole"
  },
  "@type": "schema:Dataset",
  "schema:name": "Granite API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Granite'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-10) from openapi/granite-md-openapi.yaml.",
  "dcterms:created": "2026-11-10",
  "dcterms:source": [
    "openapi/granite-md-openapi.yaml"
  ]
}