---
title: "How to generate an API token in Requiply"
description: "Admins create API tokens, called API keys, under Settings → Organization → API keys: a secret key for servers or a publishable key for websites."
canonical_url: "https://requiply.com/docs/en/developers/how-to-generate-an-api-token"
---
# How to generate an API token in Requiply

> Admins create API tokens, called API keys, under Settings → Organization → API keys: a secret key for servers or a publishable key for websites.

<quick-answer>

Open **Settings → Organization → API keys**, click **Create key**, enter a name, choose **Secret** for server code or **Publishable** for a website, click **Create key**, and copy the key from **Save this key now**. Only Admins see the page, and the full key is shown once.

</quick-answer>

Requiply calls API tokens **API keys**. A key lets the [TypeScript SDK](https://requiply.com/docs/en/developers/how-to-start-using-the-sdk), the [REST API](https://requiply.com/docs/en/developers/api-reference), or your own AI agent work with your organization's data. Every key belongs to the organization, not to a person, so it keeps working when a team member leaves.

## 1. Open API keys

<figure>

![The API keys page with four numbered highlights: API keys in the organization settings menu, the Create key button, the Key column with masked keys, and the Actions column with the rename and revoke icons](https://requiply.com/docs/assets/developers/api-token/api-keys-page.png)<figcaption>

**Settings → Organization → API keys**.

</figcaption>
</figure>

1. **API keys** in the settings menu, or open [app.requiply.com/settings/org/api-keys](https://app.requiply.com/settings/org/api-keys).
2. **Create key** opens the form.
3. **Key**: each existing key, masked to its prefix and last four characters.
4. **Actions**: the pencil renames a key, the ban icon revokes it.

Don't see the page? It is only shown to members with the **Admin** role.

## 2. Name the key and choose its type

<figure>

![The Create API key dialog with three numbered highlights: the Name field filled with Booking website, the Type choice with Publishable and Secret, Secret selected, and the Create key button](https://requiply.com/docs/assets/developers/api-token/create-key-dialog.png)<figcaption>

The **Create API key** dialog.

</figcaption>
</figure>

1. **Name**: where the key is used, for example *Booking website* or *Accounting sync*.
2. **Type**: **Secret** for server code, **Publishable** for a website or app that runs in the browser.
3. **Create key**.

<table>
<thead>
  <tr>
    <th>
      Type
    </th>
    
    <th>
      Starts with
    </th>
    
    <th>
      Use it for
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Secret
      </strong>
    </td>
    
    <td>
      <code>
        rq_sk_
      </code>
    </td>
    
    <td>
      Servers, scripts, and back-office integrations. Full access to the organization's bookings, clients, sales, and reports.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Publishable
      </strong>
    </td>
    
    <td>
      <code>
        rq_pk_
      </code>
    </td>
    
    <td>
      Storefronts and widgets. Reads the catalog, prices quotes, and sends booking requests that staff approve.
    </td>
  </tr>
</tbody>
</table>

The full comparison is in [Choosing the key type](https://requiply.com/docs/en/developers/authentication-and-api-keys#choosing-the-key-type).

## 3. Copy the key and store it

<figure>

![The Save this key now dialog with a warning that the full key is shown only once, and two numbered highlights: the full secret key and the Copy button](https://requiply.com/docs/assets/developers/api-token/save-key-dialog.png)<figcaption>

The only time the full key is shown.

</figcaption>
</figure>

1. The full key.
2. **Copy**, then click **Done**.

Put a secret key in an environment variable on your server, never in browser code or a Git repository:

```bash
REQUIPLY_SECRET_KEY=rq_sk_live_...
```

## 4. Use the key

Send the key as a bearer token with every request:

```bash
curl https://api.requiply.com/api/public/v1/org/info \
  -H "Authorization: Bearer $REQUIPLY_SECRET_KEY"
```

With the SDK, pass it to the client. See [How to start using the Requiply SDK](https://requiply.com/docs/en/developers/how-to-start-using-the-sdk).

## Common questions

### Can I see a key again after closing the dialog?

No. Requiply stores only a hash of the key. If you lose it, create a new key, update your integration, and revoke the old one.

### How do I revoke a key?

Click the ban icon in the key's row. The key stops working immediately and cannot be restored. Turn on **Show revoked** to list revoked keys.

### Is there a test key?

No. Every key works on real data. Test against a demo organization whose bookings you can delete. See [No test mode](https://requiply.com/docs/en/developers/authentication-and-api-keys#no-test-mode).

### Do I need a key to connect Claude or ChatGPT?

No. Assistants connect with OAuth and need no key. See [How to start using the Requiply MCP server](https://requiply.com/docs/en/ai/how-to-start-using-mcp). A secret key is only needed for an agent you build yourself.

### How many requests can a key make?

100 requests per minute. Further requests get a `429` response with a `Retry-After` header. See [Rate limits](https://requiply.com/docs/en/developers/authentication-and-api-keys#rate-limits).


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
