Skip to content

API / API reference / Operations

Get the status of the instance

Lunedo 0.1.0
Other versions
0.1.0 Nov 1, 2026

Opens the documentation of that release on GitHub.

GET
/api/v1/instance/operations/status
Code sample: cURL
sh
curl -H "Authorization: Bearer ld_..." \
"https://wiki.example.org/api/v1/instance/operations/status"

Runs the operations checks: version, database, file storage, job queues, collaboration server, backups, search index, recent errors, and the setup checks for TLS, e-mail, encryption, clock and the file directory. Each item says ok, warning or error with a reason code and where it is fixed.

Requires the permission instance.operations.view on the instance.

The status items.

Media typeapplication/json

The status of the instance.

object
checkedAt
required

When the checks ran.

string format: date-time
status
required

The worst status of all items.

string
Allowed values: ok warning error
items
required

The checked items in a fixed order.

Array<object>
object
id
required

What the item checks. New items can be added in later versions; clients show unknown items with their status and documentation link.

string
Allowed values: version maintenance database storage jobs collaboration backups searchIndex recentErrors tls email encryption clock fileStorage
status
required

ok, warning or error.

string
Allowed values: ok warning error
reason
required

A stable code for the reason of a warning or error, or a note on an item that is ok, for example noLimit. Null when there is nothing to say.

string | null
facts
required

Values the item measured, such as sizes in bytes, counts and times. They never contain content or personal data.

object
key
additional properties
string | number | boolean | null
page
required

Path of the settings page where the cause is fixed, or null.

string | null
docs
required

Documentation page and section that explains the item.

string
queues
required

Job queues that have jobs in any state.

Array<object>
object
queue
required

Name of the job queue.

string
queued
required

Jobs waiting to run.

integer
>= -9007199254740991 <= 9007199254740991
active
required

Jobs running now.

integer
>= -9007199254740991 <= 9007199254740991
deferred
required

Jobs scheduled for later.

integer
>= -9007199254740991 <= 9007199254740991
failed
required

Jobs that failed after all attempts and are still kept.

integer
>= -9007199254740991 <= 9007199254740991
oldestQueuedAt
Any of:
string format: date-time
recentErrors
required

Error-level log events of the last 24 hours by type, newest first, at most 50 types.

Array<object>
object
type
required

The fixed text of the error-level log event. Texts that could contain data are counted as Other error.

string
code
required

Error code or class name, if the event carried one.

string | null
services
required

Processes that logged it: api, worker or collab.

Array<string>
count
required

How often it was logged.

integer
>= -9007199254740991 <= 9007199254740991
lastAt
required

When it was logged last.

string format: date-time

Example

{
"checkedAt": "2026-10-21T08:00:00.000Z",
"status": "warning",
"items": [
{
"id": "version",
"status": "ok",
"reason": null,
"facts": {
"version": "1.4.2"
},
"page": null,
"docs": "admin/monitoring/system-status.md#version"
},
{
"id": "storage",
"status": "warning",
"reason": "warning",
"facts": {
"store": "local",
"usedBytes": 86000000000,
"totalBytes": 100000000000,
"percent": 86,
"level": 1
},
"page": "/settings/instance/storage",
"docs": "admin/monitoring/system-status.md#storage"
}
],
"queues": [
{
"queue": "mail.deliver",
"queued": 2,
"active": 1,
"deferred": 0,
"failed": 0,
"oldestQueuedAt": "2026-10-24T08:14:00.000Z"
}
],
"recentErrors": [
{
"type": "Request failed",
"code": "ECONNRESET",
"services": [
"api"
],
"count": 3,
"lastAt": "2026-10-21T07:42:10.000Z"
}
]
}

ambiguousCredentials: The request carries both a session and an API token.

Media typeapplication/problem+json

Error response following RFC 9457 Problem Details.

object
type
required

Stable identifier of the error kind. Clients branch on this value.

string
title
required

Short summary of the error kind. It does not change between occurrences.

string
status
required

HTTP status code of the response.

integer
>= -9007199254740991 <= 9007199254740991
detail

Explanation of this occurrence, for people.

string
code
required

The last part of type, for clients that prefer a short key.

string
fields

Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.

Array<string>
denials

Why the request was not allowed, for forbidden.

Array<string>
retryAfterSeconds

Seconds to wait before retrying, for rateLimited, locked and busy.

integer
>= -9007199254740991 <= 9007199254740991
problem

