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

# Quickstart

> End-to-end SailPoint-style integration in three steps

<sup>Questions or issues? Contact us at [api-support@manus.ai](mailto:api-support@manus.ai).</sup>

This walkthrough creates a credential, mints an OAuth access token, and lists team members. **Prerequisites:** your team is an Enterprise Team and your account has the **Owner** or **Admin** role.

## Step 1 — Create an API credential

Credential management RPCs require a **session token**, not an OAuth token. Open Manus in your browser, then in DevTools → **Network** copy the `Bearer ...` value from the `Authorization` header on any `UserInfo` request.

```bash theme={null}
curl --location --request POST 'https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential' \
  --header 'Authorization: Bearer <your-session-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "SailPoint Production"
  }'
```

The response includes `clientId` and `clientSecret`. **The secret is shown only once** — store it in a secrets manager immediately.

```json theme={null}
{
  "clientId": "tm_RRa7dgjD_AFhru6AnZJ8W",
  "clientSecret": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
}
```

## Step 2 — Mint an OAuth access token

```bash theme={null}
curl --location --request POST 'https://api.manus.im/api/user/manage/v1/oauth/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'client_id=tm_RRa7dgjD_AFhru6AnZJ8W' \
  --data-urlencode 'client_secret=<your-client-secret>'
```

The response carries an `access_token` valid for 3600 seconds:

```json theme={null}
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}
```

Cache it and reuse for the full hour — minting a fresh token on every request will hit rate limits.

## Step 3 — Call a users endpoint

```bash theme={null}
curl --location --request GET 'https://api.manus.im/api/user/manage/v1/users?limit=100&offset=0' \
  --header 'Authorization: Bearer <your-access-token>'
```

```json theme={null}
{
  "users": [
    {
      "email": "alice@example.com",
      "userName": "Alice",
      "firstName": "Alice",
      "lastName": "Smith",
      "status": "active",
      "role": "member"
    }
  ],
  "total": 50,
  "limit": 100,
  "offset": 0
}
```

From here you can:

* [Add a member](/enterprise/v1/users.create) — `POST /api/user/manage/v1/users`
* [Disable a member](/enterprise/v1/users.update) — `PATCH /api/user/manage/v1/users/{email}` with `{"status":"inactive"}`
* [Look up a single member](/enterprise/v1/users.detail) — `GET /api/user/manage/v1/users/{email}`

## Considering v2?

[v2 of this API](/enterprise/v2/user-management-overview) replaces session-token credential management with the standard `X-API-Key` flow (issued from Compliance API settings, no DevTools step) and adds the Profile Migration workflow for taking over a deactivated colleague's data. Prefer v2 for new integrations.
