> ## 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, set their roles and credit limits, 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:

* List your members and pending invitations, with each person's role and credit use.
* Change members' roles, or remove members, one at a time or up to 200 at once.
* Set a monthly credit limit for each member, and a default for everyone without one.
* 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 to change anything. Any member except a guest can list members, and editors can also list groups and their members.

<Warning>
  **What needs an Enterprise plan (Business or Enterprise):**

  * Member credit limits.
  * Giving someone the `admin` role.
  * Creating groups, changing them, and adding members to them. Deleting a group and removing its members work on any plan, so you can take groups apart after a downgrade.

  See [managing enterprise workspace members and groups](/Enterprise/managing-enterprise-members).
</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 role that comes from a group can only be changed at the group, with [Update workspace group](/api-reference/update-workspace-group). [Update workspace member role](/api-reference/update-workspace-member-role) changes only roles set on the member directly.

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 |
| - | - |
| [List workspace members](/api-reference/list-workspace-members) | 30 req/min |
| Endpoints that change one member: roles, removal, credit limits, and the default credit limit, together | 30 req/min |
| Endpoints that change members in bulk, together | 5 req/min |
| 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.