Which password rule failed, for passwordPolicy; why the address of a chat channel was refused, for invalidChatAddress; which storage setting was refused (invalidThresholds, invalidS3Limit, invalidContacts or invalidTeamsWebhook), for invalidStorageSettings; which backup setting was refused, for invalidBackupSettings; whether a backup or a testRestore is running, for backupRunning; why the backup target could not be used (a failure of Test connection, such as notFound or credentials, or missingSecret), for backupTargetFailed.

string
step

What Lunedo was doing with the backup target when it failed, for backupTargetFailed.

string
Allowed values: write read delete list
refusal

What the full storage refuses, for storageFull: an upload, or a large write such as an import.

string
Allowed values: upload largeWrite
minLength

Minimum password length, for passwordPolicy.

integer
>= -9007199254740991 <= 9007199254740991
lockedBy

Level that locked the setting, for settingLocked.

string
minimum

Lowest allowed value, for settingBelowMinimum.

number
maximum
Any of:
number
maxLifetimeDays

Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
domains

Domains that belong to another identity provider, for domainInUse.

Array<string>
instanceUrl

The current address of the instance, for instanceMoved.

string
providerId

ID of the identity provider that manages the account, for managedAccount and managedDomain.

string
providerName

Name of the identity provider that manages the account, for managedAccount and managedDomain.

string
accounts

Number of accounts still linked to the identity provider, for providerHasAccounts.

integer
>= -9007199254740991 <= 9007199254740991
maxBytes

Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
usedBytes

Bytes the organization’s imports use already, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
missing

Number of parts still missing, for uploadIncomplete.

integer
>= -9007199254740991 <= 9007199254740991
uncoveredPages

Number of pages below that your own role does not cover, for shareBeyondOwnAccess.

integer
>= -9007199254740991 <= 9007199254740991
maxDays

Longest allowed lifetime of a link for anyone in days, for expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
pages

Number of pages that give access to groups or through broad links, for confidentialSharing; number of pages that would lose the status, for statusInUse; number of pages the caller cannot open, for hiddenContent.

integer
>= -9007199254740991 <= 9007199254740991
sections

Required sections that are empty or missing, for requiredSectionsEmpty.

Array<object>

A required section.

object
key
required

Key of the section.

string
title
required

Heading of the section.

string
articles

Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.

integer
>= -9007199254740991 <= 9007199254740991
translations

Number of translations into the language, for defaultLanguageTranslated.

integer
>= -9007199254740991 <= 9007199254740991
translationId

The existing translation, for translationExists.

string format: uuid
light

Check of the light mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
dark

Check of the dark mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
impact

Who gains and who loses access, with the confirmation to send, for moveChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the content leaves a confidential space and loses its protection.

boolean
confirmation
required

Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.

string | null
copyImpact

Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the copy leaves a confidential space and is not protected by it.

boolean
widerAccess
required

True when people can read the copy who cannot read the source; the copy then needs the confirmation.

boolean
confirmation
required

Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.

string | null
items
required

Number of items the copy creates.

integer
>= -9007199254740991 <= 9007199254740991
hidden
required

Number of items below that are left out because the caller cannot read them.

integer
>= -9007199254740991 <= 9007199254740991
skipped
required

Number of items below that are left out because they cannot be copied.

integer
>= -9007199254740991 <= 9007199254740991
background
required

True when the copy is large and runs in the background.

boolean
formerParent
Any of:
object
id
required

ID of the former parent page.

string format: uuid
title
required

Title of the former parent page.

string
parentEntries

Number of trash entries of former parent pages the caller can restore together with the content, for restrictedParentInTrash; 0 when the caller cannot restore all of them.

integer
>= -9007199254740991 <= 9007199254740991
fileVersion

Format or editor schema version of the file, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
supportedVersion

Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
templateIndex

Position of the template in the file, counted from 0, for templateNameTaken.

integer
>= -9007199254740991 <= 9007199254740991
templateProblems

What is wrong with the templates of the file, for invalidTemplatesInFile.

Array<object>

A problem in a template of the file.

object
place
required

Where in the template, such as field 3 or content.

string | null
message
required

Explanation for people, naming the template and the place.

string
maintenanceMessage

The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.

string
problems

What is wrong with the document, for invalidDocument and invalidComment.

Array<object>

A problem in the document.

object
path
required

Position in the document, such as .content[2].content[0].

string
code
required

Kind of problem, such as unknownNode or invalidAttribute.

string
message
required

Explanation for people.

string

Examples

