Properties and definitions
| Property / definition | Required | Type / reference | Description / constraints |
|---|---|---|---|
| pack_id | yes | common.json#/$defs/packId | {“$ref”:“common.json#/$defs/packId”} |
| pack_version | yes | common.json#/$defs/packVersion | {“$ref”:“common.json#/$defs/packVersion”} |
| enabled_questions | yes | array | {“type”:“array”,“items”:{“type”:“string”,“minLength”:1},“uniqueItems”:true} |
| pricing_model_ref | yes | string | {“type”:“string”,“minLength”:1} |
| artist_review_mode | yes | common.json#/$defs/reviewMode | {“$ref”:“common.json#/$defs/reviewMode”} |
| expiry_days | yes | common.json#/$defs/expiryDays | {“$ref”:“common.json#/$defs/expiryDays”} |
| currencies | yes | common.json#/$defs/currencies | {“$ref”:“common.json#/$defs/currencies”} |
| review_sla_seconds | no | integer | {“type”:“integer”,“minimum”:1} |
| routing_policy | no | common.json#/$defs/routingPolicy | {“$ref”:“common.json#/$defs/routingPolicy”} |
Full JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://uqp.dev/spec/schemas/quote-manifest.json",
"title": "QuoteManifest",
"type": "object",
"properties": {
"pack_id": {
"$ref": "common.json#/$defs/packId"
},
"pack_version": {
"$ref": "common.json#/$defs/packVersion"
},
"enabled_questions": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"uniqueItems": true
},
"pricing_model_ref": {
"type": "string",
"minLength": 1
},
"artist_review_mode": {
"$ref": "common.json#/$defs/reviewMode"
},
"expiry_days": {
"$ref": "common.json#/$defs/expiryDays"
},
"currencies": {
"$ref": "common.json#/$defs/currencies"
},
"review_sla_seconds": {
"type": "integer",
"minimum": 1
},
"routing_policy": {
"$ref": "common.json#/$defs/routingPolicy"
}
},
"required": [
"pack_id",
"pack_version",
"enabled_questions",
"pricing_model_ref",
"artist_review_mode",
"expiry_days",
"currencies"
],
"additionalProperties": false
}
Reference example
Tattoo pack 0.1.0 at a fixed evaluation time. Example data, not real prices. The Quote represents synthetic artist review, not evaluator approval.{
"pack_id": "tattoo",
"pack_version": "0.1.0",
"enabled_questions": [
"description",
"placement",
"size",
"width",
"height",
"complexity",
"style",
"budget_min",
"budget_max",
"first_tattoo"
],
"pricing_model_ref": "urn:uqp:tattoo:pricing:example",
"artist_review_mode": "post_price",
"expiry_days": 7,
"currencies": [
"USD"
]
}