Overview
Workspaces represent physical locations, branches, or departments within your organization. Each workspace can have its own:- Inventory levels
- Users and permissions
- Sales and operational data
- Preferred document settings
Workspace Object
Unique identifier for the workspace
Workspace name (e.g., “Main Store”, “Warehouse”, “Branch 2”)
User ID of the workspace owner
Creation timestamp
Last update timestamp
Array of users who have access to this workspace
Workspace owner details
List Workspaces
Retrieve all workspaces the authenticated user has access to.Response
Example
Users only see workspaces they have access to. Users with the
view_all_locations permission can see all workspaces in the tenant.Create Workspace
Create a new workspace.Request Body
Workspace name (must be unique within the tenant)
Response
Example
When you create a workspace, you automatically become its owner and are added as a member. The workspace becomes your current active workspace.
Update Workspace
Update workspace details.Path Parameters
Workspace ID
Request Body
New workspace name
Response
Switch Workspace Context
Switch your current active workspace. This affects which workspace is used by default for subsequent operations.Path Parameters
Workspace ID to switch to
Response
Example
Switching workspace context updates your user’s
current_workspace_id. All subsequent requests will use this workspace by default unless you specify a different one with the X-Workspace-ID header.Clear Workspace Context
Clear the current workspace context (useful for operations that don’t require a specific workspace).Path Parameters
Workspace ID
Response
Workspace Members
List Members
Retrieve all members of the current workspace.Response
Update Member Role
Update a workspace member’s role.Request Body
Role name:
admin, member, viewer, or custom roleResponse
Remove Member
Remove a user from the workspace.Response
Workspace Invitations
Send Invitation
Invite a user to join the workspace.Request Body
Email address of the user to invite
Role to assign to the invited user
Response
The invited user will receive an email with a link to accept the invitation. The invitation expires after 7 days.
Workspace Roles
List Roles
Retrieve all roles available in the workspace.Response
Create Custom Role
Create a custom role for the workspace.Request Body
Role name (unique, alphanumeric with underscores)
Human-readable role name
Array of permission identifiers
Response
Update Role
Update a custom role’s permissions.Delete Role
Delete a custom role. Users assigned to this role will need to be reassigned.Workspace Settings
Set Preferred Document Subtype
Set the preferred document subtype (NCF sequence) for a workspace.Response
Multi-Workspace Operations
When working with multiple workspaces:- Default Context: Operations use your
current_workspace_idby default - Override Context: Use the
X-Workspace-IDheader to specify a different workspace - Permission Check: You must have access to the specified workspace
Example: Create Invoice in Specific Workspace
Stock levels, invoices, and contacts are automatically scoped to the workspace context. You cannot access another workspace’s resources without proper permissions.
Related Resources
Inventory
Workspace-specific stock levels
Users
Manage workspace members and roles
Permissions
Configure role-based access control