ExampleambiguousCredentials
{
"type": "urn:lunedo:problem:ambiguousCredentials",
"title": "The request carries both a session and an API token",
"status": 400,
"code": "ambiguousCredentials"
}

invalidApiToken: The API token is not valid. notSignedIn: Sign in or send an API token.

Media typeapplication/problem+json

Error response following RFC 9457 Problem Details.

object
type
required

Stable identifier of the error kind. Clients branch on this value.

string
title
required

Short summary of the error kind. It does not change between occurrences.

string
status
required

HTTP status code of the response.

integer
>= -9007199254740991 <= 9007199254740991
detail

Explanation of this occurrence, for people.

string
code
required

The last part of type, for clients that prefer a short key.

string
fields

Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.

Array<string>
denials

Why the request was not allowed, for forbidden.

Array<string>
retryAfterSeconds

Seconds to wait before retrying, for rateLimited, locked and busy.

integer
>= -9007199254740991 <= 9007199254740991
problem

Which password rule failed, for passwordPolicy; why the address of a chat channel was refused, for invalidChatAddress; which storage setting was refused (invalidThresholds, invalidS3Limit, invalidContacts or invalidTeamsWebhook), for invalidStorageSettings; which backup setting was refused, for invalidBackupSettings; whether a backup or a testRestore is running, for backupRunning; why the backup target could not be used (a failure of Test connection, such as notFound or credentials, or missingSecret), for backupTargetFailed.

string
step

What Lunedo was doing with the backup target when it failed, for backupTargetFailed.

string
Allowed values: write read delete list
refusal

What the full storage refuses, for storageFull: an upload, or a large write such as an import.

string
Allowed values: upload largeWrite
minLength

Minimum password length, for passwordPolicy.

integer
>= -9007199254740991 <= 9007199254740991
lockedBy

Level that locked the setting, for settingLocked.

string
minimum

Lowest allowed value, for settingBelowMinimum.

number
maximum
Any of:
number
maxLifetimeDays

Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
domains

Domains that belong to another identity provider, for domainInUse.

Array<string>
instanceUrl

The current address of the instance, for instanceMoved.

string
providerId

ID of the identity provider that manages the account, for managedAccount and managedDomain.

string
providerName

Name of the identity provider that manages the account, for managedAccount and managedDomain.

string
accounts

Number of accounts still linked to the identity provider, for providerHasAccounts.

integer
>= -9007199254740991 <= 9007199254740991
maxBytes

Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
usedBytes

Bytes the organization’s imports use already, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
missing

Number of parts still missing, for uploadIncomplete.

integer
>= -9007199254740991 <= 9007199254740991
uncoveredPages

Number of pages below that your own role does not cover, for shareBeyondOwnAccess.

integer
>= -9007199254740991 <= 9007199254740991
maxDays

Longest allowed lifetime of a link for anyone in days, for expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
pages

Number of pages that give access to groups or through broad links, for confidentialSharing; number of pages that would lose the status, for statusInUse; number of pages the caller cannot open, for hiddenContent.

integer
>= -9007199254740991 <= 9007199254740991
sections

Required sections that are empty or missing, for requiredSectionsEmpty.

Array<object>

A required section.

object
key
required

Key of the section.

string
title
required

Heading of the section.

string
articles

Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.

integer
>= -9007199254740991 <= 9007199254740991
translations

Number of translations into the language, for defaultLanguageTranslated.

integer
>= -9007199254740991 <= 9007199254740991
translationId

The existing translation, for translationExists.

string format: uuid
light

Check of the light mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
dark

Check of the dark mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
impact

Who gains and who loses access, with the confirmation to send, for moveChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the content leaves a confidential space and loses its protection.

boolean
confirmation
required

Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.

string | null
copyImpact

Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the copy leaves a confidential space and is not protected by it.

boolean
widerAccess
required

True when people can read the copy who cannot read the source; the copy then needs the confirmation.

boolean
confirmation
required

Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.

string | null
items
required

Number of items the copy creates.

integer
>= -9007199254740991 <= 9007199254740991
hidden
required

Number of items below that are left out because the caller cannot read them.

integer
>= -9007199254740991 <= 9007199254740991
skipped
required

Number of items below that are left out because they cannot be copied.

integer
>= -9007199254740991 <= 9007199254740991
background
required

True when the copy is large and runs in the background.

boolean
formerParent
Any of:
object
id
required

ID of the former parent page.

string format: uuid
title
required

Title of the former parent page.

