Merran documentation API & integrations
The server's jobs
GET
/api/settings/server/jobs
const url = 'http://localhost:3000/api/settings/server/jobs?status=queued';const options = { method: 'GET', headers: {cookie: 'merran.session_token=<merran.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'http://localhost:3000/api/settings/server/jobs?status=queued' \ --cookie merran.session_token=<merran.session_token>Server admins only. The latest 100 jobs, newest first: what’s waiting, running, done, or failed and why.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”status
Only jobs that are queued, running, done, failed or cancelled.
string
Only jobs that are queued, running, done, failed or cancelled.
Responses
Section titled “Responses”The jobs.
Media typeapplication/json
object
jobs
required
Array
object
id
required
string
kind
required
What it does, like “household.import”.
string
status
required
string
scheduled
required
Whether it comes round on a schedule, like the nightly purge.
boolean
householdId
required
string | null
progress
required
How far it’s got, once it says.
object
done
required
number
total
required
number
result
required
What it did, once it’s done. A job followed item by item, like importing several links, says what it’s done so far as it goes.
object | null
error
required
Why it last failed.
string | null
attempts
required
number
maxAttempts
required
number
runAt
required
Not before then.
string format: date-time
startedAt
required
string | null format: date-time
finishedAt
required
string | null format: date-time
createdAt
required
string format: date-time
householdName
required
string | null
Example
{ "jobs": [ { "id": "0199e8b0-5a10-7a01-8b00-00000000000b", "kind": "household.import", "status": "running", "scheduled": false, "householdId": "0199e8b0-5a10-7a01-8b00-000000000003", "progress": { "done": 42, "total": 128 }, "result": null, "error": null, "attempts": 1, "maxAttempts": 3, "runAt": "2026-10-15T18:30:00.000Z", "startedAt": "2026-10-15T18:30:00.000Z", "finishedAt": null, "createdAt": "2026-10-15T18:30:00.000Z", "householdName": "The Riveras" } ]}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." } }}© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.