# Setting Up Cursor with Ace Data Cloud BYOK (Practical Guide)

When I set up a coding editor, I want the model layer to feel boring in the best possible way: one key, predictable configuration, and enough flexibility to switch models without rebuilding my workflow.

![Ace Data Cloud and Cursor BYOK workflow](https://platform2.cdn.acedata.cloud/gpt-image/44e2358b-6e13-43ad-92d2-961a3b961f33_0.png)

Cursor already gives developers a practical way to do this through BYOK, or “Bring Your Own API Key.” The useful trick is that the OpenAI provider slot in Cursor lets you override both the API key and the base URL. Ace Data Cloud exposes an OpenAI-compatible endpoint, so Cursor can send its chat and agent requests through the same interface while you choose from model IDs available on Ace Data Cloud.

This guide walks through the setup in a practical way: where to put the key, what base URL to use, how to add models, and what limitations to keep in mind before you rely on it during a long coding session.

## What you are configuring

The core configuration is small:

- **Provider slot in Cursor:** OpenAI API Key
- **Base URL:** `https://api.acedata.cloud/v1`
- **Important Cursor switch:** `Override OpenAI Base URL`
- **Request path Cursor builds:** `chat/completions`
- **Model IDs:** added manually in Cursor with `+ Add model`

The `/v1` suffix matters. Cursor constructs OpenAI-style request paths on top of the base URL, so if the base URL is missing `/v1`, requests can be routed to the wrong path.

The API key you paste into Cursor should be an Ace Data Cloud API Token from your application in the Ace Data Cloud console, not an OpenAI account key. Once the key and base URL are verified, Cursor can send compatible chat requests through Ace Data Cloud.

## Step 1: Set the OpenAI provider slot in Cursor

Open Cursor settings with the gear icon or `Cmd/Ctrl + ,`, then go to **Models** and expand **API Keys**.

Turn on the **OpenAI API Key** switch and paste your Ace Data Cloud API Token into the OpenAI key field. Then turn on **Override OpenAI Base URL** and set it exactly to:

```text
https://api.acedata.cloud/v1
```

After that, click **Verify**. If verification fails, the first things I would check are simple ones: whether the token came from Ace Data Cloud, whether there are any copied spaces around it, and whether the base URL ends with `/v1`.

This setup works because Cursor’s BYOK flow supports overriding the OpenAI-compatible base URL. Ace Data Cloud provides that compatible interface at `https://api.acedata.cloud`, with the Cursor configuration using the `/v1` path.

## Step 2: Add the models you actually want to use

Cursor will not automatically know every model ID you want. After the key verifies, stay in **Models**, click **+ Add model**, and add model IDs one by one.

The Ace Data Cloud Cursor document lists these verified examples:

```text
claude-opus-4-8
claude-sonnet-4-6
claude-haiku-4-5-20251001
gpt-5.2-pro
gpt-5.4-mini
gemini-3.1-pro
grok-4
```

The names need to match exactly. In practice, I prefer adding only two or three models at first: one daily coding model, one stronger model for difficult debugging, and maybe one fast model for small refactors. That keeps the model picker readable and makes it easier to notice when a particular model behaves differently on a task.

One detail worth knowing: Cursor’s default OpenAI models, such as built-in entries already shown in the model list, may also be routed through the overridden OpenAI configuration. If you do not want that behavior, turn off the corresponding model switches in Cursor.

## Step 3: Use it in Chat or Agent mode

Once the models are added, open Cursor’s Chat or Agent panel and choose one of the model IDs you added from the model selector.

A normal workflow might look like this:

1. Use a faster model for reading a file and proposing a small patch.
2. Switch to a stronger model for a multi-file refactor or a tricky failing test.
3. Keep the same Cursor UI while Ace Data Cloud handles the OpenAI-compatible request layer behind the scenes.

There is no extra SDK or local proxy required for this setup. The important part is that Cursor sends OpenAI-style chat traffic to the configured base URL, and the model name you select is one supported by Ace Data Cloud.

## Troubleshooting notes I would check first

If Cursor says **Invalid API key**, confirm that the token is from an Ace Data Cloud application and is still available in the console. It is easy to accidentally paste an OpenAI key into this field out of habit.

If you see **Model not found**, check the model ID for extra spaces, missing version segments, or a typo. The model name in Cursor has to match the supported Ace Data Cloud model name exactly.

If the base URL does not seem to take effect, confirm that **Override OpenAI Base URL** is enabled, the URL ends with `/v1`, and then restart Cursor. Some editor settings do not always feel fully applied until the app restarts.

## Limitations to keep in mind

This setup is for OpenAI-compatible chat and inference models through Cursor’s BYOK path. Cursor’s Tab completion does not use BYOK, so it is not affected by this configuration.

Cursor’s Auto, Composer, and some editing modes may also have their own behavior around BYOK. I would treat the Chat and Agent panel as the main path to validate first, then test the editing modes you personally depend on before making it your default team setup.

For me, the value of this configuration is not that it changes how Cursor feels. It is the opposite: Cursor stays the same, while the model layer becomes easier to manage. If you want the exact source setup notes, the Ace Data Cloud Cursor document is here: https://platform.acedata.cloud/documents/development_cursor_coding