string
parentEntries

Number of trash entries of former parent pages the caller can restore together with the content, for restrictedParentInTrash; 0 when the caller cannot restore all of them.

integer
>= -9007199254740991 <= 9007199254740991
fileVersion

Format or editor schema version of the file, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
supportedVersion

Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
templateIndex

Position of the template in the file, counted from 0, for templateNameTaken.

integer
>= -9007199254740991 <= 9007199254740991
templateProblems

What is wrong with the templates of the file, for invalidTemplatesInFile.

Array<object>

A problem in a template of the file.

object
place
required

Where in the template, such as field 3 or content.

string | null
message
required

Explanation for people, naming the template and the place.

string
maintenanceMessage

The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.

string
problems

What is wrong with the document, for invalidDocument and invalidComment.

Array<object>

A problem in the document.

object
path
required

Position in the document, such as .content[2].content[0].

string
code
required

Kind of problem, such as unknownNode or invalidAttribute.

string
message
required

Explanation for people.

string

Examples

{
"type": "urn:lunedo:problem:invalidApiToken",
"title": "The API token is not valid",
"status": 401,
"code": "invalidApiToken"
}

forbidden: Not allowed.

Media typeapplication/problem+json

Error response following RFC 9457 Problem Details.

object
type
required

Stable identifier of the error kind. Clients branch on this value.

string
title
required

Short summary of the error kind. It does not change between occurrences.

string
status
required

HTTP status code of the response.

integer
>= -9007199254740991 <= 9007199254740991
detail

Explanation of this occurrence, for people.

string
code
required

The last part of type, for clients that prefer a short key.

string
fields

Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.

Array<string>
denials

Why the request was not allowed, for forbidden.

Array<string>
retryAfterSeconds

Seconds to wait before retrying, for rateLimited, locked and busy.

integer
>= -9007199254740991 <= 9007199254740991
problem

Which password rule failed, for passwordPolicy; why the address of a chat channel was refused, for invalidChatAddress; which storage setting was refused (invalidThresholds, invalidS3Limit, invalidContacts or invalidTeamsWebhook), for invalidStorageSettings; which backup setting was refused, for invalidBackupSettings; whether a backup or a testRestore is running, for backupRunning; why the backup target could not be used (a failure of Test connection, such as notFound or credentials, or missingSecret), for backupTargetFailed.

string
step

What Lunedo was doing with the backup target when it failed, for backupTargetFailed.

string
Allowed values: write read delete list
refusal

What the full storage refuses, for storageFull: an upload, or a large write such as an import.

string
Allowed values: upload largeWrite
minLength

Minimum password length, for passwordPolicy.

integer
>= -9007199254740991 <= 9007199254740991
lockedBy

Level that locked the setting, for settingLocked.

string
minimum

Lowest allowed value, for settingBelowMinimum.

number
maximum
Any of:
number
maxLifetimeDays

Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
domains

Domains that belong to another identity provider, for domainInUse.

Array<string>
instanceUrl

The current address of the instance, for instanceMoved.

string
providerId

ID of the identity provider that manages the account, for managedAccount and managedDomain.

string
providerName

Name of the identity provider that manages the account, for managedAccount and managedDomain.

string
accounts

Number of accounts still linked to the identity provider, for providerHasAccounts.

integer
>= -9007199254740991 <= 9007199254740991
maxBytes

Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
usedBytes

Bytes the organization’s imports use already, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
missing

Number of parts still missing, for uploadIncomplete.

integer
>= -9007199254740991 <= 9007199254740991
uncoveredPages

Number of pages below that your own role does not cover, for shareBeyondOwnAccess.

integer
>= -9007199254740991 <= 9007199254740991
maxDays

Longest allowed lifetime of a link for anyone in days, for expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
pages

Number of pages that give access to groups or through broad links, for confidentialSharing; number of pages that would lose the status, for statusInUse; number of pages the caller cannot open, for hiddenContent.

integer
>= -9007199254740991 <= 9007199254740991
sections

Required sections that are empty or missing, for requiredSectionsEmpty.

Array<object>

A required section.

object
key
required

Key of the section.

string
title
required

Heading of the section.

string
articles

Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.

integer
>= -9007199254740991 <= 9007199254740991
translations

Number of translations into the language, for defaultLanguageTranslated.

integer
>= -9007199254740991 <= 9007199254740991
translationId

The existing translation, for translationExists.

string format: uuid
light

Check of the light mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
dark

Check of the dark mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
impact

