Skip to content

HTTP API reference

Both APIs are oRPC routers, so each also serves an OpenAPI document at /openapi.json on its instance, the source of the tables below. The management procedures are mounted twice: as oRPC under /rpc for the admin’s typed client, and as REST under /api/v1. A REST error answers { "error": { key, kind, status, message, details } }, and oRPC carries the same object as the error’s data; see the error body. Both OpenAPI documents declare this body once, as the Error schema, and reference it from the 400, 401, 403, 404, 409, 422, 429 and 500 responses of every operation. Unmatched paths answer route.notFound in the same body to JSON clients.

Management API (/api/v1)

Authenticated with the session cookie or an x-api-key header. Space-scoped procedures take a spaceId; the caller needs the permission in that space. See Users and roles for what each role may do.

They read and write one environment of the space: the one environment names (its technical name, e.g. staging), else the x-manablox-environment header, else production. An unknown name answers 404 environment.notFound; another environment than production needs the environments feature (403 control.feature); an API key limited to other environments answers 403 environment.forbidden. An id of another environment’s record answers as missing. The environments procedures name the environment they manage and take no other one.

MethodPathInputSummary
POST/api/v1/apiHosts/createspaceId, environment?, hostname
POST/api/v1/apiHosts/deletespaceId, environment?, id
POST/api/v1/apiHosts/listspaceId, environment?
POST/api/v1/apiHosts/verifyspaceId, environment?, id
POST/api/v1/assets/deletespaceId, environment?, id
POST/api/v1/assets/getspaceId, environment?, id
POST/api/v1/assets/getManyspaceId, environment?, ids
POST/api/v1/assets/limitsspaceId, environment?
POST/api/v1/assets/listspaceId, environment?, pagination?, mimeType?, mimeTypeNot?, search?, tagIds?
POST/api/v1/assets/presetsspaceId, environment?
POST/api/v1/assets/schedulespaceId, environment?, id, publishAt?, unpublishAt?
POST/api/v1/assets/setImageEditscrop?, focalPoint?, rotate?, flipHorizontal?, flipVertical?, adjust?, effect?, spaceId, environment?, id
POST/api/v1/assets/setSpacesspaceId, environment?, id, spaceIds
POST/api/v1/assets/updatespaceId, environment?, id, name?, alt?, title?, tags?
POST/api/v1/audit/catalog
POST/api/v1/audit/forTargetspaceId, environment?, targetKind, targetId, pagination?
POST/api/v1/audit/getspaceId, environment?, id
POST/api/v1/audit/listspaceId, environment?, filter?, sort?, pagination?
POST/api/v1/audit/listInstanceinstanceOnly?, filter?, sort?, pagination?
POST/api/v1/audit/verify
POST/api/v1/content/ancestorsspaceId, environment?, id
POST/api/v1/content/approvalspaceId, environment?, id
POST/api/v1/content/approvespaceId, environment?, id, note?
POST/api/v1/content/blankspaceId, environment?, typeId
POST/api/v1/content/createspaceId, environment?, typeId, locale?, localizationId?, parentId?, title, slug?, fields?, position?, expectedVersion?, tags?
POST/api/v1/content/createFolderspaceId, environment?, locale?, parentId?, title, position?
POST/api/v1/content/createTranslationspaceId, environment?, id, locale
POST/api/v1/content/deletespaceId, environment?, id, children?
POST/api/v1/content/duplicatespaceId, environment?, id, children?
POST/api/v1/content/getspaceId, environment?, id
POST/api/v1/content/listfilter, pagination?, sort?
POST/api/v1/content/movespaceId, environment?, id, parentId, position
POST/api/v1/content/pendingApprovalsspaceId, environment?, pagination?
POST/api/v1/content/publishspaceId, environment?, id
POST/api/v1/content/rejectspaceId, environment?, id, note?
POST/api/v1/content/requestApprovalspaceId, environment?, id, note?
POST/api/v1/content/restorespaceId, environment?, id, version
POST/api/v1/content/schedulespaceId, environment?, id, publishAt?, unpublishAt?
POST/api/v1/content/translationsspaceId, environment?, id
POST/api/v1/content/treespaceId, environment?, locale?, rootId?
POST/api/v1/content/treeChildrenspaceId, environment?, locale?, parentId?, pagination?
POST/api/v1/content/treeSearchspaceId, environment?, locale?, search, typeIds?, limit?
POST/api/v1/content/unpublishspaceId, environment?, id
POST/api/v1/content/updatespaceId, environment?, typeId, locale?, localizationId?, parentId?, title, slug?, fields?, position?, expectedVersion?, tags?, id
POST/api/v1/content/versionSnapshotspaceId, environment?, id, version
POST/api/v1/content/versionsspaceId, environment?, id, pagination?
POST/api/v1/content/withdrawApprovalspaceId, environment?, id
POST/api/v1/contentTypes/applyPlanspaceId, environment?, types
POST/api/v1/contentTypes/createname, label?, description?, icon?, kind?, spaceId, hasSlug?, isPublishable?, isVisibleInTree?, canBeVisibleInMenu?, requiresApproval?, fields?, environment?
POST/api/v1/contentTypes/deletespaceId, environment?, id
POST/api/v1/contentTypes/fieldTypeSettingsSchemaname
POST/api/v1/contentTypes/fieldTypes
POST/api/v1/contentTypes/getspaceId, environment?, id
POST/api/v1/contentTypes/listspaceId, environment?
POST/api/v1/contentTypes/reload
POST/api/v1/contentTypes/updatename, label?, description?, icon?, kind?, spaceId, hasSlug?, isPublishable?, isVisibleInTree?, canBeVisibleInMenu?, requiresApproval?, fields?, environment?, id
POST/api/v1/credentials/createspaceId, environment?, name, slug?, kind, provider?, data?
POST/api/v1/credentials/deletespaceId, environment?, id
POST/api/v1/credentials/listspaceId, environment?, pagination?
POST/api/v1/credentials/updatespaceId, environment?, name, slug?, kind, provider?, data?, id
POST/api/v1/environments/createspaceId, from?, machineName, name, mode?
POST/api/v1/environments/deletespaceId, environment
POST/api/v1/environments/diffspaceId, environment, mode?
POST/api/v1/environments/listspaceId, environment?
POST/api/v1/environments/promotespaceId, environment, mode?, confirm?
POST/api/v1/instance/plugins
POST/api/v1/instance/settings
POST/api/v1/instance/updateSettingstwoFactorPolicy?
POST/api/v1/invitations/accepttoken, name?, password?
POST/api/v1/invitations/createemail, grants?, expiresInDays?
POST/api/v1/invitations/listspaceId?
POST/api/v1/invitations/previewtoken
POST/api/v1/invitations/resendid
POST/api/v1/invitations/revokeid
POST/api/v1/menus/createname, machineName, description?, spaceId, environment?
POST/api/v1/menus/deletespaceId, environment?, id
POST/api/v1/menus/getspaceId, environment?, id, locale
POST/api/v1/menus/listspaceId, environment?
POST/api/v1/menus/placementsspaceId, environment?, localizationId, locale
POST/api/v1/menus/setItemsspaceId, environment?, id, items
POST/api/v1/menus/setPlacementsspaceId, environment?, localizationId, placements
POST/api/v1/menus/updatename?, machineName?, description?, spaceId, environment?, id
POST/api/v1/menus/usedInspaceId, environment?, localizationId
POST/api/v1/notifications/catalog
POST/api/v1/notifications/deleteids
POST/api/v1/notifications/deleteRead
POST/api/v1/notifications/listunreadOnly?, kinds?, spaceId?, pagination?
POST/api/v1/notifications/markAllRead
POST/api/v1/notifications/markReadids
POST/api/v1/notifications/markUnreadids
POST/api/v1/notifications/preferences
POST/api/v1/notifications/pushSubscribeendpoint, keys
POST/api/v1/notifications/pushSubscriptions
POST/api/v1/notifications/pushUnsubscribeendpoint
POST/api/v1/notifications/setPreferencespreferences
POST/api/v1/notifications/unreadCount
POST/api/v1/preferences/getkey
POST/api/v1/preferences/setkey, value
POST/api/v1/redirects/createspaceId, environment?, locale?, fromPath, toPath?, toContentId?, status?
POST/api/v1/redirects/deletespaceId, environment?, id
POST/api/v1/redirects/getspaceId, environment?, id
POST/api/v1/redirects/listspaceId, environment?, search?, source?, locale?, pagination?
POST/api/v1/redirects/updatespaceId, environment?, id, locale?, fromPath, toPath?, toContentId?, status?
POST/api/v1/roles/catalog
POST/api/v1/roles/createspaceId, environment?, name, machineName, description?, permissions
POST/api/v1/roles/deletespaceId, environment?, id
POST/api/v1/roles/getspaceId, environment?, id
POST/api/v1/roles/listspaceId, environment?
POST/api/v1/roles/updatespaceId, environment?, name, machineName, description?, permissions, id
POST/api/v1/snapshots/createspaceId, environment?
POST/api/v1/snapshots/listspaceId, environment?
POST/api/v1/snapshots/restorespaceId, environment?, snapshot, mode, confirm
POST/api/v1/spaces/addMembersspaceId, environment?, userIds, role?
POST/api/v1/spaces/candidatesspaceId, environment?, search?
POST/api/v1/spaces/configInventoryspaceId, environment?
POST/api/v1/spaces/configSourcespaceId, environment?, selection?
POST/api/v1/spaces/createname, machineName, description?, url, defaultLocale?, locales?, settings?, starter?, blocks?, plugins?, plan?
POST/api/v1/spaces/deletespaceId, environment?
POST/api/v1/spaces/exportspaceId, environment?, selection?
POST/api/v1/spaces/getspaceId, environment?
POST/api/v1/spaces/grantspaceId, environment?, userId, role
POST/api/v1/spaces/importpayload?, selection?
POST/api/v1/spaces/inventoryspaceId, environment?
POST/api/v1/spaces/list
POST/api/v1/spaces/localesspaceId, environment?
POST/api/v1/spaces/membersspaceId, environment?
POST/api/v1/spaces/resumeImportspaceId, environment?
POST/api/v1/spaces/revokespaceId, environment?, userId
POST/api/v1/spaces/setAssetSettingsspaceId, environment?, allowedMimeTypes?, maxFileSize?
POST/api/v1/spaces/setHomespaceId, environment?, contentId
POST/api/v1/spaces/updatename?, machineName?, description?, url?, defaultLocale?, locales?, settings?, spaceId, environment?
POST/api/v1/sso/createname, domains, oidc?, saml?, requireSso?, showOnSignIn?, createAccounts?, defaultGrants?, providerId
POST/api/v1/sso/deleteid
POST/api/v1/sso/list
POST/api/v1/sso/regenerateKeysid
POST/api/v1/sso/testoidc?, saml?
POST/api/v1/sso/updatename, domains, oidc?, saml?, requireSso?, showOnSignIn?, createAccounts?, defaultGrants?, id
POST/api/v1/tags/createspaceId, environment?, name
POST/api/v1/tags/deletespaceId, environment?, id
POST/api/v1/tags/listspaceId, environment?, search?
POST/api/v1/tags/listWithCountsspaceId, environment?, search?
POST/api/v1/tags/mergespaceId, environment?, sourceId, targetId
POST/api/v1/tags/ofContentspaceId, environment?, contentIds
POST/api/v1/tags/renamespaceId, environment?, id, name
POST/api/v1/tags/setForAssetspaceId, environment?, assetId, tags
POST/api/v1/tags/setForContentspaceId, environment?, contentId, tags
POST/api/v1/usage/instance
POST/api/v1/usage/spacespaceId, environment?
POST/api/v1/users/apiKeys
POST/api/v1/users/banuserId, reason?
POST/api/v1/users/changePasswordcurrentPassword, password
POST/api/v1/users/createname, email, password, role?
POST/api/v1/users/deleteuserId
POST/api/v1/users/getuserId
POST/api/v1/users/issueApiKeyname, expiresAt?, spaceIds?, permissions?
POST/api/v1/users/listsearch?, pagination?
POST/api/v1/users/me
POST/api/v1/users/revokeApiKeyid
POST/api/v1/users/revokeSessionsuserId
POST/api/v1/users/setPassworduserId, password
POST/api/v1/users/setRoleuserId, role
POST/api/v1/users/setupNeeded
POST/api/v1/users/unbanuserId
POST/api/v1/users/updateuserId, name?, email?
POST/api/v1/users/updateProfilename?, email?
POST/api/v1/users/verifyEmailtoken

