API / API reference / Templates
Confirm an import into the organization
Confirm an import into the organization
POST /api/v1/organizations/{organizationId}/template-imports/{importId}/confirm
Imports the templates of your preview as organization templates, with the same decisions as for spaces. Requires the permission organization.templates.manage on the organization in organizationId.
curl -X POST -H "Authorization: Bearer ld_..." \ -H "Content-Type: application/json" --data @request.json \ "https://wiki.example.org/api/v1/organizations/{organizationId}/template-imports/{importId}/confirm"Imports the templates of your preview as organization templates, with the same decisions as for spaces.
Requires the permission organization.templates.manage on the organization in organizationId.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”ID of the organization.
ID of the import preview.
Request Bodyrequired
Section titled “Request Bodyrequired”Confirms an import preview.
object
Decisions per template. Templates without a decision are created under their own name.
What to do with one template.
object
Position in the file.
create a new template, replace the template with the same name (it keeps its ID), or skip it.
Name of a new template; default: the name in the file.
Import the valid templates when others in the file are not valid. Without it, nothing is imported.
Example
{ "decisions": [ { "index": 0, "action": "replace" } ]}Responses
Section titled “Responses”The result.
The result of an import.
object
Templates created.
A page template.
object
ID of the template. Built-in templates have IDs starting with builtin:.
Where the template comes from: built in, or from the instance, the organization or the space.
Name.
Short description.
Category in the gallery: meetings, decisions, projects, engineering, operations, knowledge or teams.
Title of new pages; {key} inserts the value of an input field.
Input fields.
An input field asked for when a page is created from the template.
object
Key of the field, used as {key} in the title and by template field nodes in the content.
Label shown when the page is created.
text, date (filled with today by default), person (inserted as a mention) or choice.
Whether a value is required.
Options of a choice field.
Defaults of a series template.
object
Default rhythm.
object
How often. New values can be added in later versions; handle unknown values.
Every how many units.
Weekdays.
Day of the month.
For monthly by weekday: 1 to 4 for the first to fourth, -1 for the last.
Weekday.
Default duration in minutes.
Templates replaced; they keep their IDs.
A page template.
object
ID of the template. Built-in templates have IDs starting with builtin:.
Where the template comes from: built in, or from the instance, the organization or the space.
Name.
Short description.
Category in the gallery: meetings, decisions, projects, engineering, operations, knowledge or teams.
Title of new pages; {key} inserts the value of an input field.
Input fields.
An input field asked for when a page is created from the template.
object
Key of the field, used as {key} in the title and by template field nodes in the content.
Label shown when the page is created.
text, date (filled with today by default), person (inserted as a mention) or choice.
Whether a value is required.
Options of a choice field.
Defaults of a series template.
object
Default rhythm.
object
How often. New values can be added in later versions; handle unknown values.
Every how many units.
Weekdays.
Day of the month.
For monthly by weekday: 1 to 4 for the first to fourth, -1 for the last.
Weekday.
Default duration in minutes.
Templates not imported.
Example
{ "created": [], "replaced": [ { "id": "01929b1e-7c3a-7d2e-9f4b-3c2d1e0f5a70", "level": "space", "organizationId": null, "spaceId": "01929b1e-7c3a-7d2e-9f4b-3c2d1e0f5a10", "name": "Change request", "description": "Planned change with risk and rollback", "category": "operations", "title": "Change {name}", "fields": [ { "key": "name", "label": "Name of the change", "type": "text", "required": true } ], "document": { "type": "doc", "content": [ { "type": "paragraph", "content": [ { "type": "text", "text": "Connect through WireGuard." } ] } ] }, "series": null, "articleType": null, "updatedAt": "2026-10-05T08:00:00.000Z" } ], "skipped": 0}ambiguousCredentials: The request carries both a session and an API token. invalidInput: The request is not valid. invalidTemplateName: The template name 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"}{ "type": "urn:lunedo:problem:invalidTemplateName", "title": "The template name is not valid", "status": 400, "code": "invalidTemplateName"}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"}csrfRejected: The request failed the cross-site request check. 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:csrfRejected", "title": "The request failed the cross-site request check", "status": 403, "code": "csrfRejected"}{ "type": "urn:lunedo:problem:forbidden", "title": "Not allowed", "status": 403, "code": "forbidden"}notFound: Not found. templateImportNotFound: The import preview does not exist anymore. templateNotFound: The template does not exist.
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"}{ "type": "urn:lunedo:problem:templateImportNotFound", "title": "The import preview does not exist anymore", "status": 404, "code": "templateImportNotFound"}{ "type": "urn:lunedo:problem:templateNotFound", "title": "The template does not exist", "status": 404, "code": "templateNotFound"}invalidTemplatesInFile: Some templates in the file are not valid. templateNameTaken: A template with this name exists already.
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:invalidTemplatesInFile", "title": "Some templates in the file are not valid", "status": 409, "code": "invalidTemplatesInFile"}{ "type": "urn:lunedo:problem:templateNameTaken", "title": "A template with this name exists already", "status": 409, "code": "templateNameTaken"}rateLimited: Too many requests.
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"}maintenanceMode: The instance is in maintenance mode.
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:maintenanceMode", "title": "The instance is in maintenance mode", "status": 503, "code": "maintenanceMode"}storageFull: Storage is almost full.
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:storageFull", "title": "Storage is almost full", "status": 507, "code": "storageFull"}