Who gains and who loses access, with the confirmation to send, for moveChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the content leaves a confidential space and loses its protection.

boolean
confirmation
required

Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.

string | null
copyImpact

Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the copy leaves a confidential space and is not protected by it.

boolean
widerAccess
required

True when people can read the copy who cannot read the source; the copy then needs the confirmation.

boolean
confirmation
required

Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.

string | null
items
required

Number of items the copy creates.

integer
>= -9007199254740991 <= 9007199254740991
hidden
required

Number of items below that are left out because the caller cannot read them.

integer
>= -9007199254740991 <= 9007199254740991
skipped
required

Number of items below that are left out because they cannot be copied.

integer
>= -9007199254740991 <= 9007199254740991
background
required

True when the copy is large and runs in the background.

boolean
formerParent
Any of:
object
id
required

ID of the former parent page.

string format: uuid
title
required

Title of the former parent page.

string
parentEntries

Number of trash entries of former parent pages the caller can restore together with the content, for restrictedParentInTrash; 0 when the caller cannot restore all of them.

integer
>= -9007199254740991 <= 9007199254740991
fileVersion

Format or editor schema version of the file, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
supportedVersion

Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
templateIndex

Position of the template in the file, counted from 0, for templateNameTaken.

integer
>= -9007199254740991 <= 9007199254740991
templateProblems

What is wrong with the templates of the file, for invalidTemplatesInFile.

Array<object>

A problem in a template of the file.

object
place
required

Where in the template, such as field 3 or content.

string | null
message
required

Explanation for people, naming the template and the place.

string
maintenanceMessage

The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.

string
problems

What is wrong with the document, for invalidDocument and invalidComment.

Array<object>

A problem in the document.

object
path
required

Position in the document, such as .content[2].content[0].

string
code
required

Kind of problem, such as unknownNode or invalidAttribute.

string
message
required

Explanation for people.

string

Examples

Exampleforbidden
{
"type": "urn:lunedo:problem:forbidden",
"title": "Not allowed",
"status": 403,
"code": "forbidden"
}

rateLimited: Too many requests.

Media typeapplication/problem+json

Error response following RFC 9457 Problem Details.

object
type
required

Stable identifier of the error kind. Clients branch on this value.

string
title
required

Short summary of the error kind. It does not change between occurrences.

string
status
required

HTTP status code of the response.

integer
>= -9007199254740991 <= 9007199254740991
detail

Explanation of this occurrence, for people.

string
code
required

The last part of type, for clients that prefer a short key.

string
fields

Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.

Array<string>
denials

Why the request was not allowed, for forbidden.

Array<string>
retryAfterSeconds

Seconds to wait before retrying, for rateLimited, locked and busy.

integer
>= -9007199254740991 <= 9007199254740991
problem

Which password rule failed, for passwordPolicy; why the address of a chat channel was refused, for invalidChatAddress; which storage setting was refused (invalidThresholds, invalidS3Limit, invalidContacts or invalidTeamsWebhook), for invalidStorageSettings; which backup setting was refused, for invalidBackupSettings; whether a backup or a testRestore is running, for backupRunning; why the backup target could not be used (a failure of Test connection, such as notFound or credentials, or missingSecret), for backupTargetFailed.

string
step

What Lunedo was doing with the backup target when it failed, for backupTargetFailed.

string
Allowed values: write read delete list
refusal

What the full storage refuses, for storageFull: an upload, or a large write such as an import.

string
Allowed values: upload largeWrite
minLength

Minimum password length, for passwordPolicy.

integer
>= -9007199254740991 <= 9007199254740991
lockedBy

Level that locked the setting, for settingLocked.

string
minimum

Lowest allowed value, for settingBelowMinimum.

number
maximum
Any of:
number
maxLifetimeDays

Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
domains

Domains that belong to another identity provider, for domainInUse.

Array<string>
instanceUrl

The current address of the instance, for instanceMoved.

string
providerId

ID of the identity provider that manages the account, for managedAccount and managedDomain.

string
providerName

Name of the identity provider that manages the account, for managedAccount and managedDomain.

string
accounts

Number of accounts still linked to the identity provider, for providerHasAccounts.

integer
>= -9007199254740991 <= 9007199254740991
maxBytes

Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
usedBytes

Bytes the organization’s imports use already, for organizationImportLimit.

integer
>= -9007199254740991 <= 9007199254740991
missing

Number of parts still missing, for uploadIncomplete.