Delivery API (/v1)

Anonymous and read-only, served by the public instance, which is pinned to one space. See The public API and REST.

MethodPathInputSummary
GET/v1/assets/{id}idFetch asset metadata
GET/v1/contenttype?, parentId?, under?, search?, tags?, locale?, limit?, offset?, expand?List published documents
GET/v1/content/{id}id, expand?Fetch one published document by id
GET/v1/menus/{name}name, locale?, expand?A navigation menu by name
GET/v1/permalinklocale?, expand?Resolve the space’s home page
GET/v1/permalink/{path}path, locale?, expand?Resolve a URL path to a document
GET/v1/redirectslocale?Every redirect of a locale, the locale’s own before shared ones
GET/v1/typesThe space content model, for SDK type generation

Plugin procedures (/api/v1/plugins/<id>)

A plugin’s router answers under plugins.<id> of the management API, with the same authentication, environments and error body. While the plugin is off for the instance or the space it answers 404 route.notFound when hidden and 403 control.feature when locked (a premium plugin on a production instance without an active subscription, say; a development instance runs them without a key). The plugins of the default instance:

license

MethodPathInputSummary
POST/api/v1/plugins/license/activateid
POST/api/v1/plugins/license/addKeykey
POST/api/v1/plugins/license/deactivateid
POST/api/v1/plugins/license/overview
POST/api/v1/plugins/license/refreshid
POST/api/v1/plugins/license/removeKeyid

