Skip to content
merran
GitHubInstall

Merran documentation API & integrations

A recipe's earlier versions

GET
/api/recipes/{recipe}/versions
curl --request GET \
--url http://localhost:3000/api/recipes/lemon-chicken/versions \
--cookie merran.session_token=<merran.session_token>

How it was before each change, newest first, so any change can be undone. The last 50 are kept. With an API key, it needs the recipes: read permission.

recipe
required

The recipe’s id, or its slug.

string

Example

lemon-chicken

The recipe’s id, or its slug.

The versions.

Media typeapplication/json
Array<object>
object
id
required
string
source
required
string
Allowed values: import edit tidy assistant swap restore
name
required

The recipe’s name then.

string
createdBy
required
string | null
createdAt
required
string format: date-time

Example

[
{
"id": "0199e8b0-5a10-7a01-8b00-00000000000d",
"source": "edit",
"name": "Lemon Chicken",
"createdBy": "Sam Rivera",
"createdAt": "2026-10-01T17:30:00.000Z"
}
]

Not signed in.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

Not allowed.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

No such recipe.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.