List Recipe Versions
List a recipe's version history, newest first (cursor-paginated, max 50 per page).
Each entry includes version_id, parent_version_id, created_at,
created_by, and an auto-generated summary of what changed. Pass
?at=<iso8601> with an explicit UTC offset to resolve the single version active
at that timestamp; after and limit are ignored in that mode, and 404 is
returned when no version exists at or before the given time. For actor/event audit
narrative, use GET /recipes/\{recipe_id\}/audit-trail instead.
Path Parameters
Query Parameters
Opaque pagination cursor returned in meta.cursor from a previous response. Omit on the first page; pass the previous response's meta.cursor verbatim on each subsequent page. Ignored when at is supplied.
Maximum entries to return per page (1 to 50). Ignored when at is supplied.
501 <= value <= 50Return the single version active at this wall-clock timestamp. ISO 8601 with an explicit UTC offset required (e.g. 2026-05-04T12:00:00Z). When provided, limit and after are ignored and the response contains at most one entry — the newest version whose commit timestamp is ≤ the requested time. Returns 404 (no_version_at_timestamp) when no version exists at or before the given time. Future timestamps are valid and return the latest version.
Response Body
application/json
application/json
application/json
curl -X GET "https://loading/studio/recipes/string/versions"{
"data": [
{
"version_id": "string",
"parent_version_id": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": "string",
"summary": "string",
"restored_from_version_id": "string",
"caused_by_event_id": "string"
}
],
"meta": {
"version": "string",
"request_id": "string",
"timestamp": "string",
"cursor": "string",
"has_more": true
}
}{
"type": "https://api.bettermenu.com/errors/recipe_not_found",
"title": "Recipe Not Found",
"status": 400,
"detail": "Recipe rcpe_abc123 does not exist",
"code": "recipe_not_found",
"retryable": true,
"instance": "/api/v1/recipes/rcpe_abc123",
"trace_id": "req_xyz789",
"errors": [
{}
],
"invalid_ids": [
"f_abc123",
"f_xyz789"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}