Review grocery requirements
POST
/api/v1/shopping/lists/{list_id}/review
const url = 'http://127.0.0.1:8080/api/v1/shopping/lists/example/review';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"again":"example","meal_ids":["example"],"portions":[{"id":"example","recipe_id":"example","revision":1,"scale":"example"}],"refresh_recipes":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://127.0.0.1:8080/api/v1/shopping/lists/example/review \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "again": "example", "meal_ids": [ "example" ], "portions": [ { "id": "example", "recipe_id": "example", "revision": 1, "scale": "example" } ], "refresh_recipes": true }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”list_id
required
string
Header Parameters
Section titled “Header Parameters”X-Savorum-Library
string
X-Savorum-Principal
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
again
string
meal_ids
Array<string> | null
portions
Array<object> | null
object
id
required
string
recipe_id
required
string
revision
integer format: int64
scale
string
refresh_recipes
boolean
Examplegenerated
{ "again": "example", "meal_ids": [ "example" ], "portions": [ { "id": "example", "recipe_id": "example", "revision": 1, "scale": "example" } ], "refresh_recipes": true}Responses
Section titled “Responses”OK
Media typeapplication/json
object
outdated
boolean
removed
required
Array<object> | null
object
again
string
amount
string
dish_id
string
id
required
string
ingredient_id
string
label
required
string
meal_date
string format: date
meal_id
string
name
required
string
note
string
quantity
required
string
recipe_id
string
recipe_revision
integer format: int64
unit
string
key
additional properties
any
requirements
required
Array<object> | null
object
choice_id
required
string
choices
required
Array<object> | null
object
amount
string
id
required
string
name
required
string
note
required
string
quantity
required
string
unit
string
key
additional properties
any
id
required
string
previous_name
string
previous_quantity
string
reviewed_at
string format: date-time
selected
required
boolean
source
required
object
again
string
amount
string
dish_id
string
id
required
string
ingredient_id
string
label
required
string
meal_date
string format: date
meal_id
string
name
required
string
note
string
quantity
required
string
recipe_id
string
recipe_revision
integer format: int64
unit
string
key
additional properties
any
key
additional properties
any
revision
required
integer format: int64
token
required
string
key
additional properties
any
Examplegenerated
{ "outdated": true, "removed": [ { "again": "example", "amount": "example", "dish_id": "example", "id": "example", "ingredient_id": "example", "label": "example", "meal_date": "2026-04-15", "meal_id": "example", "name": "example", "note": "example", "quantity": "example", "recipe_id": "example", "recipe_revision": 1, "unit": "example" } ], "requirements": [ { "choice_id": "example", "choices": [ { "amount": "example", "id": "example", "name": "example", "note": "example", "quantity": "example", "unit": "example" } ], "id": "example", "previous_name": "example", "previous_quantity": "example", "selected": true, "source": { "again": "example", "amount": "example", "dish_id": "example", "id": "example", "ingredient_id": "example", "label": "example", "meal_date": "2026-04-15", "meal_id": "example", "name": "example", "note": "example", "quantity": "example", "recipe_id": "example", "recipe_revision": 1, "unit": "example" } } ], "revision": 1, "token": "example"}No valid session or API token (authentication-required), or the credential sent is invalid (invalid-credentials).
Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer format: int64
title
required
string
type
required
string
key
additional properties
any
Examplegenerated
{ "code": "example", "detail": "example", "status": 1, "title": "example", "type": "example"}default
Section titled “default”Error
Media typeapplication/problem+json
object
code
Stable application error code; clients may also use the problem type suffix.
string
detail
A human-readable explanation specific to this occurrence of the problem.
string
errors
Optional list of individual error details
Array<object> | null
object
location
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
string
message
Error message text
string
value
The value at the given location
key
additional properties
any
instance
A URI reference that identifies the specific occurrence of the problem.
string format: uri
params
Structured context for the stable error code.
object
key
additional properties
any
status
HTTP status code
integer format: int64
title
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
string
type
A URI reference to human-readable documentation for the error.
string format: uri
violations
Array<object>
object
code
required
string
location
required
string
params
object
key
additional properties
any
key
additional properties
any
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}