This documentation is currently under development. Certain sections are not yet complete and will be added shortly.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tenant

List tenant directory entries with status and purpose.

get
/api/tenants

Authorization: Global Administrator role required.

Pagination: If results exceed max page size, X-continuationToken header contains token for next page.

Response Fields: tenantId, status, purpose.

Use Cases: Tenant directory; system-wide operations; migration tools; admin dashboards.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Responses
200

Tenant directory entries returned.

tenantIdstringRequired
statusstring · enumOptionalPossible values:
purposestring · enumOptionalPossible values:
get/api/tenants

Download tenant configuration as ZIP archive.

get
/api/tenants/{tenantId}

Authorization: Requires TenantConfiguration.Read scope.

File Selection: Omit files parameter for complete backup; specify files for partial backup.

Versioning: Omit datetime for latest version; specify for point-in-time snapshot.

Archive Naming: {datetime}-{partial-}tenantId.fctwc (e.g., 20240115-093045-mystore.fctwc or 20240115-093045-partial-mystore.fctwc).

Use Cases: Backup, disaster recovery, configuration comparison, audit, environment synchronization.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Query parameters
filesstring[]Optional

Get only a subset of configuration. Don't specify any file to get all the configuration

datetimestring · date-timeOptional

Date when to retrieve the configuration. If null or omitted, latest version would be returned

Responses
200

Configuration archive returned.

No content

get/api/tenants/{tenantId}

No content

Create or update tenant configuration files.

post
/api/tenants/{tenantId}

Authorization: Requires TenantConfiguration.Write scope.

Full Replacement: All configured files overwritten. Missing files deleted.

Force: Set force=true to save despite validation errors.

Input: Multipart form with ZIP containing all config files.

Use Cases: Full config deployment; environment promotion; disaster recovery restore.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Query parameters
forcebooleanOptional

force save even if there is any errors

Body
filestring · binaryOptional

A zip file containing all configuration file

Responses
200

Tenant configuration created or updated.

Version information related to a tenant configuration

versionstringRead-onlyOptional

Version of the configuration

appliedMigrationsstring[]Optional
post/api/tenants/{tenantId}

Create a new tenant with configuration files.

put
/api/tenants/{tenantId}

Authorization: Requires TenantConfiguration.Write scope.

Conflict: Returns 409 if tenant already exists.

Force: Set force=true to save despite validation errors (use with caution).

Use Cases: New tenant provisioning; initial deployment; tenant migration.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Query parameters
forcebooleanOptional

force save even if there is any errors

Body
filestring · binaryOptional

A zip file containing all configuration file

Responses
200

Tenant created with configuration.

Version information related to a tenant configuration

versionstringRead-onlyOptional

Version of the configuration

appliedMigrationsstring[]Optional
put/api/tenants/{tenantId}

Delete tenant configuration files.

delete
/api/tenants/{tenantId}

Authorization: Global Administrator role required.

Operation: Removes all config files for tenant.

Use Cases: Tenant deprovisioning; cleanup; environment removal.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Responses
204

Tenant configuration deleted.

No content

delete/api/tenants/{tenantId}

No content

Partially update tenant configuration files.

patch
/api/tenants/{tenantId}

Authorization: Requires TenantConfiguration.Write scope.

Partial Update: Only included files updated/removed. Other files unchanged.

Empty Files: Empty file in ZIP = removal from config.

Force: Set force=true to save despite validation errors.

Use Cases: Targeted config changes; single-file updates; incremental deployments.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Query parameters
forcebooleanOptional

force save even if there is any errors

Body
filestring · binaryOptional

A zip containing the files to modify. If a zip contains an empty file it will be removed from the configuration.

Responses
200

Tenant configuration partially updated.

Version information related to a tenant configuration

versionstringRead-onlyOptional

Version of the configuration

appliedMigrationsstring[]Optional
patch/api/tenants/{tenantId}

Get merged configuration for a tenant layout.

get
/api/tenants/{tenantId}/{layoutId}

Merging: Loads base configuration and merges with layout-specific settings. Layout settings take precedence. Applies registered configuration modifiers.

Layouts: Different UI/UX configurations�web (desktop), mobile (native app), kiosk (in-store), pos (point-of-sale).

Use Cases: App initialization; feature flags; themes; layout-specific rules.

Path parameters
tenantIdstringRequired

Identifier of the tenant

layoutIdstringRequired

Identifier of the layout

Responses
200

Merged layout configuration returned.

anyOptional
get/api/tenants/{tenantId}/{layoutId}

No content

Get tenant configuration change history.

get
/api/tenants/{tenantId}/config/history

Authorization: Requires TenantConfiguration.Read scope.

Version Source: Uses blob version history from .version to reconstruct configuration changes.

Filtering: Use files (supports wildcard *) to keep only changes impacting specific files.

Pagination: offset and limit support numeric pagination.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Query parameters
filesstring[]Optional

Optional file filter. Supports wildcard (*).

offsetinteger · int32Optional

Number of history entries to skip.

Default: 0
limitinteger · int32Optional

Maximum number of history entries to return.

Default: 50
Responses
200

History returned.

offsetinteger · int32Optional
limitinteger · int32Optional
totalinteger · int32Optional
get/api/tenants/{tenantId}/config/history

Validate tenant configuration.

get
/api/tenants/{tenantId}/test

Validation: YAML syntax, schemas, required fields, integration settings, resource references, business rule consistency.

Auth: Optional admin auth. Unauthenticated get basic success/failure. Authenticated get detailed errors.

Use Cases: Pre-deployment validation; troubleshooting; CI/CD checks; manual verification.

Required scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired

Identifier of the tenant

Responses
200

Configuration valid.

No content

get/api/tenants/{tenantId}/test

No content

Last updated