{
  "@context": {
    "@vocab": "https://craaft.io/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "craaft": "https://craaft.io/schema#",
    "Error": "craaft:Error",
    "error": {
      "@id": "craaft:error",
      "@type": "xsd:string"
    },
    "User": "craaft:User",
    "id": {
      "@id": "craaft:id",
      "@type": "xsd:string"
    },
    "email": {
      "@id": "craaft:email",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "craaft:name",
      "@type": "xsd:string"
    },
    "username": {
      "@id": "craaft:username",
      "@type": "xsd:string"
    },
    "avatarUrl": {
      "@id": "craaft:avatarUrl",
      "@type": "xsd:string"
    },
    "hasPassword": {
      "@id": "craaft:hasPassword",
      "@type": "xsd:boolean"
    },
    "emailVerified": {
      "@id": "craaft:emailVerified",
      "@type": "xsd:boolean"
    },
    "pendingEmail": {
      "@id": "craaft:pendingEmail",
      "@type": "xsd:string"
    },
    "twoFactorEnabled": {
      "@id": "craaft:twoFactorEnabled",
      "@type": "xsd:boolean"
    },
    "newsletterSubscribed": {
      "@id": "craaft:newsletterSubscribed",
      "@type": "xsd:boolean"
    },
    "emailNotifications": {
      "@id": "craaft:emailNotifications",
      "@type": "xsd:boolean"
    },
    "newsletterAvailable": {
      "@id": "craaft:newsletterAvailable",
      "@type": "xsd:boolean"
    },
    "isSuperAdmin": {
      "@id": "craaft:isSuperAdmin",
      "@type": "xsd:boolean"
    },
    "csrfToken": {
      "@id": "craaft:csrfToken",
      "@type": "xsd:string"
    },
    "Project": "craaft:Project",
    "workspaceId": {
      "@id": "craaft:workspaceId",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "craaft:description",
      "@type": "xsd:string"
    },
    "brief": {
      "@id": "craaft:brief",
      "@type": "xsd:string"
    },
    "isFavorite": {
      "@id": "craaft:isFavorite",
      "@type": "xsd:boolean"
    },
    "publicToken": {
      "@id": "craaft:publicToken",
      "@type": "xsd:string"
    },
    "backgroundImage": {
      "@id": "craaft:backgroundImage",
      "@type": "xsd:string"
    },
    "backgroundColor": {
      "@id": "craaft:backgroundColor",
      "@type": "xsd:string"
    },
    "colorScheme": {
      "@id": "craaft:colorScheme",
      "@type": "xsd:string"
    },
    "textColor": {
      "@id": "craaft:textColor",
      "@type": "xsd:string"
    },
    "showMilestones": {
      "@id": "craaft:showMilestones",
      "@type": "xsd:boolean"
    },
    "showArchived": {
      "@id": "craaft:showArchived",
      "@type": "xsd:boolean"
    },
    "showFiles": {
      "@id": "craaft:showFiles",
      "@type": "xsd:boolean"
    },
    "showStandup": {
      "@id": "craaft:showStandup",
      "@type": "xsd:boolean"
    },
    "showActivity": {
      "@id": "craaft:showActivity",
      "@type": "xsd:boolean"
    },
    "myRole": {
      "@id": "craaft:myRole",
      "@type": "xsd:string"
    },
    "visibility": {
      "@id": "craaft:visibility",
      "@type": "xsd:string"
    },
    "myBoardRole": {
      "@id": "craaft:myBoardRole",
      "@type": "xsd:string"
    },
    "canUploadAttachments": {
      "@id": "craaft:canUploadAttachments",
      "@type": "xsd:boolean"
    },
    "totalCards": {
      "@id": "craaft:totalCards",
      "@type": "xsd:integer"
    },
    "columnCounts": {
      "@id": "craaft:columnCounts"
    },
    "workspaceName": {
      "@id": "craaft:workspaceName",
      "@type": "xsd:string"
    },
    "members": {
      "@id": "craaft:members",
      "@container": "@list"
    },
    "columns": {
      "@id": "craaft:columns",
      "@container": "@list"
    },
    "createdAt": {
      "@id": "craaft:createdAt",
      "@type": "xsd:dateTime"
    },
    "updatedAt": {
      "@id": "craaft:updatedAt",
      "@type": "xsd:dateTime"
    },
    "ProjectMemberPreview": "craaft:ProjectMemberPreview",
    "BoardMember": "craaft:BoardMember",
    "userId": {
      "@id": "craaft:userId",
      "@type": "xsd:string"
    },
    "role": {
      "@id": "craaft:role",
      "@type": "xsd:string"
    },
    "source": {
      "@id": "craaft:source",
      "@type": "xsd:string"
    },
    "BoardMemberInput": "craaft:BoardMemberInput",
    "BoardAccess": "craaft:BoardAccess",
    "projectId": {
      "@id": "craaft:projectId",
      "@type": "xsd:string"
    },
    "InvitationGrant": "craaft:InvitationGrant",
    "Member": "craaft:Member",
    "joinedAt": {
      "@id": "craaft:joinedAt",
      "@type": "xsd:dateTime"
    },
    "boardAccess": {
      "@id": "craaft:boardAccess",
      "@container": "@list"
    },
    "InvitationCreate": "craaft:InvitationCreate",
    "boardGrants": {
      "@id": "craaft:boardGrants",
      "@container": "@list"
    },
    "Invitation": "craaft:Invitation",
    "invitedBy": {
      "@id": "craaft:invitedBy",
      "@type": "xsd:string"
    },
    "invitedByName": {
      "@id": "craaft:invitedByName",
      "@type": "xsd:string"
    },
    "expiresAt": {
      "@id": "craaft:expiresAt",
      "@type": "xsd:dateTime"
    },
    "Column": "craaft:Column",
    "key": {
      "@id": "craaft:key",
      "@type": "xsd:string"
    },
    "title": {
      "@id": "craaft:title",
      "@type": "xsd:string"
    },
    "color": {
      "@id": "craaft:color",
      "@type": "xsd:string"
    },
    "position": {
      "@id": "craaft:position",
      "@type": "xsd:decimal"
    },
    "isDone": {
      "@id": "craaft:isDone",
      "@type": "xsd:boolean"
    },
    "cardLimit": {
      "@id": "craaft:cardLimit",
      "@type": "xsd:integer"
    },
    "Card": "craaft:Card",
    "column": {
      "@id": "craaft:column",
      "@type": "xsd:string"
    },
    "dueDate": {
      "@id": "craaft:dueDate",
      "@type": "xsd:dateTime"
    },
    "assignedUserId": {
      "@id": "craaft:assignedUserId",
      "@type": "xsd:string"
    },
    "assignedUserName": {
      "@id": "craaft:assignedUserName",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "craaft:size",
      "@type": "xsd:integer"
    },
    "priority": {
      "@id": "craaft:priority",
      "@type": "xsd:string"
    },
    "createdBy": {
      "@id": "craaft:createdBy",
      "@type": "xsd:string"
    },
    "createdByName": {
      "@id": "craaft:createdByName",
      "@type": "xsd:string"
    },
    "updatedBy": {
      "@id": "craaft:updatedBy",
      "@type": "xsd:string"
    },
    "updatedByName": {
      "@id": "craaft:updatedByName",
      "@type": "xsd:string"
    },
    "attachmentCount": {
      "@id": "craaft:attachmentCount",
      "@type": "xsd:integer"
    },
    "checklistDone": {
      "@id": "craaft:checklistDone",
      "@type": "xsd:integer"
    },
    "checklistTotal": {
      "@id": "craaft:checklistTotal",
      "@type": "xsd:integer"
    },
    "tags": {
      "@id": "craaft:tags",
      "@container": "@list"
    },
    "following": {
      "@id": "craaft:following",
      "@type": "xsd:boolean"
    },
    "SearchResult": "craaft:SearchResult",
    "projectName": {
      "@id": "craaft:projectName",
      "@type": "xsd:string"
    },
    "columnKey": {
      "@id": "craaft:columnKey",
      "@type": "xsd:string"
    },
    "columnTitle": {
      "@id": "craaft:columnTitle",
      "@type": "xsd:string"
    },
    "archived": {
      "@id": "craaft:archived",
      "@type": "xsd:boolean"
    },
    "UpcomingCard": "craaft:UpcomingCard",
    "Comment": "craaft:Comment",
    "cardId": {
      "@id": "craaft:cardId",
      "@type": "xsd:string"
    },
    "authorId": {
      "@id": "craaft:authorId",
      "@type": "xsd:string"
    },
    "body": {
      "@id": "craaft:body",
      "@type": "xsd:string"
    },
    "ChecklistItem": "craaft:ChecklistItem",
    "text": {
      "@id": "craaft:text",
      "@type": "xsd:string"
    },
    "done": {
      "@id": "craaft:done",
      "@type": "xsd:boolean"
    },
    "Milestone": "craaft:Milestone",
    "dueOn": {
      "@id": "craaft:dueOn",
      "@type": "xsd:date"
    },
    "achievedAt": {
      "@id": "craaft:achievedAt",
      "@type": "xsd:dateTime"
    },
    "VersionInfo": "craaft:VersionInfo",
    "version": {
      "@id": "craaft:version",
      "@type": "xsd:string"
    },
    "commit": {
      "@id": "craaft:commit",
      "@type": "xsd:string"
    },
    "buildTime": {
      "@id": "craaft:buildTime",
      "@type": "xsd:string"
    },
    "PublicBoard": "craaft:PublicBoard",
    "project": {
      "@id": "craaft:project"
    },
    "cards": {
      "@id": "craaft:cards",
      "@container": "@list"
    },
    "BulkCardsResponse": "craaft:BulkCardsResponse",
    "Attachment": "craaft:Attachment",
    "contentType": {
      "@id": "craaft:contentType",
      "@type": "xsd:string"
    },
    "uploadedBy": {
      "@id": "craaft:uploadedBy",
      "@type": "xsd:string"
    },
    "uploadedByName": {
      "@id": "craaft:uploadedByName",
      "@type": "xsd:string"
    },
    "AttentionCard": "craaft:AttentionCard",
    "staleInProgress": {
      "@id": "craaft:staleInProgress",
      "@type": "xsd:boolean"
    },
    "highPriority": {
      "@id": "craaft:highPriority",
      "@type": "xsd:boolean"
    },
    "idleByMe": {
      "@id": "craaft:idleByMe",
      "@type": "xsd:boolean"
    },
    "CardEvent": "craaft:CardEvent",
    "type": {
      "@id": "craaft:type",
      "@type": "xsd:string"
    },
    "fromValue": {
      "@id": "craaft:fromValue",
      "@type": "xsd:string"
    },
    "toValue": {
      "@id": "craaft:toValue",
      "@type": "xsd:string"
    },
    "fromName": {
      "@id": "craaft:fromName",
      "@type": "xsd:string"
    },
    "toName": {
      "@id": "craaft:toName",
      "@type": "xsd:string"
    },
    "fromDetail": {
      "@id": "craaft:fromDetail",
      "@type": "xsd:string"
    },
    "toDetail": {
      "@id": "craaft:toDetail",
      "@type": "xsd:string"
    },
    "actorId": {
      "@id": "craaft:actorId",
      "@type": "xsd:string"
    },
    "actorName": {
      "@id": "craaft:actorName",
      "@type": "xsd:string"
    },
    "BoardActivity": "craaft:BoardActivity",
    "cardTitle": {
      "@id": "craaft:cardTitle",
      "@type": "xsd:string"
    },
    "cardArchived": {
      "@id": "craaft:cardArchived",
      "@type": "xsd:boolean"
    },
    "excerpt": {
      "@id": "craaft:excerpt",
      "@type": "xsd:string"
    },
    "commentDeleted": {
      "@id": "craaft:commentDeleted",
      "@type": "xsd:boolean"
    },
    "CardDetail": "craaft:CardDetail",
    "card": {
      "@id": "craaft:card",
      "@type": "@id"
    },
    "comments": {
      "@id": "craaft:comments",
      "@container": "@list"
    },
    "events": {
      "@id": "craaft:events",
      "@container": "@list"
    },
    "checklist": {
      "@id": "craaft:checklist",
      "@container": "@list"
    },
    "attachments": {
      "@id": "craaft:attachments",
      "@container": "@list"
    },
    "github": {
      "@id": "craaft:github",
      "@type": "@id"
    },
    "GitHubBinding": "craaft:GitHubBinding",
    "installationId": {
      "@id": "craaft:installationId",
      "@type": "xsd:integer"
    },
    "accountLogin": {
      "@id": "craaft:accountLogin",
      "@type": "xsd:string"
    },
    "repoId": {
      "@id": "craaft:repoId",
      "@type": "xsd:integer"
    },
    "fullName": {
      "@id": "craaft:fullName",
      "@type": "xsd:string"
    },
    "openColumn": {
      "@id": "craaft:openColumn",
      "@type": "xsd:string"
    },
    "mergedColumn": {
      "@id": "craaft:mergedColumn",
      "@type": "xsd:string"
    },
    "suspended": {
      "@id": "craaft:suspended",
      "@type": "xsd:boolean"
    },
    "LinkedPullRequest": "craaft:LinkedPullRequest",
    "repo": {
      "@id": "craaft:repo",
      "@type": "xsd:string"
    },
    "number": {
      "@id": "craaft:number",
      "@type": "xsd:integer"
    },
    "url": {
      "@id": "craaft:url",
      "@type": "xsd:string"
    },
    "state": {
      "@id": "craaft:state",
      "@type": "xsd:string"
    },
    "draft": {
      "@id": "craaft:draft",
      "@type": "xsd:boolean"
    },
    "author": {
      "@id": "craaft:author",
      "@type": "xsd:string"
    },
    "branch": {
      "@id": "craaft:branch",
      "@type": "xsd:string"
    },
    "CardGitHub": "craaft:CardGitHub",
    "enabled": {
      "@id": "craaft:enabled",
      "@type": "xsd:boolean"
    },
    "pullRequests": {
      "@id": "craaft:pullRequests",
      "@container": "@list"
    },
    "branches": {
      "@id": "craaft:branches",
      "@container": "@list"
    },
    "ImportRequest": "craaft:ImportRequest",
    "file": {
      "@id": "craaft:file",
      "@type": "xsd:string"
    },
    "mapping": {
      "@id": "craaft:mapping",
      "@type": "xsd:string"
    },
    "ImportPreview": "craaft:ImportPreview",
    "totals": {
      "@id": "craaft:totals"
    },
    "assignees": {
      "@id": "craaft:assignees"
    },
    "access": {
      "@id": "craaft:access",
      "@container": "@list"
    },
    "warnings": {
      "@id": "craaft:warnings",
      "@container": "@list"
    },
    "csv": {
      "@id": "craaft:csv"
    },
    "ProjectExport": "craaft:ProjectExport",
    "exportedAt": {
      "@id": "craaft:exportedAt",
      "@type": "xsd:dateTime"
    },
    "ProjectExportUser": "craaft:ProjectExportUser",
    "BoardTemplate": "craaft:BoardTemplate",
    "BoardTemplateColumn": "craaft:BoardTemplateColumn",
    "WebhookDelivery": "craaft:WebhookDelivery",
    "event": {
      "@id": "craaft:event",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "craaft:status",
      "@type": "xsd:string"
    },
    "statusCode": {
      "@id": "craaft:statusCode",
      "@type": "xsd:integer"
    },
    "attempts": {
      "@id": "craaft:attempts",
      "@type": "xsd:integer"
    },
    "WebhookSubscription": "craaft:WebhookSubscription",
    "endpointId": {
      "@id": "craaft:endpointId",
      "@type": "xsd:string"
    },
    "secret": {
      "@id": "craaft:secret",
      "@type": "xsd:string"
    },
    "format": {
      "@id": "craaft:format",
      "@type": "xsd:string"
    },
    "active": {
      "@id": "craaft:active",
      "@type": "xsd:boolean"
    },
    "recentDeliveries": {
      "@id": "craaft:recentDeliveries",
      "@container": "@list"
    },
    "InboundEmailAddress": "craaft:InboundEmailAddress",
    "token": {
      "@id": "craaft:token",
      "@type": "xsd:string"
    },
    "targetColumn": {
      "@id": "craaft:targetColumn",
      "@type": "xsd:string"
    },
    "aiEnrich": {
      "@id": "craaft:aiEnrich",
      "@type": "xsd:boolean"
    },
    "aiAlways": {
      "@id": "craaft:aiAlways",
      "@type": "xsd:boolean"
    },
    "aiInstructions": {
      "@id": "craaft:aiInstructions",
      "@type": "xsd:string"
    },
    "InboundAllowedSender": "craaft:InboundAllowedSender",
    "pattern": {
      "@id": "craaft:pattern",
      "@type": "xsd:string"
    },
    "addedBy": {
      "@id": "craaft:addedBy"
    },
    "needsOwner": {
      "@id": "craaft:needsOwner",
      "@type": "xsd:boolean"
    },
    "NotificationCardRef": "craaft:NotificationCardRef",
    "NotificationActor": "craaft:NotificationActor",
    "NotificationRow": "craaft:NotificationRow",
    "ids": {
      "@id": "craaft:ids",
      "@container": "@list"
    },
    "kind": {
      "@id": "craaft:kind",
      "@type": "xsd:string"
    },
    "kinds": {
      "@id": "craaft:kinds",
      "@container": "@list"
    },
    "details": {
      "@id": "craaft:details",
      "@container": "@list"
    },
    "commentId": {
      "@id": "craaft:commentId",
      "@type": "xsd:string"
    },
    "actors": {
      "@id": "craaft:actors",
      "@container": "@list"
    },
    "count": {
      "@id": "craaft:count",
      "@type": "xsd:integer"
    },
    "seen": {
      "@id": "craaft:seen",
      "@type": "xsd:boolean"
    },
    "read": {
      "@id": "craaft:read",
      "@type": "xsd:boolean"
    },
    "NotificationList": "craaft:NotificationList",
    "items": {
      "@id": "craaft:items",
      "@container": "@list"
    },
    "nextBefore": {
      "@id": "craaft:nextBefore",
      "@type": "xsd:dateTime"
    },
    "ConnectedApp": "craaft:ConnectedApp",
    "clientName": {
      "@id": "craaft:clientName",
      "@type": "xsd:string"
    },
    "redirectHost": {
      "@id": "craaft:redirectHost",
      "@type": "xsd:string"
    },
    "verified": {
      "@id": "craaft:verified",
      "@type": "xsd:boolean"
    },
    "lastUsedAt": {
      "@id": "craaft:lastUsedAt",
      "@type": "xsd:dateTime"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "craaft API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects craaft'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-04) from openapi/craaft-io-openapi.yml.",
  "dcterms:created": "2026-11-04",
  "dcterms:source": [
    "openapi/craaft-io-openapi.yml"
  ]
}