API / API reference / Search
Search the content of an organization
Search the content of an organization
GET /api/v1/organizations/{organizationId}/search
Searches pages, blog posts, comments, attachments, running topics and decisions of all spaces of the organization the caller can read, for the search page and for search while typing. The text of PDF, Word and Excel attachments is searched, file names of all attachments. Results, counts and excerpts only ever include content the caller can read; pages shared with the caller show no space or path. Drafts, attachments added only in a draft and private meeting notes are never searched. Unknown filter values and values of things the caller cannot see give the same empty answer. Requires the permis
curl -H "Authorization: Bearer ld_..." \ "https://wiki.example.org/api/v1/organizations/{organizationId}/search?limit=20"Searches pages, blog posts, comments, attachments, running topics and decisions of all spaces of the organization the caller can read, for the search page and for search while typing. The text of PDF, Word and Excel attachments is searched, file names of all attachments. Results, counts and excerpts only ever include content the caller can read; pages shared with the caller show no space or path. Drafts, attachments added only in a draft and private meeting notes are never searched. Unknown filter values and values of things the caller cannot see give the same empty answer.
Requires the permission organization.search on the organization in organizationId.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”ID of the organization.
Query Parameters
Section titled “Query Parameters”The search text. Words must all match. "exact phrase" matches the words in this order, -word excludes a word, OR between two words matches either. The operators space:KEY, label:name, author:name, status:name (default values also by their English name, such as status:verified) and type:page|blog|comment|attachment|topic|decision filter like the parameters; quote values with spaces.
full (default) for the search page with counts per filter value and pages of results. quick for search while typing: few results, the last word also matches longer words, results of spaceId first, no counts and no further pages.
In quick search, the space the person is in; its results come first.
Only results in these spaces. Up to 20 values, separated by commas.
Only results of these types: page, blogPost, comment, attachment, topic or decision. Up to 20 values, separated by commas.
Only pages with at least one of these labels. Up to 20 values, separated by commas.
Only results by these authors. Up to 20 values, separated by commas.
Only pages with one of these status values. Up to 20 values, separated by commas.
Only results in one of these content languages. Up to 20 values, separated by commas.
true includes archived pages. Default false.
Only results changed at or after this time. ISO 8601 timestamp; an offset is allowed.
Only results changed before this time. ISO 8601 timestamp; an offset is allowed.
relevance (default), best matches first, or newest, last changed first.
Cursor from nextCursor of the previous page. Leave it out for the first page.
Maximum number of results, from 1 to 50. Default 20, in quick search 8.
Responses
Section titled “Responses”The results.
Search results.
object
Results, in the requested order.
A search result.
object
page, blogPost, comment, attachment, topic (a running topic, its updates or a comment on it) or decision. New values can be added in later versions; handle unknown values.
ID of the page, blog post, comment, attachment, running topic or decision; for a comment on a running topic, of the comment.
ID of the page, blog post or running topic the result belongs to; for a decision, the meeting it was recorded in.
Number of the item itemId names, in the addresses of the app.
What itemId is: page, blogPost or topic (a running topic), so that clients open the right screen. New values can be added in later versions; handle unknown values.
Title of the page, blog post or running topic; for a comment or attachment, of its page; for a decision, of its meeting.
Heading of the section that matched, the file name of an attachment, the meeting of a topic update, or an empty string.
Anchor of that heading on the page, or null.
Text around the matched words, from content the caller can read only.
Part of an excerpt.
object
Part of the excerpt.
Whether this part matched the search words.
A space the caller can open.
object
ID of the space.
Key of the space.
Name of the space. Empty for personal spaces, which clients name themselves.
Name to show: the name of the space, or for a personal space without a name of its own “Personal space of” and the owner’s name, in the owner’s language.
Whether this is a personal space.
Whether the space is a knowledge base, whose pages are articles.
Whether it is the caller’s own personal space.
Whether the caller can read the page only through a share. Space and path stay hidden then.
Whether the article lies in a category of a knowledge base that the caller may read but not change, while the caller is responsible for other categories there.
Parent pages the caller can read, from the top. Empty for shared pages.
A parent page.
object
ID of the page.
Number of the page in the addresses of the app.
Title of the page.
Labels of the page.
A page status.
Whether the page is archived.
When the content last changed. ISO 8601 timestamp in UTC.
Number of results the caller can read, on all pages, up to the 1,000 best matches.
True when the search has more matches than total counts. Show the number as “1,000+”; the results and counts cover the 1,000 most recently changed matches.
Cursor for the next page, or null on the last page.
object
Types with their number of results.
Type
object
The type. New values can be added in later versions; handle unknown values.
Number of results.
Spaces with their number of results.
A space.
object
Key of the space, or null.
Name of the space, or null.
Name to show, as displayName of a space in a result, or null.
Whether this is a personal space.
Whether it is the caller’s own personal space.
Number of results.
Labels with their number of results.
Label
object
The label.
Number of results.
Authors with their number of results.
An author.
object
ID of the author.
Name of the author.
Number of results.
Status values with their number of results.
A status value.
object
ID of the status value.
Name set by a space admin, or null to show the default name.
Color of the status: neutral, accent, info, success, warning or danger.
Number of results.
Content languages with their number of results.
Content language
object
The content language code.
Number of results.
Time ranges with their number of results.
Time range
object
Changed within the last week (7 days), month (30 days) or year (365 days). New values can be added in later versions; handle unknown values.
Number of results.
The search text with misspelled words replaced by similar words from content the caller can read, or null when there is nothing to correct. Always null in quick search.
State of the search index.
object
Whether the index is being built; results may be incomplete meanwhile.
Example
{ "results": [ { "type": "page", "id": "01929b1e-7c1a-7000-8000-000000000020", "itemId": "01929b1e-7c1a-7000-8000-000000000020", "number": 1042, "itemType": "page", "title": "VPN access", "heading": "Setup", "anchor": "setup", "excerpt": [ { "text": "Install the ", "highlighted": false }, { "text": "WireGuard", "highlighted": true }, { "text": " client on your laptop.", "highlighted": false } ], "space": { "id": "01929b1e-7c1a-7000-8000-000000000010", "key": "ITOPS", "name": "IT Operations", "displayName": "IT Operations", "personal": false, "knowledgeBase": false, "mine": false }, "sharedWithYou": false, "otherCategory": false, "path": [], "labels": [ "vpn" ], "status": { "id": "01929b1e-7c3a-7d2e-9f4b-3c2d1e0f5a60", "builtIn": "verified", "name": null, "color": "success" }, "author": { "id": "01929b1e-7c1a-7000-8000-000000000001", "name": "Ada Lovelace" }, "archived": false, "attachment": null, "topic": null, "series": null, "updatedAt": "2026-10-14T08:30:00.000Z" } ], "total": 1, "totalCapped": false, "nextCursor": null, "facets": { "types": [ { "value": "page", "count": 1 } ], "spaces": [ { "id": "01929b1e-7c1a-7000-8000-000000000010", "key": "ITOPS", "name": "IT Operations", "displayName": "IT Operations", "personal": false, "mine": false, "count": 1 } ], "labels": [ { "value": "vpn", "count": 1 } ], "authors": [ { "id": "01929b1e-7c1a-7000-8000-000000000001", "name": "Ada Lovelace", "count": 1 } ], "statuses": [ { "id": "01929b1e-7c3a-7d2e-9f4b-3c2d1e0f5a60", "builtIn": "verified", "name": null, "color": "success", "count": 1 } ], "languages": [ { "value": "en", "count": 1 } ], "updated": [ { "value": "week", "count": 1 }, { "value": "month", "count": 1 }, { "value": "year", "count": 1 } ] }, "suggestion": null, "index": { "building": false }}ambiguousCredentials: The request carries both a session and an API token. invalidInput: The request is not valid.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:ambiguousCredentials", "title": "The request carries both a session and an API token", "status": 400, "code": "ambiguousCredentials"}{ "type": "urn:lunedo:problem:invalidInput", "title": "The request is not valid", "status": 400, "code": "invalidInput"}invalidApiToken: The API token is not valid. notSignedIn: Sign in or send an API token.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:invalidApiToken", "title": "The API token is not valid", "status": 401, "code": "invalidApiToken"}{ "type": "urn:lunedo:problem:notSignedIn", "title": "Sign in or send an API token", "status": 401, "code": "notSignedIn"}forbidden: Not allowed.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:forbidden", "title": "Not allowed", "status": 403, "code": "forbidden"}notFound: Not found.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:notFound", "title": "Not found", "status": 404, "code": "notFound"}rateLimited: Too many requests. searchBusy: Search is busy.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:rateLimited", "title": "Too many requests", "status": 429, "code": "rateLimited"}{ "type": "urn:lunedo:problem:searchBusy", "title": "Search is busy", "status": 429, "code": "searchBusy"}searchTimedOut: The search took too long.
Error response following RFC 9457 Problem Details.
object
Stable identifier of the error kind. Clients branch on this value.
Short summary of the error kind. It does not change between occurrences.
HTTP status code of the response.
Explanation of this occurrence, for people.
The last part of type, for clients that prefer a short key.
Invalid fields, for invalidInput, invalidStorageSettings, invalidBackupSettings and the codes about the address of a chat channel.
Why the request was not allowed, for forbidden.
Seconds to wait before retrying, for rateLimited, locked and busy.
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.
What Lunedo was doing with the backup target when it failed, for backupTargetFailed.
What the full storage refuses, for storageFull: an upload, or a large write such as an import.
Minimum password length, for passwordPolicy.
Level that locked the setting, for settingLocked.
Lowest allowed value, for settingBelowMinimum.
Maximum lifetime of API tokens in days, for expiryRequired and expiryTooLate.
Domains that belong to another identity provider, for domainInUse.
The current address of the instance, for instanceMoved.
ID of the identity provider that manages the account, for managedAccount and managedDomain.
Name of the identity provider that manages the account, for managedAccount and managedDomain.
Number of accounts still linked to the identity provider, for providerHasAccounts.
Largest allowed file size in bytes, for fileTooLarge and uploadTooLarge; storage limit of the organization’s imports, for organizationImportLimit.
Bytes the organization’s imports use already, for organizationImportLimit.
Number of parts still missing, for uploadIncomplete.
Number of pages below that your own role does not cover, for shareBeyondOwnAccess.
Longest allowed lifetime of a link for anyone in days, for expiryTooLate.
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.
Required sections that are empty or missing, for requiredSectionsEmpty.
A required section.
object
Key of the section.
Heading of the section.
Number of articles more people could read, for audienceWidening and categoryVisibilityWidening.
Number of translations into the language, for defaultLanguageTranslated.
The existing translation, for translationExists.
Check of the light mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Check of the dark mode color, for brandContrast.
object
The checked color.
Whether it reaches the contrast WCAG AA asks for.
Contrast of the color as text on the background.
Contrast of text on the color.
The nearest shade that passes, or null when none exists.
Who gains and who loses access, with the confirmation to send, for moveChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the content leaves a confidential space and loses its protection.
Send this with the move to confirm exactly this change, or null when access does not change. Valid for one hour.
Who could read the copy but not the source, with the confirmation to send, for copyChangesAccess.
object
Number of people who get access.
Number of people who lose access.
Number of people whose role rises.
Number of people whose role drops.
Number of affected people the caller may not see; they are counted but not listed.
Whether changes lists only the first 100 people.
People whose access changes, ordered by name.
How the access of one person changes.
object
ID of the account.
Name of the person.
True when the copy leaves a confidential space and is not protected by it.
True when people can read the copy who cannot read the source; the copy then needs the confirmation.
Send this with the copy to confirm exactly this access, or null when nobody gains access. Valid for one hour.
Number of items the copy creates.
Number of items below that are left out because the caller cannot read them.
Number of items below that are left out because they cannot be copied.
True when the copy is large and runs in the background.
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.
Format or editor schema version of the file, for newerTemplateFormat.
Highest format or editor schema version this Lunedo reads, for newerTemplateFormat.
Position of the template in the file, counted from 0, for templateNameTaken.
What is wrong with the templates of the file, for invalidTemplatesInFile.
A problem in a template of the file.
object
Where in the template, such as field 3 or content.
Explanation for people, naming the template and the place.
The message of the instance administrators about the maintenance, for maintenanceMode and signInPaused. Empty when they wrote none.
What is wrong with the document, for invalidDocument and invalidComment.
A problem in the document.
object
Position in the document, such as .content[2].content[0].
Kind of problem, such as unknownNode or invalidAttribute.
Explanation for people.
Examples
{ "type": "urn:lunedo:problem:searchTimedOut", "title": "The search took too long", "status": 503, "code": "searchTimedOut"}