---
title: "List collaborators"
method: GET
path: "/api/apps/{app_id}/users/collaborators"
---

# List collaborators

`GET /api/apps/{app_id}/users/collaborators`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/users/collaborators`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the people who can edit the app in Base44, owner first, then everyone else by email. Invite more with [Invite app users](/api-reference/invite-app-users) and `collaborator_role` set to `editor`. The list isn't paginated.

Guests in the app's workspace can't list collaborators. Base44 staff who can edit the app are left out, unless they own it or are a guest in its workspace.

This is limited to 60 requests per minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. List collaborators and Remove collaborator share it. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app, including a read-only key. Workspace API keys are not accepted.</Note>

## Path parameters

- `app_id` string, required: ID of the app whose collaborators to list.

## Response `200`

The app's collaborators, owner first.

- CollaboratorResponse[]: The app's collaborators.
  - `id` string, required: ID of the collaborator. Pass it to [Remove collaborator](/api-reference/remove-collaborator). The owner's entry can have the ID `owner`, which isn't a real ID.
  - `email` string, required: Email of the collaborator.
  - `full_name` string, nullable: Full name of the collaborator, or `null` if none is set.
  - `profile_image_url` string, nullable: URL of the collaborator's Base44 profile image, or `null` if they don't have one.
  - `profile_slug` string, nullable: Slug of the collaborator's public Base44 builder profile, or `null` if they don't have one.
  - `is_owner` boolean: Whether the collaborator owns the app.
  - `is_pending` boolean: Whether the collaborator was invited but hasn't opened the app in Base44 yet.
  - `is_guest` boolean: Whether the collaborator is a guest in the app's workspace rather than a member.
  - `collaborator_source` 'workspace', nullable: `workspace` when the collaborator joined because the app is open to everyone in its workspace, or `null` when they were invited.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: You don't have editor access to this app, you're a guest in the app's workspace, the app is blocked, or you used a workspace API key.
- `404`: App not found.
- `429`: Rate limit exceeded. The base limit is 60 requests per minute. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-06** `9a0e9d0827a1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/users/collaborators/get.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
