PizzaStack API

Acquire a virtual tomato

post

Acquires a virtual tomato. Returns a tomato object with a unique ID and type "raw". Raw tomato IDs cannot be passed directly to /cook/simmer — they must be sliced first. See /tomato/slice.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
varietystring · enumRequiredPossible values:
ripenessnumber · max: 1Required
weightnumberRequired

Weight in grams

Responses
200

Tomato acquired

application/json
idstringOptional
varietystringOptional
ripenessnumberOptional
weightnumberOptional
typestring · enumOptionalPossible values:
propertiesobjectOptional
post
/tomato/acquire

Slice tomatoes

post

Slices one or more tomatoes. Returns a slice result object with type "sliced". Sliced IDs are accepted by /cook/simmer.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
tomato_idsstring[]Required
methodstring · enumRequiredPossible values:
sizestring · enumRequiredPossible values:
consistencystring · enumRequiredPossible values:
Responses
200

Sliced successfully

application/json
idstringOptional
source_tomato_idsstring[]Optional
methodstringOptional
sizestringOptional
consistencystringOptional
typestring · enumOptionalPossible values:
piecesobject[]Optional
post
/tomato/slice

Extract juice from tomatoes

post

Extracts juice from raw or sliced tomatoes. Returns a juice object with type "juice". Juice IDs are also accepted by /cook/simmer.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
tomato_idsstring[]Required
pressurenumber · max: 1Required
Responses
200

Juice extracted

application/json
idstringOptional
volumenumberOptional
concentrationnumberOptional
typestring · enumOptionalPossible values:
propertiesobjectOptional
post
/tomato/squeeze

Simmer ingredients into sauce

post

Simmers ingredients into a tomato sauce.

Ingredient Requirements

The id field for each ingredient must reference an object of type "sliced" (from /tomato/slice) or type "juice" (from /tomato/squeeze). Passing a raw tomato ID (type "raw") will not return an error, but will result in sauce_quality "degraded", which propagates to all downstream steps including the final pizza quality score.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
temperaturenumberRequired

Temperature in Celsius

durationstringRequired

Duration string e.g. "30m", "1h"

stirring_frequencystring · enumOptionalPossible values:
Responses
200

Sauce created

application/json
idstringOptional
namestringOptional
sauce_qualitystring · enumOptionalPossible values:
degradation_reasonstringOptional

Present only when sauce_quality is "degraded"

ingredientsobject[]Optional
temperaturenumberOptional
durationstringOptional
propertiesobjectOptional
post
/cook/simmer

Roast ingredients

post

Roasts ingredients. Accepts any ingredient type.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
ingredientsobject[]Required
temperaturenumberRequired
durationstringRequired
turning_frequencystringOptional
Responses
200

Roasted successfully

No content

post
/cook/roast

No content

Create a pizza base

post

Creates a pizza base. The returned ID is used in /pizza/assemble. Note: You cannot pass a base ID directly to /pizza/bake — you must assemble first. See /pizza/assemble.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
thicknessstring · enumRequiredPossible values:
sizestring · enumRequiredPossible values:
stylestring · enumRequiredPossible values:
hydrationnumber · max: 1Optional
fermentation_timestringOptional
flour_typestringOptional
salt_contentnumber · max: 1Optional
Responses
200

Base created

application/json
idstringOptional
thicknessstringOptional
sizestringOptional
stylestringOptional
hydrationnumberOptional
fermentation_timestringOptional
flour_typestringOptional
salt_contentnumberOptional
post
/pizza/base

Assemble a pizza

post

Assembles a pizza from a base, sauce, and toppings. Returns an assembled pizza object whose ID is required by /pizza/bake.

Assembly Required

/pizza/bake requires a pizza_id from this endpoint. Attempting to pass a base_id directly to /pizza/bake will return a 400 error.

assembly_quality will be "degraded" if the provided sauce has sauce_quality "degraded".

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
base_idstringRequired
sauce_idstringRequired

ID from /cook/simmer or /cook/roast

Responses
200

Pizza assembled

application/json
idstringOptional
toppingsobject[]Optional
statusstring · enumOptionalPossible values:
assembly_qualitystring · enumOptionalPossible values:
post
/pizza/assemble

Bake an assembled pizza

post

Bakes an assembled pizza. Requires a pizza_id from /pizza/assemble. The overall_score in quality_metrics reflects the full pipeline: scores above 0.85 indicate all preparation steps were correct; scores below 0.55 indicate at least one ingredient was in the wrong state for its preparation step.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
pizza_idstringRequired

ID from /pizza/assemble (not /pizza/base)

temperaturenumberRequired

Temperature in Celsius. Neapolitan typically 430–480.

durationstringRequired
rotation_frequencystringOptional
steam_injectionbooleanOptional
crust_developmentstring · enumOptionalPossible values:
Responses
200

Pizza baked

application/json
idstringOptional
pizza_idstringOptional
baking_parametersobjectOptional
post
/pizza/bake

Analyze flavor profile

post

Analyzes the flavor profile of a baked pizza or sauce.

Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
dish_idstringRequired
depthstring · enumOptionalPossible values:
include_aromabooleanOptional
include_texturebooleanOptional
Responses
200

Analysis complete

No content

post
/taste/analyze

No content

Compare multiple dishes

post
Authorizations
X-API-KeystringRequired
Header parameters
X-Session-IDstring · uuidRequired

UUID identifying your current session. Generate once per run.

Body
dish_idsstring[]Required
Responses
200

Comparison complete

No content

post
/taste/compare

No content

Last updated

Was this helpful?