QuotePreviewResponse
The SOFT quote (POST /v1/quotes/{id}/preview): the deterministic routing half of a refine — intake sniff, process filter, health/pause gates, capability gate, envelope prune, expected-vendor sizing — run for the refined request and stopped BEFORE the shell. Nothing is created: no child quote, no vendor dispatch, no supersede epoch, no demand-ledger or corpus write, so a client may fire one per edit. expected_vendors are exactly the rows the real refine's shell would publish; notes are the shell's notes verbatim (every plan-time 'vendor excluded: …' line included). An expectation, never a promise — lanes can still decline once asked.
Artificial IntelligenceManufacturingFabricationMarketplaceProcurement
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/agenticfabricationnetwork-ai/json-schema/agenticfabricationnetwork-ai-quote-preview-response-schema.json",
"title": "QuotePreviewResponse",
"description": "The SOFT quote (POST /v1/quotes/{id}/preview): the deterministic routing half of a refine — intake sniff, process filter, health/pause gates, capability gate, envelope prune, expected-vendor sizing — run for the refined request and stopped BEFORE the shell. Nothing is created: no child quote, no vendor dispatch, no supersede epoch, no demand-ledger or corpus write, so a client may fire one per edit. expected_vendors are exactly the rows the real refine's shell would publish; notes are the shell's notes verbatim (every plan-time 'vendor <id> excluded: …' line included). An expectation, never a promise — lanes can still decline once asked.",
"x-generated": "2026-11-01",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/agenticfabricationnetwork-ai-openapi.json#/components/schemas/QuotePreviewResponse",
"type": "object",
"required": [
"status",
"quote_id",
"process",
"fabricators",
"lanes",
"expected_vendors",
"notes"
],
"properties": {
"status": {
"type": "string",
"enum": [
"preview"
]
},
"quote_id": {
"type": "string",
"description": "The quote the preview was planned against (the refine's parent)"
},
"process": {
"type": "string",
"enum": [
"fdm_print",
"resin_print",
"powder_print",
"metal_print",
"elastomer_print",
"cnc",
"sheetmetal",
"laser_cut",
"decal",
"print",
"apparel",
"auto"
]
},
"fabricators": {
"type": "integer",
"minimum": 0,
"description": "Distinct fabricators across every expected lane"
},
"lanes": {
"type": "array",
"description": "Every candidate lane in routing order — zero-vendor lanes included",
"items": {
"type": "object",
"required": [
"process",
"vendors"
],
"properties": {
"process": {
"type": "string"
},
"vendors": {
"type": "integer",
"minimum": 0
},
"quotes": {
"type": "integer",
"description": "Estimated quotes on the lane — one per shop for a stated material, a shop's declared material count for a defaults run. An expectation; real quotes replace it."
}
}
}
},
"expected_vendors": {
"type": "array",
"description": "Same rows as QuoteResponse.routing.expected_vendors would carry on the shell",
"items": {
"type": "object",
"additionalProperties": true
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"spec_asked": {
"type": "object",
"additionalProperties": true,
"description": "The refined ask's articulated spec (same filter as QuoteResponse.spec_asked)"
}
}
}
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/agenticfabricationnetwork-ai-quote-preview-response"
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.