Workspaces

A Workspace is a lightweight way to organize related resources inside a single Files.com Site.

Customers commonly group resources by project, department, client, or region. Workspaces provide a built-in structure for that grouping, so the UI can operate within a clear “workspace context” and admins can delegate management for a subset of resources without requiring full site-level isolation.

Every Site has an implicit Default workspace (ID 0). Resources that are not explicitly assigned to a named workspace are considered part of the Default workspace.

List Workspaces

SDK Method

Workspace.list()

Return Object

Workspace[]

Authorization Requirement

Available to all authenticated keys or sessions.

Additional Arguments

Example Request

import Workspace from 'files.com/lib/models/Workspace';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const workspaces = await Workspace.list();
  for (const workspace of workspaces) {
    // Operate on workspace
  }
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Show Workspace

SDK Method

Workspace.find()

Return Object

Workspace

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
id
int64
Required
Workspace ID.

Example Request

import Workspace from 'files.com/lib/models/Workspace';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const workspace = await Workspace.find(id);
  // Operate on workspace
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Create Workspace

SDK Method

Workspace.create()

Return Object

Workspace

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
name
string
Workspace name

Example Request

import Workspace from 'files.com/lib/models/Workspace';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const workspace = await Workspace.create({
    name: "Project Alpha",
  });
  // Operate on workspace
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Update Workspace

SDK Method

workspace.update()

Return Object

Workspace

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
name
string
Workspace name

Example Request

import Workspace from 'files.com/lib/models/Workspace';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the workspace object by its id.
  const workspace = await Workspace.find(id);
  await workspace.update({
    name: "Project Alpha",
  });
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Delete Workspace

SDK Method

workspace.delete()

Return Object

No return value.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Example Request

import Workspace from 'files.com/lib/models/Workspace';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the workspace object by its id.
  const workspace = await Workspace.find(id);
  await workspace.delete();
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

The Workspace Object

Some of the methods above return a Workspace object. The attributes of this object are listed below.

AttributeDescription
id
int64
Workspace ID
name
string
Workspace name