Manage Organization Layout

Each entity or item within the organization model can be defined and changed individually through their related entity endpoint. To learn all available entity endpoints, see the endpoints for entities in the API reference.

Some entities can be managed through their related api endpoint using a declarative interface. To learn which entities are available in the declarative interface, see the endpoints for layout in the API reference.

Organization Layout API Endpoint

To manage every type of entity at once for the whole organization, use the following API endpoint:

  • /api/layout/organization

The following information is not returned when you call /api/layout/organization:

  • The secret token for the organization
  • Data Source passwords

You can PUT all entities available to the organization with the following restrictions:

  • The organization secret token must be specified before you can PUT back a retrieved document.
  • The password for a Data Source must be specified or the username must be removed.

Examples

To see the entire API specification, see the API Reference.

First, be aware of your application endpoint. For Helm Chart deployment, it represents the https:// value. For the All-in-One docker image, the default endpoint is http://localhost:3000.

In the following examples the endpoint is substituted by $ENDPOINT variable;

Retrieve the Organization Layout

The following example returns all the entities associated with the organization that is specified in the hostname of the call and saves the output to organization-layout.json:

curl -H "Authorization: Bearer YWRtaW46Ym9vdHN0cmFwOmFkbWluMTIz" \
  $ENDPOINT/api/layout/organization > organization-layout.json

Organization Layout Document Structure

The following example shows the contents of the output that is returned when you call the /api/layout/organization endpoint:

{
  "dataSources": [],
  "organization": {
    "hostname": "localhost",
    "name": "Good Organization",
    "id": "org1",
    "oauthClientId": "<clinet-id>",
    "oauthClientSecret": "<secret>",
    "oauthIssuerLocation": "https://oidc"
  },
  "users": [],
  "userGroups": [],
  "workspaceDataFilters": [],
  "workspaces": []
}

Restore or Modify the Organization Layout

The following example uses the saved output from a call to the /api/layout/organization endpoint to restore the organization to the state defined within the file:

curl -H "Authorization: Bearer YWRtaW46Ym9vdHN0cmFwOmFkbWluMTIz" \
  -H "Content-Type: application/json" \
  -X PUT \
  $ENDPOINT/api/layout/organization -d @organization-layout.json