Merran documentation API & integrations
Check a file from another app
POST
/api/households/current/import/files
const url = 'http://localhost:3000/api/households/current/import/files';const options = { method: 'POST', headers: { cookie: 'merran.session_token=<merran.session_token>', 'Content-Type': 'application/zip' }, body: 'binary'};
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://localhost:3000/api/households/current/import/files \ --header 'Content-Type: application/zip' \ --cookie merran.session_token=<merran.session_token> \ --data binaryHousehold admins only. The body is the file: a Mealie backup, or recipes exported from Mealie. It’s kept, and what’s in it is said, so its import can be started at /households/current/import/files/{fileId}/start. A file not started is cleared away after a week.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”string format: binary
string format: binary
Responses
Section titled “Responses”What’s in it.
Media typeapplication/json
object
id
required
Start its import at /households/current/import/files/{fileId}/start.
string
app
required
string
what
required
A whole backup, or recipes exported from the app.
string
recipes
required
integer
alreadyHere
required
Of those, how many an earlier import brought in. They’re skipped.
integer
groups
required
A Mealie backup’s groups, when there’s more than one to choose from.
Array<object>
object
id
required
string
name
required
string
recipes
required
integer
Example
{ "id": "0199e8b0-5a10-7a01-8b00-000000000018", "app": "mealie", "what": "backup", "recipes": 312, "alreadyHere": 0, "groups": [ { "id": "0199e8b0-5a10-7a01-8b00-000000000019", "name": "Home", "recipes": 298 }, { "id": "0199e8b0-5a10-7a01-8b00-00000000001a", "name": "Grandma", "recipes": 14 } ]}Merran can’t read that file.
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 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." } }}The file is too big.
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.