Vue.js Component Options
Schema for a Vue.js Single File Component (SFC) options object as used with the Options API or defineComponent()
Component-BasedFrameworkFrontendJavaScriptOpen-SourceUI
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/vuejs/json-schema/vuejs-component-schema.json",
"title": "Vue.js Component Options",
"description": "Schema for a Vue.js Single File Component (SFC) options object as used with the Options API or defineComponent()",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Component display name used in DevTools and error messages"
},
"components": {
"type": "object",
"description": "Locally registered child components available in this component's template",
"additionalProperties": true
},
"directives": {
"type": "object",
"description": "Locally registered custom directives",
"additionalProperties": true
},
"props": {
"oneOf": [
{
"type": "array",
"items": { "type": "string" },
"description": "Array form: list of prop names"
},
{
"type": "object",
"description": "Object form: prop names to type definitions or validators",
"additionalProperties": {
"oneOf": [
{ "type": "string" },
{
"type": "object",
"properties": {
"type": {},
"required": { "type": "boolean" },
"default": {},
"validator": { "type": "string" }
}
}
]
}
}
],
"description": "Component props declaration"
},
"emits": {
"oneOf": [
{
"type": "array",
"items": { "type": "string" },
"description": "Array form: list of emitted event names"
},
{
"type": "object",
"description": "Object form: event names to validator functions"
}
],
"description": "Declares custom events emitted by the component"
},
"data": {
"description": "Function returning the initial reactive data object for the component instance"
},
"computed": {
"type": "object",
"description": "Computed property declarations; each value is a getter function or get/set object",
"additionalProperties": true
},
"watch": {
"type": "object",
"description": "Data watchers; each key is a watched property or expression",
"additionalProperties": true
},
"methods": {
"type": "object",
"description": "Component methods callable from template or other options",
"additionalProperties": true
},
"setup": {
"description": "Composition API setup function called before component creation"
},
"template": {
"type": "string",
"description": "Inline component template string"
},
"render": {
"description": "Programmatic render function"
},
"provide": {
"description": "Values to inject into descendant components via provide/inject"
},
"inject": {
"oneOf": [
{
"type": "array",
"items": { "type": "string" }
},
{
"type": "object"
}
],
"description": "Keys to inject from ancestor components"
},
"expose": {
"type": "array",
"items": { "type": "string" },
"description": "Public properties exposed when using template refs on this component"
},
"beforeCreate": { "description": "Lifecycle hook: called before component instance is fully initialized" },
"created": { "description": "Lifecycle hook: called after the component instance is created" },
"beforeMount": { "description": "Lifecycle hook: called before the component is mounted" },
"mounted": { "description": "Lifecycle hook: called after the component has been mounted to the DOM" },
"beforeUpdate": { "description": "Lifecycle hook: called before the component re-renders due to reactive state change" },
"updated": { "description": "Lifecycle hook: called after the component has re-rendered" },
"beforeUnmount": { "description": "Lifecycle hook: called before the component is unmounted" },
"unmounted": { "description": "Lifecycle hook: called after the component has been unmounted" }
}
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vuejs-component"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.