Skip to content

Project response model

All models · Download OpenAPI

Nullable fields represent unknown values; they do not imply zero cost or a completed action.

Field Type Required Details
id string No
name string No
product string or null No
category string or null No
targetQuantity integer or null No
stage string No prototype, first_batch, second_batch or later
markets string[] No
intake object No
intake.manufacturingIntent object or null No
contextVersion string No Content fingerprint used for intent edits and RFQ approval
status string No
createdAt string No
Full JSON schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"targetQuantity": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"stage": {
"type": "string",
"description": "prototype, first_batch, second_batch or later"
},
"markets": {
"type": "array",
"items": {
"type": "string"
}
},
"intake": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"manufacturingIntent": {
"anyOf": [
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"const": 1
},
"current": {
"type": "object",
"properties": {
"purpose": {
"type": "string",
"enum": [
"samples",
"pilot",
"production",
"unknown"
]
},
"quantity": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000
},
{
"type": "null"
}
]
},
"unit": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"configuration": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"revision": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"confirmation": {
"type": "string",
"enum": [
"unconfirmed",
"caller_confirmed"
]
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"caller",
"file",
"interview"
]
},
"reference": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"reference",
"quote"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"purpose",
"quantity",
"unit",
"configuration",
"revision",
"confirmation",
"source"
],
"additionalProperties": false
},
"plannedPilot": {
"anyOf": [
{
"type": "object",
"properties": {
"quantity": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000
},
{
"type": "null"
}
]
},
"unit": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"period": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"caller",
"file",
"interview"
]
},
"reference": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"reference",
"quote"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"quantity",
"unit",
"period",
"source"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"forecast": {
"anyOf": [
{
"type": "object",
"properties": {
"quantity": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10000000
},
{
"type": "null"
}
]
},
"unit": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"period": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"caller",
"file",
"interview"
]
},
"reference": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"reference",
"quote"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"quantity",
"unit",
"period",
"source"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"requirements": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"location",
"quality",
"material",
"inspection",
"deadline",
"other"
]
},
"detail": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"strength": {
"type": "string",
"enum": [
"hard",
"preference"
]
},
"confirmation": {
"type": "string",
"enum": [
"unconfirmed",
"caller_confirmed"
]
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"caller",
"file",
"interview"
]
},
"reference": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"reference",
"quote"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"detail",
"strength",
"confirmation",
"source"
],
"additionalProperties": false
}
},
"priorities": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"enum": [
"quality",
"price",
"lead_time",
"scale",
"location"
]
}
},
"prioritySource": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"caller",
"file",
"interview"
]
},
"reference": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"quote": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 800
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"reference",
"quote"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"schemaVersion",
"current",
"plannedPilot",
"forecast",
"requirements",
"priorities",
"prioritySource"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
"contextVersion": {
"type": "string",
"description": "Content fingerprint used for intent edits and RFQ approval"
},
"status": {
"type": "string"
},
"createdAt": {
"type": "string"
}
}
}