workflows

MethodPathInputSummary
POST/api/v1/plugins/workflows/abortRunspaceId, environment?, id, reason?
POST/api/v1/plugins/workflows/abortRunsspaceId, environment?, id, reason?
POST/api/v1/plugins/workflows/catalogspaceId?, environment?
POST/api/v1/plugins/workflows/createspaceId, environment?, enabled?, name, description?, trigger, abortTriggers?, nodes, edges, publish?, note?
POST/api/v1/plugins/workflows/deletespaceId, environment?, id
POST/api/v1/plugins/workflows/designspaceId, environment?, providerKind?, model?, prompt
POST/api/v1/plugins/workflows/duplicatespaceId, environment?, id
POST/api/v1/plugins/workflows/exportspaceId, environment?, id, version?
POST/api/v1/plugins/workflows/getspaceId, environment?, id
POST/api/v1/plugins/workflows/importspaceId, environment?, file
POST/api/v1/plugins/workflows/listspaceId, environment?, pagination?
POST/api/v1/plugins/workflows/publishspaceId, environment?, id, note?
POST/api/v1/plugins/workflows/restoreVersionspaceId, environment?, id, version
POST/api/v1/plugins/workflows/runspaceId, environment?, id
POST/api/v1/plugins/workflows/runHistoryspaceId, environment?, id, status?, test?, pagination?
POST/api/v1/plugins/workflows/runNowspaceId, environment?, id, contentId?, input?, payload?, headers?
POST/api/v1/plugins/workflows/setEnabledspaceId, environment?, id, enabled
POST/api/v1/plugins/workflows/startspaceId, environment?, id, input?
POST/api/v1/plugins/workflows/updatespaceId, environment?, enabled?, name, description?, trigger, abortTriggers?, nodes, edges, publish?, note?, id
POST/api/v1/plugins/workflows/versionspaceId, environment?, id, version
POST/api/v1/plugins/workflows/versionsspaceId, environment?, id, pagination?

