Set up OpenAI

Last validated:

Aperture by Tailscale is currently in alpha.

Configure an OpenAI provider in Aperture so your team can access GPT models through your tailnet. OpenAI is the default provider type in Aperture. When no compatibility block is specified, Aperture enables openai_chat automatically, but openai_responses is not enabled unless you set it explicitly.

Aperture routes requests based on the model name, not the LLM client. Any LLM client configured to use Aperture can access any provider your admin has set up. Refer to the provider compatibility reference for the full list of supported providers and API formats.

Prerequisites

Before you begin, you need:

Configure the provider

Add OpenAI as a provider in your Aperture configuration:

{
  "providers": {
    "openai": {
      "baseurl": "https://api.openai.com/",
      "apikey": "<your-openai-key>",
      "models": ["gpt-5.5", "gpt-5.4-mini", "gpt-5.4"],
      "name": "OpenAI",
      "compatibility": {
        "openai_chat": true,
        "openai_responses": true
      }
    }
  }
}

The openai_responses flag enables the Responses API, which tools like OpenAI Codex use. When you include a compatibility block, set both flags explicitly. Without a compatibility block, Aperture enables only openai_chat by default. Refer to the provider compatibility reference for the full list of flags.

After configuring the provider:

  1. Grant model access to the users or groups that need these models.
  2. Set up LLM clients to connect coding tools through Aperture.

Verify the provider

The best way to verify a connection to a specific model is to send a test request through the Models tab of the Aperture dashboard.

  1. Open the Aperture dashboard and select the Models tab.
  2. Find the model you want to test in the list of configured models. If the model is not listed, check your provider configuration and ensure the model name is correct.
  3. Select the Play icon to the left of the model name to send a test request. If the request succeeds, the icon changes to a green check mark. If it fails, the icon changes to a red "X".

This sends a request from your web browser to the tailnet to verify that Aperture can successfully route requests to the model through the configured provider and that your user account has the necessary permissions to access the model.