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

# Developer Portal

> Browse the Workspace and Platform APIs, try requests live, manage your API key, and download OpenAPI and Postman files.

## What is this?

The **Developer Portal** is a dedicated area for building on the platform's API. It lists every endpoint with its parameters, examples, and responses, lets you send a real test request right from the page, and is where you create and manage your **API key**.

The portal is generated from the live API, so it always matches what the platform actually supports. For a guide-style walkthrough of authentication, rate limits, and errors, see the [API tab](/api-reference/introduction).

\[SCREENSHOT: developer-portal-reference — The Developer Portal API Reference tab with the endpoint list, search box, and an endpoint's details]

<Info>
  You need the **API Access** permission to open the Developer Portal and to send test requests. Without it you'll see "You do not have access to the Developer Portal." Ask an admin to grant it. See [Team](/workspace/team).
</Info>

## What can I do here?

* Search and browse every API endpoint
* See each endpoint's required permission, rate limit, parameters, example code, example response, and status codes
* **Try it** — send a real request and see the live response
* Generate, regenerate, or revoke your API key
* Download the OpenAPI definition and a Postman collection

## How to use it

### Open the portal

Click your profile picture in the top-right corner and choose **Developer**. The portal has three tabs: **API Reference**, **API Keys**, and **OpenAPI / Postman**.

### Browse the API reference

1. On **API Reference**, choose **Workspace API**. Platform administrators also see **Platform API**.
2. Type in **Search APIs...** to find an endpoint, or pick one from the list.
3. Read the details:

   | Section              | What it shows                                                                                   |
   | -------------------- | ----------------------------------------------------------------------------------------------- |
   | **Authentication**   | The permission the endpoint needs                                                               |
   | **Rate limit**       | How many requests are allowed                                                                   |
   | **Parameters**       | Each parameter's name, type, whether it's required, and what it does                            |
   | **Code examples**    | Ready-to-copy examples in **cURL**, **fetch**, **Node**, and **Python**, with a **Copy** button |
   | **Example response** | What a successful reply looks like                                                              |
   | **Status codes**     | The codes the endpoint can return                                                               |

### Try a request

1. Select an endpoint and click **Try it**.
2. Choose the method (**GET** or **POST**, where both are offered) and fill in the parameters. Endpoints with no parameters say "No parameters - send directly."
3. Click **Send Request**.
4. Read the **Response** and **Response headers**. Use **Copy JSON** or **Copy raw** to copy the result.

<Warning>
  Test requests are real. Endpoints that send a WhatsApp message ask you to confirm first, because they send an actual message and may use messaging credits.
</Warning>

Test requests run as **you**, using your session, with the same permissions you have in the app. Your API key isn't used and is never exposed to the browser.

Some entries are documentation-only and can't be run from the portal.

### Manage your API key

1. Open the **API Keys** tab.
2. Click **Generate API Key** (or **Regenerate API Key** if you already have one).
3. **Copy the key immediately.** It's shown only once: "Save your API key now! This is the only time it is shown."
4. Click **Revoke** to disable the key.

The tab shows whether a key is **Active** or there is **No key**. Keys are stored securely and can't be viewed again — if you lose one, regenerate it. Regenerating replaces the old key, so update anything that uses it.

### Download OpenAPI and Postman files

Open **OpenAPI / Postman** and download:

* **OpenAPI JSON** or **OpenAPI YAML** — the machine-readable API definition
* **Postman collection**

To use the Postman collection:

1. In Postman, choose **Import** and select the downloaded file.
2. In the collection's **Variables** tab, set `base_url` to your platform's address and `api_key` to your key.
3. Send a request. The key is sent in the `X-API-Key` header on every call.

Downloaded collections never contain a real key — they use the `{{api_key}}` variable.

## Troubleshooting / Technical Notes

* **I don't see "Developer" in the profile menu.** You need the API Access permission. Ask an admin.
* **Try it is disabled.** Try it needs the API Access permission. You can still read the documentation.
* **"This entry is documentation-only."** That endpoint can't be run from the portal. Use the code example instead.
* **A request returns 401 or 403.** The request runs with your own permissions. Check you have the permission shown under **Authentication**.
* **My key stopped working.** It may have been revoked or regenerated. Generate a new one and update your apps.
* **I can't see the Platform API.** It's only shown to platform administrators.

## Related docs

* [API Introduction](/api-reference/introduction)
* [Authentication](/api-reference/authentication)
* [Rate Limits](/api-reference/rate-limits)
* [Integrations Overview](/workspace/integrations/overview)
* [Team](/workspace/team)
