Generated at build
Reference
Generated from the gateway's OpenAPI document at every build. Do not edit it here: edit the description on the route.
Field descriptions, schemas and error codes are in the document itself: /v1/openapi.json. A hand written reference stops being true at the first change.
120 routes, generated at build.
GET
/accesseslist_accessesList the accesses in this workspace.
POST
/accessesgrant_accessGrant a person access to a portal, sending the invitation.
DELETE
/accesses/{accessId}revoke_accessRevoke an access. Soft: the row is kept for the audit trail.
GET
/accesses/{accessId}get_accessRead one access.
PATCH
/accesses/{accessId}update_accessChange an access's organization, roles, groups or suspend it.
PUT
/accesses/{accessId}/data-scopessave_access_data_scopesNarrow what this access may see, beyond its roles.
GET
/accesses/{accessId}/diagnosticsget_access_diagnosticsWhat will this person actually see, app by app, and why not?
POST
/accesses/{accessId}/impersonatestart_impersonationOpen the portal as this person, to see exactly what they see.
POST
/accesses/{accessId}/resend-inviteresend_access_inviteSend the invitation again, reviving a revoked or suspended access.
GET
/address-appslist_address_appsThe apps this workspace has defined from an address.
POST
/address-appscreate_address_appDefine an app whose content is a page from a tool you already use.
DELETE
/address-apps/{appKey}delete_address_appDelete an address app, its addresses and its placements.
GET
/address-apps/{appKey}get_address_appRead one address app.
PATCH
/address-apps/{appKey}update_address_appChange an address app's name, icon or frame.
DELETE
/address-apps/{appKey}/addresses/{organizationId}clear_organization_addressRemove one organization's address.
PUT
/address-apps/{appKey}/addresses/{organizationId}set_organization_addressSet the address one organization sees in a per-organization app.
PUT
/address-apps/{appKey}/shared-addressset_shared_addressSet the one address a shared address app shows to everyone.
GET
/address-checkscheck_addressCan this address be used as an app, and can it be shown in a frame?
GET
/api-keyslist_api_keysList the API keys of this workspace.
POST
/api-keyscreate_api_keyMint a new API key. The token is returned once and never again.
DELETE
/api-keys/{apiKeyId}revoke_api_keyRevoke a key. Takes effect on the next request, with no grace period.
POST
/api-keys/{apiKeyId}/rotaterotate_api_keyReplace a key, leaving the old one usable for 24 hours.
GET
/app-installationslist_app_installationsThe apps installed in this workspace and where they are activated.
DELETE
/app-installations/{appKey}uninstall_appUninstall an app, removing its widgets from every page.
GET
/app-installations/{appKey}get_app_installationRead one installation.
PUT
/app-installations/{appKey}install_appInstall an app in the workspace. Idempotent.
PUT
/app-installations/{appKey}/configsave_app_install_configSave the workspace-wide app config (layer 2).
GET
/app-installations/{appKey}/connectionget_app_connectionWhich connection does this app read through, and is it healthy?
GET
/app-installations/{appKey}/scope-axisget_app_scope_axisHow this app finds the signed-in user's data.
PUT
/app-installations/{appKey}/scope-axissave_app_scope_axisChoose the scope axis for an app.
GET
/audit-eventslist_audit_eventsRead the audit trail. Append only, never writable.
GET
/brandslist_brandsList the brands of this workspace.
POST
/brandscreate_brandCreate a brand. The slug is derived from the name unless given.
DELETE
/brands/{brandRef}delete_brandDelete a brand that has no portals and no domains.
GET
/brands/{brandRef}get_brandRead one brand by id or slug.
PATCH
/brands/{brandRef}update_brandChange a brand's name, sender domain or logo assets.
GET
/brands/{brandRef}/themeget_brand_themeRead the active theme tokens of a brand.
PUT
/brands/{brandRef}/themesave_brand_themeSave theme tokens. Creates a new version and activates it.
GET
/brands/{brandRef}/theme/versionslist_theme_versionsRead the theme history of a brand, newest first.
POST
/brands/{brandRef}/theme/versions/{version}/activateactivate_theme_versionRoll the brand back to an earlier theme version.
GET
/catalog/appslist_catalog_appsEverything this workspace can install, with full manifests.
GET
/catalog/apps/{appKey}get_catalog_appRead one app's manifest.
GET
/catalog/apps/{appKey}/widgets/{widgetKey}get_catalog_widgetRead one widget's manifest, schema and defaults.
GET
/connectionslist_connectionsThe connections to source systems. Never returns credentials.
DELETE
/connections/{provider}delete_connectionDisconnect a provider. Hard delete, not a soft disable.
GET
/connections/{provider}get_connectionRead one connection by provider.
PUT
/connections/{provider}save_connectionRegister or replace the credential for a provider. Idempotent.
POST
/connections/{provider}/health-checkcheck_connection_healthVerify the credential against the source system, and store the result.
GET
/connections/{provider}/objectslist_connection_objectsList records in the source system, to map an organization against.
GET
/connectorslist_connectorsWhich source systems the platform can talk to, and how they scope data.
GET
/domainslist_domainsList the domains of this workspace.
POST
/domainscreate_domainPoint a hostname at a portal, or at a brand's default portal.
DELETE
/domains/{domainRef}delete_domainRemove a domain.
GET
/domains/{domainRef}get_domainRead one domain by id or hostname.
PATCH
/domains/{domainRef}update_domainRepoint a domain, or make it the brand's primary one.
GET
/groupslist_groupsList groups. Their permissions are unioned into effective access.
POST
/groupscreate_groupCreate a group.
DELETE
/groups/{groupRef}delete_groupDelete an unused group.
PATCH
/groups/{groupRef}update_groupChange a group's name or permissions.
GET
/impersonation-sessionslist_impersonation_sessionsThe impersonation log: who looked at whose data, when, and for how long.
POST
/impersonation-sessions/{sessionId}/endend_impersonation_sessionEnd a live impersonation session before it expires.
GET
/memberslist_membersList the operators who may work in this workspace.
POST
/membersinvite_memberInvite a colleague as an operator of this workspace.
DELETE
/members/{userId}revoke_memberRevoke an operator's access. Soft, so the audit trail stays readable.
PATCH
/members/{userId}update_member_roleChange an operator's role.
POST
/members/{userId}/reinstatereinstate_memberGive a revoked colleague their operator access back.
GET
/metaget_metaIdentify the workspace this credential resolves to, and what it may do.
GET
/organizationslist_organizationsList organizations, with their mappings to the source systems.
POST
/organizationscreate_organizationCreate an organization to scope accesses by.
DELETE
/organizations/{orgRef}delete_organizationDelete an organization that has no active accesses.
GET
/organizations/{orgRef}get_organizationRead one organization.
PATCH
/organizations/{orgRef}update_organizationChange an organization's name, match keys, kind or parent.
GET
/organizations/{orgRef}/linkslist_organization_linksRead an organization's mappings, keyed by namespace.
DELETE
/organizations/{orgRef}/links/{namespace}delete_organization_linkRemove an organization's mapping in one namespace.
PUT
/organizations/{orgRef}/links/{namespace}save_organization_linkMap an organization to a record in a source system.
GET
/personaslist_personasList the personas an access can be granted as.
POST
/personascreate_personaCreate a persona.
DELETE
/personas/{personaRef}delete_personaDelete an unused persona.
PATCH
/personas/{personaRef}update_personaRename a persona.
GET
/personslist_personsList the people known in this workspace. Read only.
GET
/portalslist_portalsList the portals of this workspace.
POST
/portalscreate_portalCreate a portal. It starts offline with a preview token.
DELETE
/portals/{portalRef}delete_portalDelete a portal and everything in it.
GET
/portals/{portalRef}get_portalRead one portal by id or slug.
PATCH
/portals/{portalRef}update_portalChange a portal's name, kind or default persona.
GET
/portals/{portalRef}/appslist_portal_appsWhich apps are activated in this portal, and are they healthy?
DELETE
/portals/{portalRef}/apps/{appKey}deactivate_app_in_portalDeactivate an app in a portal, removing its widgets from that portal's pages.
PUT
/portals/{portalRef}/apps/{appKey}activate_app_in_portalActivate an app in a portal, and configure it in the same call. Idempotent.
PUT
/portals/{portalRef}/apps/{appKey}/configsave_portal_app_configSave the per-portal app config (layer 3).
POST
/portals/{portalRef}/archivearchive_portalMark the portal archived.
GET
/portals/{portalRef}/navigationget_portal_navigationRead the portal navigation, with an ETag for safe updates.
PUT
/portals/{portalRef}/navigationsave_portal_navigationReplace the portal navigation. Requires If-Match.
GET
/portals/{portalRef}/pageslist_pagesList the pages of a portal.
POST
/portals/{portalRef}/pagescreate_pageCreate an empty page, optionally adding it to the navigation.
DELETE
/portals/{portalRef}/pages/{pageRef}delete_pageDelete a page and the widget instances on it.
GET
/portals/{portalRef}/pages/{pageRef}get_pageRead a page with its normalized blocks and an ETag.
PATCH
/portals/{portalRef}/pages/{pageRef}update_pageRename a page, or change its slug and order.
GET
/portals/{portalRef}/pages/{pageRef}/blocksget_page_blocksRead just the normalized blocks of a page, with an ETag.
POST
/portals/{portalRef}/pages/{pageRef}/blocks/reorderreorder_page_blocksReorder the blocks of a page.
POST
/portals/{portalRef}/pages/{pageRef}/content-blocksadd_content_blockAdd a heading, rich text or widget grid block.
DELETE
/portals/{portalRef}/pages/{pageRef}/content-blocks/{blockId}delete_content_blockRemove a block from a page.
PATCH
/portals/{portalRef}/pages/{pageRef}/content-blocks/{blockId}update_content_blockChange a content block's props, or move it.
PUT
/portals/{portalRef}/pages/{pageRef}/layoutsave_page_layoutReplace a page's whole layout. Requires If-Match. Strict.
GET
/portals/{portalRef}/pages/{pageRef}/paletteget_page_paletteWhat can be placed on this page, and will it actually work?
POST
/portals/{portalRef}/pages/{pageRef}/widgetsplace_widgetsPlace one or more app widgets on a page.
DELETE
/portals/{portalRef}/pages/{pageRef}/widgets/{widgetInstanceId}delete_widgetRemove a placed widget from a page.
PATCH
/portals/{portalRef}/pages/{pageRef}/widgets/{widgetInstanceId}update_widgetChange a placed widget's config or move it.
GET
/portals/{portalRef}/previewget_portal_previewRead the preview URL and its token.
POST
/portals/{portalRef}/preview/rotaterotate_portal_previewIssue a new preview token, invalidating the old one.
POST
/portals/{portalRef}/publishpublish_portalTake the portal live. Idempotent, and safe to retry.
GET
/portals/{portalRef}/readinessget_portal_readinessCheck whether the portal can go live, and what is missing.
GET
/portals/{portalRef}/theme-overridesget_portal_theme_overridesRead the portal's overrides of its brand theme.
PUT
/portals/{portalRef}/theme-overridessave_portal_theme_overridesOverride up to four brand tokens for this portal.
POST
/portals/{portalRef}/unpublishunpublish_portalTake the portal offline. Idempotent.
GET
/roleslist_rolesList the roles and the permissions they carry.
POST
/rolescreate_roleCreate a role from permission keys.
DELETE
/roles/{roleRef}delete_roleDelete an unused, non-built-in role.
PATCH
/roles/{roleRef}update_roleChange a role's name or permissions.
GET
/vocabularyget_vocabularyEvery value you would otherwise have to guess, resolved for this workspace.
GET
/workspaceget_workspaceRead the workspace this credential belongs to.