webhooks

MethodPathInputSummary
POST/api/v1/plugins/webhooks/createspaceId, environment?, direction, name, slug?, description?, url?, events?, headers?, methods?, auth?, enabled?
POST/api/v1/plugins/webhooks/deletespaceId, environment?, id
POST/api/v1/plugins/webhooks/deliveriesspaceId, environment?, id, pagination?
POST/api/v1/plugins/webhooks/getspaceId, environment?, id
POST/api/v1/plugins/webhooks/listspaceId, environment?, direction?, pagination?
POST/api/v1/plugins/webhooks/retryspaceId, environment?, id, deliveryId
POST/api/v1/plugins/webhooks/setEnabledspaceId, environment?, id, enabled
POST/api/v1/plugins/webhooks/testspaceId, environment?, id
POST/api/v1/plugins/webhooks/updatespaceId, environment?, direction, name, slug?, description?, url?, events?, headers?, methods?, auth?, enabled?, id

ai

MethodPathInputSummary
POST/api/v1/plugins/ai/availablespaceId, environment?
POST/api/v1/plugins/ai/catalog
POST/api/v1/plugins/ai/copyProvidersspaceId, environment?, fromSpaceId
POST/api/v1/plugins/ai/deleteProviderspaceId, environment?, kind
POST/api/v1/plugins/ai/designContentTypesspaceId, environment?, providerKind?, model?, prompt, icons?, scope?, forNewSpace?
POST/api/v1/plugins/ai/designTemplatespaceId, environment?, providerKind?, model?, prompt, icons?, locale?
POST/api/v1/plugins/ai/generateDocumentspaceId, environment?, providerKind?, model?, prompt, styles?, length?, context?, contentTypeId, locale?, blockTypes?, images?, audience?, keywords?
POST/api/v1/plugins/ai/generateMediaspaceId, environment?, providerKind?, model?, prompt, styles?, length?, context?, capability
POST/api/v1/plugins/ai/generateTextspaceId, environment?, providerKind?, model?, prompt, styles?, length?, context?
POST/api/v1/plugins/ai/generationspaceId, environment?, id
POST/api/v1/plugins/ai/generationsspaceId, environment?, pagination?
POST/api/v1/plugins/ai/providersspaceId, environment?
POST/api/v1/plugins/ai/saveProviderspaceId, environment?, kind, slug?, label?, enabled?, apiKey?, models?, systemPrompt?, defaults?, config?
POST/api/v1/plugins/ai/saveSettingsspaceId, environment?, lengths
POST/api/v1/plugins/ai/settingsspaceId, environment?
POST/api/v1/plugins/ai/testProviderspaceId, environment?, kind

