{
  "@context": {
    "@vocab": "https://bugbug.io/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "bugbug": "https://bugbug.io/schema#",
    "APICreateVariable": "bugbug:APICreateVariable",
    "key": {
      "@id": "bugbug:key",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "bugbug:value",
      "@type": "xsd:string"
    },
    "type": {
      "@id": "bugbug:type",
      "@type": "xsd:string"
    },
    "isSecret": {
      "@id": "bugbug:isSecret",
      "@type": "xsd:boolean"
    },
    "description": {
      "@id": "bugbug:description",
      "@type": "xsd:string"
    },
    "APICreatedVariable": "bugbug:APICreatedVariable",
    "isBuiltIn": {
      "@id": "bugbug:isBuiltIn",
      "@type": "xsd:boolean"
    },
    "webappUrl": {
      "@id": "bugbug:webappUrl",
      "@type": "xsd:string"
    },
    "APIVariable": "bugbug:APIVariable",
    "ApiStatus": "bugbug:ApiStatus",
    "status": {
      "@id": "bugbug:status",
      "@type": "xsd:string"
    },
    "authenticated": {
      "@id": "bugbug:authenticated",
      "@type": "xsd:boolean"
    },
    "AssertStep": "bugbug:AssertStep",
    "id": {
      "@id": "bugbug:id",
      "@type": "xsd:string"
    },
    "atIndex": {
      "@id": "bugbug:atIndex",
      "@type": "xsd:integer"
    },
    "name": {
      "@id": "bugbug:name",
      "@type": "xsd:string"
    },
    "blockId": {
      "@id": "bugbug:blockId",
      "@type": "xsd:string"
    },
    "groupId": {
      "@id": "bugbug:groupId",
      "@type": "xsd:string"
    },
    "originGroupId": {
      "@id": "bugbug:originGroupId",
      "@type": "xsd:string"
    },
    "notes": {
      "@id": "bugbug:notes",
      "@type": "xsd:string"
    },
    "isActive": {
      "@id": "bugbug:isActive",
      "@type": "xsd:boolean"
    },
    "runTimeout": {
      "@id": "bugbug:runTimeout",
      "@type": "xsd:decimal"
    },
    "sleep": {
      "@id": "bugbug:sleep",
      "@type": "xsd:decimal"
    },
    "waitingConditions": {
      "@id": "bugbug:waitingConditions",
      "@container": "@list"
    },
    "source": {
      "@id": "bugbug:source",
      "@type": "xsd:string"
    },
    "selectorsPresets": {
      "@id": "bugbug:selectorsPresets",
      "@container": "@list"
    },
    "continueOnFailure": {
      "@id": "bugbug:continueOnFailure",
      "@type": "xsd:boolean"
    },
    "assertionProperty": {
      "@id": "bugbug:assertionProperty",
      "@type": "xsd:string"
    },
    "assertionType": {
      "@id": "bugbug:assertionType",
      "@type": "xsd:string"
    },
    "assertionCaseInsensitive": {
      "@id": "bugbug:assertionCaseInsensitive",
      "@type": "xsd:boolean"
    },
    "assertionAttributeName": {
      "@id": "bugbug:assertionAttributeName",
      "@type": "xsd:string"
    },
    "assertionExpectedValue": {
      "@id": "bugbug:assertionExpectedValue",
      "@type": "xsd:string"
    },
    "assertionJavaScript": {
      "@id": "bugbug:assertionJavaScript",
      "@type": "xsd:string"
    },
    "assertionVariableName": {
      "@id": "bugbug:assertionVariableName",
      "@type": "xsd:string"
    },
    "ChangeStep": "bugbug:ChangeStep",
    "ClearStep": "bugbug:ClearStep",
    "ClickStep": "bugbug:ClickStep",
    "interactionPosition": {
      "@id": "bugbug:interactionPosition",
      "@type": "xsd:string"
    },
    "CloseTabStep": "bugbug:CloseTabStep",
    "DebugArtifact": "bugbug:DebugArtifact",
    "kind": {
      "@id": "bugbug:kind",
      "@type": "xsd:string"
    },
    "file": {
      "@id": "bugbug:file",
      "@type": "xsd:string"
    },
    "fileExtension": {
      "@id": "bugbug:fileExtension",
      "@type": "xsd:string"
    },
    "contentType": {
      "@id": "bugbug:contentType",
      "@type": "xsd:string"
    },
    "expirationTime": {
      "@id": "bugbug:expirationTime",
      "@type": "xsd:dateTime"
    },
    "ElementVisualRegressionStep": "bugbug:ElementVisualRegressionStep",
    "visualRegressionMaxDiff": {
      "@id": "bugbug:visualRegressionMaxDiff",
      "@type": "xsd:decimal"
    },
    "visualRegressionRefScreenshots": {
      "@id": "bugbug:visualRegressionRefScreenshots",
      "@container": "@list"
    },
    "ExecuteStep": "bugbug:ExecuteStep",
    "code": {
      "@id": "bugbug:code",
      "@type": "xsd:string"
    },
    "GoBackStep": "bugbug:GoBackStep",
    "GoForwardStep": "bugbug:GoForwardStep",
    "GotoStep": "bugbug:GotoStep",
    "url": {
      "@id": "bugbug:url",
      "@type": "xsd:string"
    },
    "username": {
      "@id": "bugbug:username",
      "@type": "xsd:string"
    },
    "password": {
      "@id": "bugbug:password",
      "@type": "xsd:string"
    },
    "frameLocation": {
      "@id": "bugbug:frameLocation",
      "@type": "xsd:string"
    },
    "HoverStep": "bugbug:HoverStep",
    "IPAddressList": "bugbug:IPAddressList",
    "ips": {
      "@id": "bugbug:ips",
      "@container": "@list"
    },
    "IfConditionStep": "bugbug:IfConditionStep",
    "InboxAddress": "bugbug:InboxAddress",
    "address": {
      "@id": "bugbug:address",
      "@type": "xsd:string"
    },
    "InboxMessage": "bugbug:InboxMessage",
    "subject": {
      "@id": "bugbug:subject",
      "@type": "xsd:string"
    },
    "receivedAt": {
      "@id": "bugbug:receivedAt",
      "@type": "xsd:string"
    },
    "hasAttachments": {
      "@id": "bugbug:hasAttachments",
      "@type": "xsd:boolean"
    },
    "unseen": {
      "@id": "bugbug:unseen",
      "@type": "xsd:boolean"
    },
    "from": {
      "@id": "bugbug:from",
      "@container": "@list"
    },
    "to": {
      "@id": "bugbug:to",
      "@container": "@list"
    },
    "InboxMessageDetails": "bugbug:InboxMessageDetails",
    "textPreview": {
      "@id": "bugbug:textPreview",
      "@type": "xsd:string"
    },
    "html": {
      "@id": "bugbug:html",
      "@type": "xsd:string"
    },
    "MouseDownStep": "bugbug:MouseDownStep",
    "MouseMoveStep": "bugbug:MouseMoveStep",
    "isTargetDocument": {
      "@id": "bugbug:isTargetDocument",
      "@type": "xsd:boolean"
    },
    "mouseMoveSteps": {
      "@id": "bugbug:mouseMoveSteps",
      "@type": "xsd:integer"
    },
    "mouseButtons": {
      "@id": "bugbug:mouseButtons",
      "@container": "@list"
    },
    "modifierKeys": {
      "@id": "bugbug:modifierKeys",
      "@container": "@list"
    },
    "clientX": {
      "@id": "bugbug:clientX",
      "@type": "xsd:decimal"
    },
    "clientY": {
      "@id": "bugbug:clientY",
      "@type": "xsd:decimal"
    },
    "MouseUpStep": "bugbug:MouseUpStep",
    "NewTabStep": "bugbug:NewTabStep",
    "OpenInboxStep": "bugbug:OpenInboxStep",
    "PageVisualRegressionStep": "bugbug:PageVisualRegressionStep",
    "PaginatedV1RunProfileList": "bugbug:PaginatedV1RunProfileList",
    "count": {
      "@id": "bugbug:count",
      "@type": "xsd:integer"
    },
    "next": {
      "@id": "bugbug:next",
      "@type": "@id"
    },
    "previous": {
      "@id": "bugbug:previous",
      "@type": "@id"
    },
    "results": {
      "@id": "bugbug:results",
      "@container": "@list"
    },
    "PaginatedV2FolderList": "bugbug:PaginatedV2FolderList",
    "PaginatedV2FolderTreeNodeList": "bugbug:PaginatedV2FolderTreeNodeList",
    "PaginatedV2GroupList": "bugbug:PaginatedV2GroupList",
    "PaginatedV2OrganizationList": "bugbug:PaginatedV2OrganizationList",
    "PaginatedV2ProjectList": "bugbug:PaginatedV2ProjectList",
    "PaginatedV2SuiteList": "bugbug:PaginatedV2SuiteList",
    "PaginatedV2SuiteRunList": "bugbug:PaginatedV2SuiteRunList",
    "PaginatedV2TestList": "bugbug:PaginatedV2TestList",
    "PaginatedV2TestRunList": "bugbug:PaginatedV2TestRunList",
    "PaginatedV2VisualRegressionRefScreenshotList": "bugbug:PaginatedV2VisualRegressionRefScreenshotList",
    "PastFromClipboardStep": "bugbug:PastFromClipboardStep",
    "PatchedAPIUpdateVariable": "bugbug:PatchedAPIUpdateVariable",
    "PatchedAssertStep": "bugbug:PatchedAssertStep",
    "PatchedChangeStep": "bugbug:PatchedChangeStep",
    "PatchedClearStep": "bugbug:PatchedClearStep",
    "PatchedClickStep": "bugbug:PatchedClickStep",
    "PatchedCloseTabStep": "bugbug:PatchedCloseTabStep",
    "PatchedElementVisualRegressionStep": "bugbug:PatchedElementVisualRegressionStep",
    "PatchedExecuteStep": "bugbug:PatchedExecuteStep",
    "PatchedGoBackStep": "bugbug:PatchedGoBackStep",
    "PatchedGoForwardStep": "bugbug:PatchedGoForwardStep",
    "PatchedGotoStep": "bugbug:PatchedGotoStep",
    "PatchedHoverStep": "bugbug:PatchedHoverStep",
    "PatchedIfConditionStep": "bugbug:PatchedIfConditionStep",
    "PatchedMouseDownStep": "bugbug:PatchedMouseDownStep",
    "PatchedMouseMoveStep": "bugbug:PatchedMouseMoveStep",
    "PatchedMouseUpStep": "bugbug:PatchedMouseUpStep",
    "PatchedNewTabStep": "bugbug:PatchedNewTabStep",
    "PatchedOpenInboxStep": "bugbug:PatchedOpenInboxStep",
    "PatchedPageVisualRegressionStep": "bugbug:PatchedPageVisualRegressionStep",
    "PatchedPastFromClipboardStep": "bugbug:PatchedPastFromClipboardStep",
    "PatchedReloadPageStep": "bugbug:PatchedReloadPageStep",
    "PatchedScrollStep": "bugbug:PatchedScrollStep",
    "scrollX": {
      "@id": "bugbug:scrollX",
      "@type": "xsd:decimal"
    },
    "scrollY": {
      "@id": "bugbug:scrollY",
      "@type": "xsd:decimal"
    },
    "scrollEdge": {
      "@id": "bugbug:scrollEdge",
      "@type": "xsd:string"
    },
    "scrollDirection": {
      "@id": "bugbug:scrollDirection",
      "@type": "xsd:string"
    },
    "scrollTo": {
      "@id": "bugbug:scrollTo",
      "@type": "xsd:string"
    },
    "scrollInside": {
      "@id": "bugbug:scrollInside",
      "@type": "xsd:string"
    },
    "PatchedSelectStep": "bugbug:PatchedSelectStep",
    "selectType": {
      "@id": "bugbug:selectType",
      "@type": "xsd:string"
    },
    "selectIsMultiple": {
      "@id": "bugbug:selectIsMultiple",
      "@type": "xsd:boolean"
    },
    "PatchedSetLocalVariableStep": "bugbug:PatchedSetLocalVariableStep",
    "localVariableName": {
      "@id": "bugbug:localVariableName",
      "@type": "xsd:string"
    },
    "localVariableSource": {
      "@id": "bugbug:localVariableSource",
      "@type": "xsd:string"
    },
    "PatchedSwitchContext": "bugbug:PatchedSwitchContext",
    "tabNo": {
      "@id": "bugbug:tabNo",
      "@type": "xsd:integer"
    },
    "PatchedTypeStep": "bugbug:PatchedTypeStep",
    "PatchedUploadStep": "bugbug:PatchedUploadStep",
    "projectArtifactId": {
      "@id": "bugbug:projectArtifactId",
      "@type": "xsd:string"
    },
    "PatchedV2AnswerPromptStep": "bugbug:PatchedV2AnswerPromptStep",
    "PatchedV2DragAndDropStep": "bugbug:PatchedV2DragAndDropStep",
    "dndDropSelectorsPresets": {
      "@id": "bugbug:dndDropSelectorsPresets",
      "@container": "@list"
    },
    "dndDragOn": {
      "@id": "bugbug:dndDragOn",
      "@type": "xsd:string"
    },
    "dndDragX": {
      "@id": "bugbug:dndDragX",
      "@type": "xsd:decimal"
    },
    "dndDragY": {
      "@id": "bugbug:dndDragY",
      "@type": "xsd:decimal"
    },
    "dndDropOn": {
      "@id": "bugbug:dndDropOn",
      "@type": "xsd:string"
    },
    "dndDropInteractionPosition": {
      "@id": "bugbug:dndDropInteractionPosition",
      "@type": "xsd:string"
    },
    "dndDropX": {
      "@id": "bugbug:dndDropX",
      "@type": "xsd:decimal"
    },
    "dndDropY": {
      "@id": "bugbug:dndDropY",
      "@type": "xsd:decimal"
    },
    "PatchedV2FolderUpdate": "bugbug:PatchedV2FolderUpdate",
    "parentId": {
      "@id": "bugbug:parentId",
      "@type": "xsd:string"
    },
    "PatchedV2GroupUpdate": "bugbug:PatchedV2GroupUpdate",
    "isComponent": {
      "@id": "bugbug:isComponent",
      "@type": "xsd:boolean"
    },
    "folderId": {
      "@id": "bugbug:folderId",
      "@type": "xsd:string"
    },
    "PatchedV2RunUpdate": "bugbug:PatchedV2RunUpdate",
    "PatchedV2SuiteCreate": "bugbug:PatchedV2SuiteCreate",
    "autoAddNewTests": {
      "@id": "bugbug:autoAddNewTests",
      "@type": "xsd:boolean"
    },
    "autoRetry": {
      "@id": "bugbug:autoRetry",
      "@type": "xsd:integer"
    },
    "beforeAfterAllEnabled": {
      "@id": "bugbug:beforeAfterAllEnabled",
      "@type": "xsd:boolean"
    },
    "runInParallel": {
      "@id": "bugbug:runInParallel",
      "@type": "xsd:boolean"
    },
    "runProfileId": {
      "@id": "bugbug:runProfileId",
      "@type": "xsd:string"
    },
    "tests": {
      "@id": "bugbug:tests",
      "@container": "@list"
    },
    "beforeAll": {
      "@id": "bugbug:beforeAll",
      "@container": "@list"
    },
    "afterAll": {
      "@id": "bugbug:afterAll",
      "@container": "@list"
    },
    "tags": {
      "@id": "bugbug:tags",
      "@container": "@list"
    },
    "tagIds": {
      "@id": "bugbug:tagIds",
      "@container": "@list"
    },
    "PatchedV2TagCreateUpdate": "bugbug:PatchedV2TagCreateUpdate",
    "color": {
      "@id": "bugbug:color",
      "@type": "xsd:string"
    },
    "PatchedV2TestCreate": "bugbug:PatchedV2TestCreate",
    "screenSizeType": {
      "@id": "bugbug:screenSizeType",
      "@type": "xsd:string"
    },
    "PatchedV2VisualRegressionRefScreenshotUpdate": "bugbug:PatchedV2VisualRegressionRefScreenshotUpdate",
    "screenshot": {
      "@id": "bugbug:screenshot",
      "@type": "@id"
    },
    "ProjectBackup": "bugbug:ProjectBackup",
    "created": {
      "@id": "bugbug:created",
      "@type": "xsd:dateTime"
    },
    "expiresAt": {
      "@id": "bugbug:expiresAt",
      "@type": "xsd:dateTime"
    },
    "testsCount": {
      "@id": "bugbug:testsCount",
      "@type": "xsd:integer"
    },
    "suitesCount": {
      "@id": "bugbug:suitesCount",
      "@type": "xsd:integer"
    },
    "retentionDays": {
      "@id": "bugbug:retentionDays",
      "@type": "xsd:integer"
    },
    "triggeredBy": {
      "@id": "bugbug:triggeredBy",
      "@type": "xsd:string"
    },
    "ProjectBackupList": "bugbug:ProjectBackupList",
    "frequencyDays": {
      "@id": "bugbug:frequencyDays",
      "@type": "xsd:integer"
    },
    "nextBackupAt": {
      "@id": "bugbug:nextBackupAt",
      "@type": "xsd:dateTime"
    },
    "backups": {
      "@id": "bugbug:backups",
      "@container": "@list"
    },
    "ProjectImportCheckRequest": "bugbug:ProjectImportCheckRequest",
    "ProjectImportCheckResult": "bugbug:ProjectImportCheckResult",
    "valid": {
      "@id": "bugbug:valid",
      "@type": "xsd:boolean"
    },
    "summary": {
      "@id": "bugbug:summary",
      "@type": "@id"
    },
    "ProjectImportCheckSummary": "bugbug:ProjectImportCheckSummary",
    "components": {
      "@id": "bugbug:components",
      "@type": "xsd:integer"
    },
    "suites": {
      "@id": "bugbug:suites",
      "@type": "xsd:integer"
    },
    "profiles": {
      "@id": "bugbug:profiles",
      "@type": "xsd:integer"
    },
    "ProjectImportRunRequest": "bugbug:ProjectImportRunRequest",
    "uploadId": {
      "@id": "bugbug:uploadId",
      "@type": "xsd:string"
    },
    "ProjectImportRunResult": "bugbug:ProjectImportRunResult",
    "projectId": {
      "@id": "bugbug:projectId",
      "@type": "xsd:string"
    },
    "ProjectImportSummary": "bugbug:ProjectImportSummary",
    "ProjectImportValidateRequest": "bugbug:ProjectImportValidateRequest",
    "ProjectImportValidateResult": "bugbug:ProjectImportValidateResult",
    "ProjectSettingsSelector": "bugbug:ProjectSettingsSelector",
    "extraValue": {
      "@id": "bugbug:extraValue",
      "@type": "xsd:string"
    },
    "order": {
      "@id": "bugbug:order",
      "@type": "xsd:integer"
    },
    "ProjectSettingsWaitingCondition": "bugbug:ProjectSettingsWaitingCondition",
    "timeout": {
      "@id": "bugbug:timeout",
      "@type": "xsd:integer"
    },
    "expected": {
      "@id": "bugbug:expected",
      "@type": "xsd:string"
    },
    "ReloadPageStep": "bugbug:ReloadPageStep",
    "ScrollStep": "bugbug:ScrollStep",
    "SelectStep": "bugbug:SelectStep",
    "SetLocalVariableStep": "bugbug:SetLocalVariableStep",
    "SwitchContext": "bugbug:SwitchContext",
    "TestImportCheckRequest": "bugbug:TestImportCheckRequest",
    "TestImportCheckResult": "bugbug:TestImportCheckResult",
    "TestImportCheckSummary": "bugbug:TestImportCheckSummary",
    "TestImportConflict": "bugbug:TestImportConflict",
    "entityIds": {
      "@id": "bugbug:entityIds"
    },
    "conflicts": {
      "@id": "bugbug:conflicts",
      "@container": "@list"
    },
    "TestImportConflictItem": "bugbug:TestImportConflictItem",
    "entityType": {
      "@id": "bugbug:entityType",
      "@type": "xsd:string"
    },
    "slug": {
      "@id": "bugbug:slug",
      "@type": "xsd:string"
    },
    "existingId": {
      "@id": "bugbug:existingId",
      "@type": "xsd:string"
    },
    "yamlDiff": {
      "@id": "bugbug:yamlDiff"
    },
    "TestImportCreated": "bugbug:TestImportCreated",
    "TestImportRequest": "bugbug:TestImportRequest",
    "TestImportYamlDiff": "bugbug:TestImportYamlDiff",
    "currentYaml": {
      "@id": "bugbug:currentYaml",
      "@type": "xsd:string"
    },
    "incomingYaml": {
      "@id": "bugbug:incomingYaml",
      "@type": "xsd:string"
    },
    "TestRunInbox": "bugbug:TestRunInbox",
    "messages": {
      "@id": "bugbug:messages",
      "@container": "@list"
    },
    "TypeStep": "bugbug:TypeStep",
    "UnlinkComponent": "bugbug:UnlinkComponent",
    "UpdateSelector": "bugbug:UpdateSelector",
    "selector": {
      "@id": "bugbug:selector",
      "@type": "xsd:string"
    },
    "score": {
      "@id": "bugbug:score",
      "@type": "xsd:string"
    },
    "UpdateSelectorsGroup": "bugbug:UpdateSelectorsGroup",
    "selectors": {
      "@id": "bugbug:selectors",
      "@container": "@list"
    },
    "relation": {
      "@id": "bugbug:relation",
      "@type": "xsd:string"
    },
    "UpdateSelectorsPresetGroup": "bugbug:UpdateSelectorsPresetGroup",
    "isCustom": {
      "@id": "bugbug:isCustom",
      "@type": "xsd:boolean"
    },
    "selectorsGroups": {
      "@id": "bugbug:selectorsGroups",
      "@container": "@list"
    },
    "UpdateStepWaitingCondition": "bugbug:UpdateStepWaitingCondition",
    "isOverridden": {
      "@id": "bugbug:isOverridden",
      "@type": "xsd:boolean"
    },
    "UploadStep": "bugbug:UploadStep",
    "V1RunProfile": "bugbug:V1RunProfile",
    "isDefault": {
      "@id": "bugbug:isDefault",
      "@type": "xsd:boolean"
    },
    "V2AnswerPromptStep": "bugbug:V2AnswerPromptStep",
    "V2ComponentCreate": "bugbug:V2ComponentCreate",
    "V2DragAndDropStep": "bugbug:V2DragAndDropStep",
    "V2Folder": "bugbug:V2Folder",
    "depth": {
      "@id": "bugbug:depth",
      "@type": "xsd:integer"
    },
    "V2FolderCreate": "bugbug:V2FolderCreate",
    "V2FolderTreeNode": "bugbug:V2FolderTreeNode",
    "contentCount": {
      "@id": "bugbug:contentCount",
      "@type": "xsd:integer"
    },
    "children": {
      "@id": "bugbug:children",
      "@container": "@list"
    },
    "V2Group": "bugbug:V2Group",
    "steps": {
      "@id": "bugbug:steps",
      "@container": "@list"
    },
    "V2GroupCreate": "bugbug:V2GroupCreate",
    "testId": {
      "@id": "bugbug:testId",
      "@type": "xsd:string"
    },
    "V2GroupUpdate": "bugbug:V2GroupUpdate",
    "V2InsertComponent": "bugbug:V2InsertComponent",
    "componentId": {
      "@id": "bugbug:componentId",
      "@type": "xsd:string"
    },
    "V2Organization": "bugbug:V2Organization"
  },
  "@type": "schema:Dataset",
  "schema:name": "BugBug API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects BugBug'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-03) from openapi/bugbug-io-openapi.json.",
  "dcterms:created": "2026-11-03",
  "dcterms:source": [
    "openapi/bugbug-io-openapi.json"
  ]
}