integer
>= -9007199254740991 <= 9007199254740991
uncoveredPages

Number of pages below that your own role does not cover, for shareBeyondOwnAccess.

integer
>= -9007199254740991 <= 9007199254740991
maxDays

Longest allowed lifetime of a link for anyone in days, for expiryTooLate.

integer
>= -9007199254740991 <= 9007199254740991
pages

Number of pages that give access to groups or through broad links, for confidentialSharing; number of pages that would lose the status, for statusInUse; number of pages the caller cannot open, for hiddenContent.

integer
>= -9007199254740991 <= 9007199254740991
sections

Required sections that are empty or missing, for requiredSectionsEmpty.

Array<object>

A required section.

object
key
required

Key of the section.

string
title
required

Heading of the section.

string
articles

Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.

integer
>= -9007199254740991 <= 9007199254740991
translations

Number of translations into the language, for defaultLanguageTranslated.

integer
>= -9007199254740991 <= 9007199254740991
translationId

The existing translation, for translationExists.

string format: uuid
light

Check of the light mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
dark

Check of the dark mode color, for brandContrast.

object
color
required

The checked color.

string
passes
required

Whether it reaches the contrast WCAG AA asks for.

boolean
onBackground
required

Contrast of the color as text on the background.

number
onBrand
required

Contrast of text on the color.

number
proposal
required

The nearest shade that passes, or null when none exists.

string | null
impact

Who gains and who loses access, with the confirmation to send, for moveChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the content leaves a confidential space and loses its protection.

boolean
confirmation
required

Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.

string | null
copyImpact

Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.

object
gaining
required

Number of people who get access.

integer
>= -9007199254740991 <= 9007199254740991
losing
required

Number of people who lose access.

integer
>= -9007199254740991 <= 9007199254740991
raised
required

Number of people whose role rises.

integer
>= -9007199254740991 <= 9007199254740991
lowered
required

Number of people whose role drops.

integer
>= -9007199254740991 <= 9007199254740991
unlisted
required

Number of affected people the caller may not see; they are counted but not listed.

integer
>= -9007199254740991 <= 9007199254740991
truncated
required

Whether changes lists only the first 100 people.

boolean
changes
required

People whose access changes, ordered by name.

Array<object>

How the access of one person changes.

object
accountId
required

ID of the account.

string format: uuid
name
required

Name of the person.

string
before
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
after
required
Any of:

Space role: reader reads, commenter also comments, editor also creates, edits and moves content, admin also manages the space and its permissions.

string
Allowed values: reader commenter editor admin
leavesConfidential
required

True when the copy leaves a confidential space and is not protected by it.

boolean
widerAccess
required

True when people can read the copy who cannot read the source; the copy then needs the confirmation.

boolean
confirmation
required

Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.

string | null
items
required

Number of items the copy creates.

integer
>= -9007199254740991 <= 9007199254740991
hidden
required

Number of items below that are left out because the caller cannot read them.

integer
>= -9007199254740991 <= 9007199254740991
skipped
required

Number of items below that are left out because they cannot be copied.

integer
>= -9007199254740991 <= 9007199254740991
background
required

True when the copy is large and runs in the background.

boolean
formerParent
Any of:
object
id
required

ID of the former parent page.

string format: uuid
title
required

Title of the former parent page.

string
parentEntries

Number of trash entries of former parent pages the caller can restore together with the content, for restrictedParentInTrash; 0 when the caller cannot restore all of them.

integer
>= -9007199254740991 <= 9007199254740991
fileVersion

Format or editor schema version of the file, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
supportedVersion

Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.

integer
>= -9007199254740991 <= 9007199254740991
templateIndex

Position of the template in the file, counted from 0, for templateNameTaken.

integer
>= -9007199254740991 <= 9007199254740991
templateProblems

What is wrong with the templates of the file, for invalidTemplatesInFile.

Array<object>

A problem in a template of the file.

object
place
required

Where in the template, such as field 3 or content.

string | null
message
required

Explanation for people, naming the template and the place.

string
maintenanceMessage

The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.

string
problems

What is wrong with the document, for invalidDocument and invalidComment.

Array<object>

A problem in the document.

object
path
required

Position in the document, such as .content[2].content[0].

string
code
required

Kind of problem, such as unknownNode or invalidAttribute.

string
message
required

Explanation for people.

string

Examples

ExamplerateLimited
{
"type": "urn:lunedo:problem:rateLimited",
"title": "Too many requests",
"status": 429,
"code": "rateLimited"
}