website

MethodPathInputSummary
POST/api/v1/plugins/website/design/aiBlockDesignspaceId, environment?, providerKind?, model?, prompt, typeId
POST/api/v1/plugins/website/design/aiThemespaceId, environment?, providerKind?, model?, prompt, brandColor?
POST/api/v1/plugins/website/design/applyStarterspaceId, environment?, id, replace?, preset?
POST/api/v1/plugins/website/design/createShareLinkspaceId, environment?, contentId?, expiresInSeconds?
POST/api/v1/plugins/website/design/deletespaceId, environment?, id
POST/api/v1/plugins/website/design/discardDraftspaceId, environment?, id
POST/api/v1/plugins/website/design/exportThemespaceId, environment?, variant?
POST/api/v1/plugins/website/design/getspaceId, environment?, kind, key
POST/api/v1/plugins/website/design/importGoogleFontspaceId, environment?, family, variants, fallback?
POST/api/v1/plugins/website/design/importThemespaceId, environment?, bundle?, replace?, skip?
POST/api/v1/plugins/website/design/listspaceId, environment?
POST/api/v1/plugins/website/design/previewThemeImportspaceId, environment?, bundle?, replace?, skip?
POST/api/v1/plugins/website/design/publishspaceId, environment?, id
POST/api/v1/plugins/website/design/publishAllspaceId, environment?
POST/api/v1/plugins/website/design/restorespaceId, environment?, id, versionId
POST/api/v1/plugins/website/design/saveDraftspaceId, environment?, kind, key, name?, draft?, expectedVersion?
POST/api/v1/plugins/website/design/starterThemesspaceId, environment?
POST/api/v1/plugins/website/design/versionspaceId, environment?, id, versionId
POST/api/v1/plugins/website/design/versionsspaceId, environment?, id
POST/api/v1/plugins/website/domains/createspaceId, environment?, hostname, locale?, isPrimary?, redirectToPrimary?
POST/api/v1/plugins/website/domains/deletespaceId, environment?, id
POST/api/v1/plugins/website/domains/listspaceId, environment?
POST/api/v1/plugins/website/domains/updatespaceId, environment?, id, hostname?, locale?, isPrimary?, redirectToPrimary?
POST/api/v1/plugins/website/domains/verifyspaceId, environment?, id
POST/api/v1/plugins/website/settings/getspaceId, environment?
POST/api/v1/plugins/website/settings/setspaceId, environment?, mode?, localeStrategy?, notFoundContentId?, password?