The independent inventory names 14 public objects. These strict local schemas describe authoring data and transient UI drafts. They are reconstructed contracts, not Raycast API payloads.
O-extensionExtension
Includes ExtensionDetail for the detailed public surface.
Open Extension detail{
"id": "draft-notes",
"slug": "draft-notes",
"name": "Draft Notes",
"summary": "Keep a small queue of tasks and open the right command from one place.",
"publisher": {
"displayName": "Ari Example",
"handle": "ari-example"
},
"category": "productivity",
"platforms": [
"macos",
"windows"
],
"iconAssetId": "asset-store-icon",
"publicUrl": "https://www.raycast.com/store",
"commands": [
{
"id": "open-queue",
"title": "Open Queue",
"subtitle": "Review saved tasks"
}
],
"access": "public",
"updatedAt": "2026-09-18T22:00:00Z",
"locale": "en",
"tags": [
"tasks",
"queue"
],
"downloadCount": 12500,
"revision": 1
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"summary": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 400
},
{
"type": "null"
}
]
},
"publisher": {
"anyOf": [
{
"$ref": "#/$defs/Person"
},
{
"type": "null"
}
]
},
"category": {
"type": "string",
"enum": [
"productivity",
"developer-tools",
"communication",
"design",
"utilities"
]
},
"platforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"macos",
"windows"
]
},
"minItems": 1,
"maxItems": 2,
"uniqueItems": true
},
"iconAssetId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
{
"type": "null"
}
]
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
},
"commands": {
"type": "array",
"items": {
"$ref": "#/$defs/Command"
},
"minItems": 0,
"maxItems": 60
},
"access": {
"type": "string",
"enum": [
"public",
"sign-in-required",
"unavailable"
]
},
"updatedAt": {
"type": "string",
"minLength": 20,
"maxLength": 30,
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
},
"locale": {
"type": "string",
"minLength": 2,
"maxLength": 20,
"pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"minItems": 0,
"maxItems": 10,
"uniqueItems": true
},
"downloadCount": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
}
},
"required": [
"id",
"slug",
"name",
"summary",
"publisher",
"category",
"platforms",
"iconAssetId",
"publicUrl",
"commands",
"access",
"updatedAt",
"locale",
"tags",
"downloadCount",
"revision"
]
}
O-publisherPublisher
Uses strict fields, required properties and explicit relationships.
Open Publisher profile{
"id": "publisher-aster",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"handle": "ari-example",
"name": "Ari Example",
"description": "A fictional team building small tools for shared work.",
"avatarAssetId": null,
"joinedAt": "2024-02-16T00:00:00Z",
"publicUrl": "https://www.raycast.com/linear",
"extensionIds": [
"draft-notes"
],
"website": "https://example.com/aster",
"access": "public"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"handle": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"description": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 600
},
{
"type": "null"
}
]
},
"avatarAssetId": {
"anyOf": [
{
"$ref": "#/$defs/Id"
},
{
"type": "null"
}
]
},
"joinedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcTimestamp"
},
{
"type": "null"
}
]
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
},
"extensionIds": {
"type": "array",
"items": {
"$ref": "#/$defs/Id"
},
"minItems": 0,
"maxItems": 200
},
"website": {
"anyOf": [
{
"$ref": "#/$defs/ExternalPublicHref"
},
{
"type": "null"
}
]
},
"access": {
"type": "string",
"enum": [
"public",
"unavailable"
]
}
},
"required": [
"id",
"updatedAt",
"revision",
"handle",
"name",
"description",
"avatarAssetId",
"joinedAt",
"publicUrl",
"extensionIds",
"website",
"access"
]
}
O-planPlan
Uses strict fields, required properties and explicit relationships.
Open Plan selection and comparison{
"id": "plan-free",
"name": "Free",
"description": "A local zero-price layout fixture.",
"audience": "individual",
"pricingMode": "free",
"currency": "USD",
"monthlyUsdCents": 0,
"annualMonthlyUsdCents": 0,
"featureIds": [
"feature-notes"
],
"ctaLabel": "View the public product",
"ctaHref": "https://www.raycast.com/",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"audience": {
"type": "string",
"enum": [
"individual",
"team",
"enterprise"
]
},
"pricingMode": {
"type": "string",
"enum": [
"free",
"fixed",
"contact"
]
},
"currency": {
"const": "USD"
},
"monthlyUsdCents": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
},
"annualMonthlyUsdCents": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
},
"featureIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"minItems": 0,
"maxItems": 50,
"uniqueItems": true
},
"ctaLabel": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"ctaHref": {
"anyOf": [
{
"$ref": "#/$defs/OfficialPublicHref"
},
{
"type": "null"
}
]
},
"updatedAt": {
"type": "string",
"minLength": 20,
"maxLength": 30,
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
},
"revision": {
"type": "integer",
"minimum": 1
}
},
"required": [
"id",
"name",
"description",
"audience",
"pricingMode",
"currency",
"monthlyUsdCents",
"annualMonthlyUsdCents",
"featureIds",
"ctaLabel",
"ctaHref",
"updatedAt",
"revision"
]
}
O-modelAIModel
Uses strict fields, required properties and explicit relationships.
Open AI model comparison{
"id": "model-1",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"name": "Aster Large",
"provider": "Aster Labs",
"providerAssetId": null,
"contextTokens": 128000,
"ratings": [
{
"name": "intelligence",
"value": 5,
"description": "Synthetic comparative rating; not a product evaluation."
},
{
"name": "speed",
"value": 4,
"description": "Synthetic five-step rating."
},
{
"name": "vision",
"value": null,
"description": "Not stated."
}
],
"planIds": [
"plan-free"
],
"status": "available",
"publicUrl": "https://www.raycast.com/core-features/ai/models"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"providerAssetId": {
"anyOf": [
{
"$ref": "#/$defs/Id"
},
{
"type": "null"
}
]
},
"contextTokens": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000000
},
{
"type": "null"
}
]
},
"ratings": {
"type": "array",
"items": {
"$ref": "#/$defs/CapabilityRating"
},
"minItems": 1,
"maxItems": 5
},
"planIds": {
"type": "array",
"items": {
"$ref": "#/$defs/Id"
},
"minItems": 1,
"maxItems": 8
},
"status": {
"type": "string",
"enum": [
"available",
"preview",
"retired",
"unverified"
]
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"name",
"provider",
"providerAssetId",
"contextTokens",
"ratings",
"planIds",
"status",
"publicUrl"
]
}
O-task-demoScriptedTask
Includes ToolGroup for the detailed public surface.
Open AI product overview and live public demo{
"id": "task-research",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"title": "Review newly reported bugs",
"project": "Work",
"scenario": "research",
"messages": [
{
"id": "task-research-question",
"role": "user",
"text": "Check the example bug reports and summarize their next steps.",
"toolGroups": []
},
{
"id": "task-research-answer",
"role": "assistant",
"text": "The authored reports have three follow-ups. Review their context, choose an owner and confirm availability.",
"toolGroups": [
{
"id": "task-research-tools",
"label": "Checked new bugs in Linear",
"defaultExpanded": false,
"calls": [
{
"id": "task-research-search",
"name": "Search example issues",
"icon": "search",
"status": "complete",
"inputSummary": "New bug reports",
"outputSummary": "Found three authored example reports.",
"sourceHref": null
},
{
"id": "task-research-read",
"name": "Read issue context",
"icon": "document",
"status": "complete",
"inputSummary": "Example project notes",
"outputSummary": "Read the authored context for the example reports.",
"sourceHref": null
},
{
"id": "task-research-calendar",
"name": "Check availability",
"icon": "calendar",
"status": "blocked",
"inputSummary": "Example schedule",
"outputSummary": null,
"sourceHref": null
}
]
}
]
}
],
"composerPlaceholder": "Write a local draft…",
"status": "ready",
"sourceUrl": "https://www.raycast.com/core-features/ai"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"project": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"scenario": {
"type": "string",
"enum": [
"research",
"planning",
"writing",
"automation"
]
},
"messages": {
"type": "array",
"items": {
"$ref": "#/$defs/TaskMessage"
},
"minItems": 1,
"maxItems": 40
},
"composerPlaceholder": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"status": {
"type": "string",
"enum": [
"ready",
"loading",
"error",
"offline",
"permission"
]
},
"sourceUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"title",
"project",
"scenario",
"messages",
"composerPlaceholder",
"status",
"sourceUrl"
]
}
O-releaseRelease
Uses strict fields, required properties and explicit relationships.
Open Platform changelog and paginated release list{
"id": "release-macos-1",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"version": "1.8.0",
"platform": "macos",
"publishedAt": "2026-09-18T00:00:00.000Z",
"title": "A clearer workspace",
"summary": "Authored release-note fixture for the public macos history.",
"sections": [
{
"heading": "New",
"items": [
"A new example command has a clear empty state."
]
},
{
"heading": "Improved",
"items": [
"Keyboard focus stays visible across the example workflow."
]
},
{
"heading": "Fixed",
"items": [
"Long titles wrap inside the available column."
]
}
],
"publicUrl": "https://www.raycast.com/changelog/macos"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"platform": {
"type": "string",
"enum": [
"macos",
"windows",
"ios"
]
},
"publishedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"sections": {
"type": "array",
"items": {
"$ref": "#/$defs/ReleaseSection"
},
"minItems": 1,
"maxItems": 4
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"version",
"platform",
"publishedAt",
"title",
"summary",
"sections",
"publicUrl"
]
}
O-articleArticle
Uses strict fields, required properties and explicit relationships.
Open Resource tutorial{
"id": "article-first-command",
"slug": "first-command",
"kind": "article",
"title": "A calmer way to choose the next command",
"summary": "An original article fixture for the public editorial layout.",
"author": {
"displayName": "Sam Example",
"handle": "sam-example"
},
"publishedAt": "2026-09-10T09:00:00Z",
"updatedAt": "2026-09-18T22:00:00Z",
"category": "engineering",
"locale": "en",
"coverAssetId": null,
"publicUrl": "https://www.raycast.com/blog",
"blocks": [
{
"kind": "paragraph",
"text": "Start with one task and give its action a clear name.",
"language": null
},
{
"kind": "heading",
"text": "Keep errors local",
"language": null
},
{
"kind": "code",
"text": "const title = \"Draft Notes\";\nconsole.log(title);",
"language": "javascript"
}
],
"revision": 1
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"kind": {
"type": "string",
"enum": [
"article",
"resource",
"changelog"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"summary": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 600
},
{
"type": "null"
}
]
},
"author": {
"anyOf": [
{
"$ref": "#/$defs/Person"
},
{
"type": "null"
}
]
},
"publishedAt": {
"anyOf": [
{
"type": "string",
"minLength": 20,
"maxLength": 30,
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
},
{
"type": "null"
}
]
},
"updatedAt": {
"type": "string",
"minLength": 20,
"maxLength": 30,
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
},
"category": {
"type": "string",
"enum": [
"guide",
"engineering",
"news",
"release"
]
},
"locale": {
"type": "string",
"minLength": 2,
"maxLength": 20,
"pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"coverAssetId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
{
"type": "null"
}
]
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
},
"blocks": {
"type": "array",
"items": {
"$ref": "#/$defs/ArticleBlock"
},
"minItems": 1,
"maxItems": 80
},
"revision": {
"type": "integer",
"minimum": 1
}
},
"required": [
"id",
"slug",
"kind",
"title",
"summary",
"author",
"publishedAt",
"updatedAt",
"category",
"locale",
"coverAssetId",
"publicUrl",
"blocks",
"revision"
]
}
O-storyStory
Uses strict fields, required properties and explicit relationships.
Open Customer story{
"id": "story-aster",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"kind": "customer",
"title": "Keeping a small team focused",
"summary": "A fictional customer story about finding information without losing context.",
"person": {
"displayName": "Mina Example",
"handle": "mina-example"
},
"company": "Aster Studio",
"role": "Product designer",
"portraitAssetId": null,
"companyAssetId": null,
"quote": "We made the next useful action easier to find.",
"body": [
{
"kind": "paragraph",
"text": "Aster Studio is a fictional team. This original narrative exercises the public customer-story layout.",
"language": null
},
{
"kind": "heading",
"text": "A shared starting point",
"language": null
},
{
"kind": "paragraph",
"text": "The team gives its recurring actions a consistent name, then keeps supporting context nearby.",
"language": null
},
{
"kind": "heading",
"text": "A measured result",
"language": null
},
{
"kind": "paragraph",
"text": "The reference presents no productivity claim or customer endorsement.",
"language": null
}
],
"relatedExtensionIds": [
"draft-notes"
],
"publicUrl": "https://www.raycast.com/customers/resend"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"kind": {
"type": "string",
"enum": [
"community",
"customer"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"person": {
"$ref": "#/$defs/Person"
},
"company": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 140
},
{
"type": "null"
}
]
},
"role": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 140
},
{
"type": "null"
}
]
},
"portraitAssetId": {
"anyOf": [
{
"$ref": "#/$defs/Id"
},
{
"type": "null"
}
]
},
"companyAssetId": {
"anyOf": [
{
"$ref": "#/$defs/Id"
},
{
"type": "null"
}
]
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 600
},
{
"type": "null"
}
]
},
"body": {
"type": "array",
"items": {
"$ref": "#/$defs/ArticleBlock"
},
"minItems": 1,
"maxItems": 60
},
"relatedExtensionIds": {
"type": "array",
"items": {
"$ref": "#/$defs/Id"
},
"minItems": 0,
"maxItems": 20
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"kind",
"title",
"summary",
"person",
"company",
"role",
"portraitAssetId",
"companyAssetId",
"quote",
"body",
"relatedExtensionIds",
"publicUrl"
]
}
O-templateExtensionTemplate
Uses strict fields, required properties and explicit relationships.
Open Extension template detail{
"id": "template-brand",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"name": "Brand Guidelines",
"summary": "Find colors, logos, and approved brand resources inside the launcher, without interrupting the design team.",
"instructionsDescription": "Scaffold an extension by copying this command into your terminal.",
"about": [
[
{
"kind": "text",
"text": "A team often needs the same colors, logos, screenshots and approved links. A shared brand extension puts those resources beside the place where people already search for work. The public template illustrates that arrangement; it does not reveal any organization’s private assets or settings."
}
],
[
{
"kind": "text",
"text": "The displayed command scaffolds the public template. Read its repository, place approved artwork in "
},
{
"kind": "code",
"text": "assets"
},
{
"kind": "text",
"text": ", and update "
},
{
"kind": "code",
"text": "colors.json"
},
{
"kind": "text",
"text": " with the team’s palette. Follow your organization’s review process. This local reference displays and copies the command; it never opens a terminal, installs packages or publishes an extension."
}
]
],
"publisherId": "publisher-aster",
"prerequisites": [
"Raycast installed on a supported Mac",
"An organization with permission to add a private extension"
],
"screenshotAssetIds": [],
"repositoryHref": "https://github.com/raycast/extensions",
"installCommand": "npx create-raycast-extension -t brand-guidelines",
"organizationRequired": true,
"publicUrl": "https://www.raycast.com/templates/brand-guidelines"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"instructionsDescription": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"about": {
"type": "array",
"items": {
"$ref": "#/$defs/RichText"
},
"minItems": 1,
"maxItems": 8
},
"publisherId": {
"$ref": "#/$defs/Id"
},
"prerequisites": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"minItems": 1,
"maxItems": 8
},
"screenshotAssetIds": {
"type": "array",
"items": {
"$ref": "#/$defs/Id"
},
"minItems": 0,
"maxItems": 12
},
"repositoryHref": {
"$ref": "#/$defs/ExternalPublicHref"
},
"installCommand": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"organizationRequired": {
"const": true
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"name",
"summary",
"instructionsDescription",
"about",
"publisherId",
"prerequisites",
"screenshotAssetIds",
"repositoryHref",
"installCommand",
"organizationRequired",
"publicUrl"
]
}
O-assetAsset
Uses strict fields, required properties and explicit relationships.
Open Press and brand asset kit{
"id": "asset-store-icon",
"kind": "icon",
"mimeType": "image/svg+xml",
"localPath": "assets/icons/store.svg",
"sourceUrl": "https://registry.npmjs.org/@raycast/icons",
"widthPx": 16,
"heightPx": 16,
"byteLength": 438,
"sha256": "54f8fba01ba6110353d2619ce1e602b95fe6f99c3a06fa0e81bed413e70931b1",
"alt": "",
"decorative": true,
"theme": "any",
"loading": "lazy",
"rights": {
"status": "package-license",
"notice": "Public @raycast/icons package evidence retained; do not infer a product branding redistribution grant.",
"distribution": "private-reference-only"
}
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"kind": {
"type": "string",
"enum": [
"icon",
"logo",
"font",
"screenshot",
"photo",
"illustration",
"video"
]
},
"mimeType": {
"type": "string",
"enum": [
"image/svg+xml",
"image/png",
"image/jpeg",
"image/webp",
"image/avif",
"font/woff2",
"video/mp4",
"video/webm"
]
},
"localPath": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"pattern": "^assets/(?:[a-zA-Z0-9_-]+/)*[a-zA-Z0-9_-]+\\.(?:svg|png|jpg|jpeg|webp|avif|woff2|mp4|webm)$"
},
"sourceUrl": {
"type": "string",
"minLength": 8,
"maxLength": 600,
"format": "uri",
"pattern": "^https://[^\\s]+$"
},
"widthPx": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 20000
},
{
"type": "null"
}
]
},
"heightPx": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 20000
},
{
"type": "null"
}
]
},
"byteLength": {
"type": "integer",
"minimum": 1,
"maximum": 104857600
},
"sha256": {
"type": "string",
"minLength": 64,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$"
},
"alt": {
"type": "string",
"minLength": 0,
"maxLength": 400
},
"decorative": {
"type": "boolean"
},
"theme": {
"type": "string",
"enum": [
"dark",
"light",
"any"
]
},
"loading": {
"type": "string",
"enum": [
"eager",
"lazy"
]
},
"rights": {
"type": "object",
"additionalProperties": false,
"properties": {
"status": {
"type": "string",
"enum": [
"package-license",
"open-font-license",
"private-reference-only",
"original"
]
},
"notice": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"distribution": {
"type": "string",
"enum": [
"private-reference-only",
"license-conditions",
"original"
]
}
},
"required": [
"status",
"notice",
"distribution"
]
}
},
"required": [
"id",
"kind",
"mimeType",
"localPath",
"sourceUrl",
"widthPx",
"heightPx",
"byteLength",
"sha256",
"alt",
"decorative",
"theme",
"loading",
"rights"
]
}
O-feedbackPublicFeedback
Includes FeedbackDraft for the detailed public surface.
Open Feedback and support request form{
"id": "feedback-draft",
"category": "feature-request",
"senderEmail": "ari.example@example.com",
"appVersion": "fixture-1.0",
"message": "Please make the keyboard shortcut visible next to this action.",
"attachments": [],
"submissionState": "draft",
"createdAt": "2026-09-18T22:00:00Z",
"bugType": null,
"feature": "Notes"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
},
"category": {
"type": "string",
"enum": [
"feature-request",
"bug-report",
"billing-issue",
"ios",
"other"
]
},
"senderEmail": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"format": "email",
"pattern": "^[^\\s@]+@example\\.com$"
},
"appVersion": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 40
},
{
"type": "null"
}
]
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"attachments": {
"type": "array",
"items": {
"$ref": "#/$defs/Attachment"
},
"minItems": 0,
"maxItems": 5
},
"submissionState": {
"type": "string",
"enum": [
"draft",
"validating",
"success",
"error",
"offline"
]
},
"createdAt": {
"type": "string",
"minLength": 20,
"maxLength": 30,
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"
},
"bugType": {
"anyOf": [
{
"type": "string",
"enum": [
"not_working",
"crashing",
"freezing"
]
},
{
"type": "null"
}
]
},
"feature": {
"anyOf": [
{
"type": "string",
"enum": [
"AI",
"Applications",
"Auto Quit",
"Calculator",
"Calendar/My Schedule",
"Clipboard History",
"Cloud Sync",
"Custom Themes",
"Deeplinks",
"Dictation",
"Extensions",
"Flight Tracker",
"Focus",
"Hyper Key",
"Notes",
"Quicklinks",
"Script Commands",
"Search Files",
"Settings",
"Snippets",
"Store",
"Window Management",
"Other"
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"category",
"senderEmail",
"appVersion",
"message",
"attachments",
"submissionState",
"createdAt",
"bugType",
"feature"
]
}
O-account-entryAccountEntryAttempt
Uses strict fields, required properties and explicit relationships.
Open Public sign-in entry{
"id": "account-entry-example",
"intent": "sign-in",
"mode": "email",
"provider": null,
"email": "alex@example.com",
"passwordPresent": false,
"state": "idle",
"returnPath": "family-signin.html",
"createdAt": "2026-09-18T22:00:00Z"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"intent": {
"type": "string",
"enum": [
"sign-in",
"sign-up",
"organization",
"confirm"
]
},
"mode": {
"type": "string",
"enum": [
"email",
"password",
"provider"
]
},
"provider": {
"anyOf": [
{
"type": "string",
"enum": [
"apple",
"github",
"google"
]
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^[^\\s@]+@example\\.com$"
},
{
"type": "null"
}
]
},
"passwordPresent": {
"type": "boolean"
},
"state": {
"type": "string",
"enum": [
"idle",
"invalid",
"ready-for-handoff",
"missing-confirmation-token",
"unavailable"
]
},
"returnPath": {
"$ref": "#/$defs/LocalHref"
},
"createdAt": {
"$ref": "#/$defs/UtcTimestamp"
}
},
"required": [
"id",
"intent",
"mode",
"provider",
"email",
"passwordPresent",
"state",
"returnPath",
"createdAt"
]
}
O-jobJobOpening
Uses strict fields, required properties and explicit relationships.
Open Company and careers{
"id": "job-engineer",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"title": "Product Engineer",
"department": "engineering",
"location": "Remote · Europe",
"employment": "full-time",
"remote": true,
"applicationHref": "https://example.com/jobs/job-engineer",
"status": "open"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"department": {
"type": "string",
"enum": [
"engineering",
"design",
"operations",
"marketing"
]
},
"location": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"employment": {
"type": "string",
"enum": [
"full-time",
"part-time",
"contract"
]
},
"remote": {
"type": "boolean"
},
"applicationHref": {
"$ref": "#/$defs/ExternalPublicHref"
},
"status": {
"type": "string",
"enum": [
"open",
"closed",
"unverified"
]
}
},
"required": [
"id",
"updatedAt",
"revision",
"title",
"department",
"location",
"employment",
"remote",
"applicationHref",
"status"
]
}
O-keyboardKeyboardProduct
Uses strict fields, required properties and explicit relationships.
Open Physical keyboard product{
"id": "keyboard-example",
"updatedAt": "2026-09-18T22:00:00Z",
"revision": 1,
"name": "Raycast Keyboard",
"availability": "sold-out",
"specifications": [
{
"label": "Layout",
"value": "75% ANSI/ISO examples"
},
{
"label": "Connection",
"value": "Wired USB-C"
},
{
"label": "Case",
"value": "Aluminum"
},
{
"label": "Keycaps",
"value": "Double-shot PBT"
}
],
"imageAssetIds": [],
"audioAssetId": null,
"audioTranscript": "The switch-sound preview contains a short sequence of key presses. It has no speech. Loudness varies with recording and playback equipment.",
"vendorHref": "https://www.keychron.com/",
"publicUrl": "https://www.raycast.com/keyboard"
}
Required schema fields
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"$ref": "#/$defs/Id"
},
"updatedAt": {
"$ref": "#/$defs/UtcTimestamp"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"availability": {
"type": "string",
"enum": [
"available",
"sold-out",
"waitlist",
"unverified"
]
},
"specifications": {
"type": "array",
"items": {
"$ref": "#/$defs/ProductSpecification"
},
"minItems": 1,
"maxItems": 40
},
"imageAssetIds": {
"type": "array",
"items": {
"$ref": "#/$defs/Id"
},
"minItems": 0,
"maxItems": 20
},
"audioAssetId": {
"anyOf": [
{
"$ref": "#/$defs/Id"
},
{
"type": "null"
}
]
},
"audioTranscript": {
"type": "string",
"minLength": 1,
"maxLength": 1200
},
"vendorHref": {
"$ref": "#/$defs/ExternalPublicHref"
},
"publicUrl": {
"$ref": "#/$defs/OfficialPublicHref"
}
},
"required": [
"id",
"updatedAt",
"revision",
"name",
"availability",
"specifications",
"imageAssetIds",
"audioAssetId",
"audioTranscript",
"vendorHref",
"publicUrl"
]
}