On-premises API

The on-premises API feature provides a way to store workspace data behind your corporate firewall, or using servers anywhere on the Internet, by hosting a local version of the Structurizr API. To use this feature, you need to be subscribed to a paid plan.

A summary of the on-premises API feature

Upload an empty workspace to the cloud

To use an on-premises workspace, upload an empty workspace to the Structurizr cloud environment that additionally includes a reference to the URL of the on-premises API server that will ultimately store the workspace content. For example, with Java:

Workspace workspace = new Workspace("Name", "Description");
workspace.setApi("https://my-local-server");

StructurizrClient structurizrClient = new StructurizrClient("key", "secret");
structurizrClient.putWorkspace(1234, workspace);

Upload the workspace to your local API server

You then upload your real workspace data to your local installation of the on-premises API server.

Workspace workspace = new Workspace("Name", "Description");
// add people, software systems, containers and components
// add views
// add documentation

StructurizrClient structurizrClient = new StructurizrClient("https://my-local-server", "key", "secret");
structurizrClient.putWorkspace(1234, workspace);

Using an on-premises workspace

The diagrams, documentation and explorations are all implemented on the client-side using JavaScript, which is served from the Structurizr cloud environment. When opening diagrams, documentation or explorations, your web browser will retrieve the workspace content directly from the on-premises API server.

Data storage

The data associated with Structurizr is stored as follows.

Inside your corporate firewall

  • The full workspace content (the JSON representation of your workspace).

Structurizr cloud environment

  • User profile information (e-mail addresses, passwords, etc).
  • Workspace role information (the set of owners, read-write and read-only users).
  • Workspace metadata to support the dashboard (name, description, last updated timestamp and a low resolution thumbnail).

Workspace sharing

If you're subscribed to a Team or On-premises Plan, workspaces can be marked as private and shared with other Structurizr users as usual. Additionally, marking an on-premises workspace as public will allow only those people with access to the on-premises API server to view the workspace data. For example, if you install the on-premises API server behind your corporate firewall and mark the workspace as public, everybody within the boundaries of your corporate firewall will be able to access the workspace data through Structurizr, using the public URL, without authentication. Users who don't have access to your corporate network will see an empty workspace.

For more information

See the Structurizr API documentation for information about the software architecture, deployment and usage.