> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Workspace API Overview

> Get started with the Base44 Workspace API

<Note>
  The Workspace API is in beta. Its endpoints and responses may change.
</Note>

The Workspace API lets you manage who's in your Base44 workspace from your own code. Invite people and organize them into groups from a script or an onboarding tool, instead of one at a time in your workspace settings.

Use the Workspace API to:

* Invite people to your workspace by email, one at a time or up to 50 at once.
* Resend pending invitations, including ones that expired.
* Create groups and choose the workspace role each group grants.
* Add and remove group members, up to 200 per request.
* List your groups and their members.

## Prerequisites

* A personal access token for the workspace, with **Full access**. See [Authentication](/developers/references/workspace-api/get-started/authentication) to get one.
* The owner or admin role in the workspace. Editors can list groups and their members, but can't change anything.

<Warning>
  Creating groups, changing them, and adding members to them need an Enterprise plan (Business or Enterprise). Deleting a group and removing its members work on any plan, so you can take groups apart after a downgrade. See [managing workspace groups](/Enterprise/managing-enterprise-members#managing-workspace-groups).
</Warning>

## Workspace ID

Every endpoint takes your workspace's ID in the `workspaceId` query parameter. Use the workspace your personal access token belongs to. A token for another workspace is refused.

**To get your workspace ID:**

1. Call [Get app](/api-reference/get-app) for any app in the workspace.
2. Copy `organization_id` from the response.

## Groups and roles

Every member of a group gets the group's role. Someone in several groups gets the highest of their roles, and a group with the `no_access` role blocks members who get their role only from it. When a member leaves their last group, they become a viewer, or get the workspace's SSO default role when SSO is set up.

A group's `source` tells you who manages it:

* `custom`: Created in Base44. You can rename it, change its role, and change its members.
* `idp`: Synced from your identity provider. Its name and members come from your identity provider, so you can change only its role and description. Its role applies only while the workspace uses identity-provider groups.

Only active members of the workspace can join a group. To add someone who isn't a member yet, invite them with [Invite workspace member](/api-reference/invite-workspace-member) and pass the group's `group_id`. They join the group when they accept.

## Rate limits

Limits are counted per workspace, and every personal access token for the workspace shares one allowance.

| Endpoints | Limit |
| - | - |
| All four invitation endpoints, together | 6 req/min |
| [List workspace groups](/api-reference/list-workspace-groups) and [List group members](/api-reference/list-group-members), together | 120 req/min |
| Endpoints that change groups or their members, together | 60 req/min |

Each invitation can also be resent 3 times every 10 minutes. If you exceed a limit, you get a `429 Too Many Requests` response. Wait before retrying.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.