# Use your own OAuth app or API keys

> When an APIANT app needs app keys from your own vendor developer account, how to enter them in the App keys dialog, and how Claude Code can register the app on the vendor's portal for you.

Some apps connect only with app keys from your own developer account at the vendor: an OAuth client ID and secret, or the registration values the vendor issues for an app. These apps are marked **Needs your keys** in the Connect App dialog. You register an app once on the vendor's developer portal, save its keys in APIANT, and then connect accounts as usual.

## When you need your own keys

| Situation | Own keys |
|---|---|
| APIANT has registered an OAuth app with the vendor | Not used. Connect normally. |
| APIANT has no registered OAuth app for this app | Required |
| The app is flagged to always use each customer's own app | Required |
| Your parent account or your plan already provides keys for this app | Provided. The dialog says so and there is nothing to enter. |

Keys you save belong to your APIANT account and are used by every account you connect to that app. If you have no keys of your own, APIANT uses keys from your linked parent account, then keys your plan provides; if none exist, the connection cannot start.

Plain API-key apps, where you paste a key into the connect dialog, do not need these steps. See [Connecting accounts](/docs/apps/connections).

## Option A: Have Claude Code register the app

In Claude Code, ask: "I need my own keys for Asana. Register the app and connect it."

Claude Code needs browser control in the session to do this.

1. Claude checks whether keys are actually needed. If APIANT already supplies them, or you already saved keys, it skips to connecting.
2. Claude opens the vendor's developer portal and stops at the sign-in page. **You sign in and complete any MFA.** Claude never asks for your password or a one-time code.
3. Claude searches for an app you already registered before creating a new one, fills in the registration form, selects the scopes, and pastes the exact redirect URI that APIANT provides.
4. Claude hands back to you for anything only you can do: an app icon upload, a captcha, a choice between sandbox and production. It never enters a credit card or starts a paid trial.
5. Claude saves the client ID and secret to your account, starts the connection, and you approve the vendor's consent screen.
6. Claude runs a check call to confirm the connection works and tells you which vendor account it is connected as.

If you stop partway, ask again later. Claude reads back which keys you have saved and whether a connection exists, so completed steps are not repeated.

This option is not available in the in-app assistant.

## Option B: Enter keys in the App keys dialog

### 1. Register an app on the vendor's portal

Create an app (sometimes called an OAuth app, integration or client) on the vendor's developer portal. You need two values from APIANT while you do this, both shown in the App keys dialog you open in step 2:

- The **redirect URI**. Register it exactly as shown, including the scheme and with no trailing slash added.
- The **scopes** the app must be allowed.

### 2. Open the dialog

Open **Connections**, select **Connect App**, and pick the app marked **Needs your keys**. The dialog shows the key entry step.

The App keys dialog shows the fields to fill in, the redirect URI to register on the vendor's portal, and the scopes the vendor app must allow.

### 3. Save the keys

Enter every key the dialog lists and save. Keys are saved as a group, because a client ID and its secret are only valid together. APIANT does not test the keys when you save them; the vendor checks them during authorization.

### 4. Connect

Continue to the vendor's authorization page and approve. The account appears on the App Connections page.

## Manage saved keys

Reopen the app from **Connect App** to see the keys on file.

| Action | Effect |
|---|---|
| **View** | Shows the keys after you confirm your password |
| Replace | Enter every key again. Partial replacement is not possible. |
| **Remove app keys** | Deletes your keys. Connections built on them stop refreshing their tokens. |

Keys provided by a parent account or your plan cannot be viewed, replaced or removed from your account.

## Troubleshooting

| Problem | Fix |
|---|---|
| The vendor rejects the authorization with a redirect URI error | The registered redirect URI differs from the one APIANT shows. Copy it again exactly; a trailing slash or a different host is enough to fail. |
| The vendor shows an invalid scope error | The vendor app is not allowed a scope the dialog lists. Add the scope on the vendor portal, then connect again. |
| Authorization fails with an invalid client or secret error | The saved client ID or secret is wrong, or belongs to a different vendor app. Replace both keys. |
| Connections stopped refreshing | The app keys were removed or the vendor app was deleted or its secret rotated. Save the current keys and reconnect. |
| The vendor portal requires a paid plan or a manual review | Claude stops at that point. Complete the vendor's requirement, then ask Claude to continue. |
| Claude says it cannot drive a browser | The Claude Code session has no browser control. Enable one, or use Option B. |

## Next steps

- [Connecting accounts](/docs/apps/connections)
- [Build a connector, action or trigger](/docs/apps/custom-connectors)
- [Linked and associated accounts](/docs/account/linked-accounts)
- [Working with Claude](/docs/mcp/working-with-claude)
