Properties
| Name | Type | Description |
|---|---|---|
| api | string | |
| document | string | |
| v | integer | |
| instructions | object | Rules for the assistant: what to ask, what never to do, and what to tell the person afterwards. |
| questions | array | |
| productFigures | array | Optional figures a person may read off a tin, pack, roll or box. |
| typicalRooms | array | Offer only if the person does not know their room's size. |
| typicalOpenings | array | The door and window names a call may use. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/buildbatch-co-uk/json-schema/buildbatch-co-uk-question-script-schema.json",
"title": "QuestionScript",
"x-generated": "2026-11-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/buildbatch-co-uk-openapi.json#/components/schemas/QuestionScript",
"type": "object",
"required": [
"api",
"document",
"v",
"instructions",
"questions"
],
"properties": {
"api": {
"type": "string",
"const": "buildbatch-assistant"
},
"document": {
"type": "string",
"const": "question-script"
},
"v": {
"type": "integer",
"const": 1
},
"instructions": {
"type": "object",
"description": "Rules for the assistant: what to ask, what never to do, and what to tell the person afterwards."
},
"questions": {
"type": "array",
"items": {
"$ref": "#/$defs/Question"
}
},
"productFigures": {
"type": "array",
"description": "Optional figures a person may read off a tin, pack, roll or box.",
"items": {
"type": "object"
}
},
"typicalRooms": {
"type": "array",
"description": "Offer only if the person does not know their room's size.",
"items": {
"type": "object"
}
},
"typicalOpenings": {
"type": "array",
"description": "The door and window names a call may use.",
"items": {
"type": "object"
}
}
},
"$defs": {
"Question": {
"type": "object",
"required": [
"id",
"ask",
"type",
"required",
"fills"
],
"properties": {
"id": {
"type": "string"
},
"ask": {
"type": "string",
"description": "The wording to use."
},
"type": {
"type": "string",
"enum": [
"choice",
"yes-no",
"length",
"lengths",
"openings",
"corners"
]
},
"required": {
"type": "boolean",
"description": "True: the planner refuses without it whenever the question applies."
},
"requiredWhen": {
"type": "object",
"description": "Another condition under which it is required."
},
"when": {
"type": [
"object",
"null"
],
"description": "When to ask: null is always; otherwise every key must hold (job is one of the values listed)."
},
"whenText": {
"type": "string"
},
"fills": {
"type": "array",
"items": {
"type": "string"
},
"description": "The /plan.json parameters the answer fills."
},
"choices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"sets": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "The parameters to send for this answer."
}
}
}
},
"ifUnknown": {
"type": "string",
"description": "What to do if the person does not know."
},
"default": {
"type": "string",
"description": "What the planner assumes if the parameter is left out."
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
Work with this as data
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/buildbatch-co-uk-question-script"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.