Docs

Customer setup

The setup link is where a customer chooses a provider and grants the access needed to use it. Your application creates one link for the customer ID it already knows.

your settings page → setup link → customer connects provider → connection is ready
       org_123                                                    org_123

Configure what customers can connect

In Infrastructure → Models, select every model your product may call and the client APIs you use.

A required model narrows the providers a customer can choose. Alien only offers providers that can serve the required set. Optional models do not block setup.

For example, enable one model from the CLI:

alien projects capabilities enable ai \
  --model byo/claude-opus-5

For a manual test:

alien onboard "Acme" \
  --external-id org_123 \
  --setup-items models

In your product, create the link from your backend when the customer opens the BYO-LLM settings page.

The example below creates an AWS setup link containing the project’s configured AI models. Use a server-side Alien Platform API key—not the AI Gateway key used for model requests.

import { Alien } from "@alienplatform/platform-api"

const alien = new Alien({ apiKey: process.env.ALIEN_API_KEY })

const setup = await alien.setupLinks.create({
  workspace: "my-workspace",
  createSetupLinkRequest: {
    project: "my-project",
    externalId: customer.id,
    name: customer.slug,
    deploymentSetupConfig: {
      metadata: { label: `${customer.name} models` },
      policy: {
        allowedPlatforms: ["aws"],
        allowedSetupMethods: ["cloudformation"],
      },
      environmentVariables: [],
    },
    setupItems: [{ item: "models", required: true }],
    inputValues: {},
  },
})

return setup.deploymentLink

For more clouds or a provider allowlist, configure the link in the dashboard first and mirror its reviewed setup policy in your backend. See the exact Setup Links API.

Send deploymentLink to the customer. They open it and connect one of the available providers. Your application does not receive their AWS role, Google credential, Azure credential, or provider API key.

Test the exact requests your product makes

  • Connect every provider you intend to offer using accounts you control.
  • Call every required model through every supported client API.
  • Test streaming and tool calls if your application uses them.
  • Check model access and quotas in each cloud and region.
  • Configure provider headers when a provider requires static attribution or routing metadata.

Model protocols do not map perfectly. AI Gateway rejects cross-protocol fields it cannot represent instead of silently dropping them.

On this page