Skip to main content
Connect a provider in four parts:
  1. choose a provider;
  2. enter the credential in a secure browser step;
  3. test the connection; and
  4. refresh the models it can use.
The provider credential never belongs in a Millwork API request.

Before you begin

List providers first:
Only a returned source_id and auth_scheme can be used.

1. Start secure setup

This example uses OpenAI. Replace both values with a pair returned by the provider-profile endpoint.
Open the one-time continue_url in a browser and complete the provider step. Do not paste that URL into a support message. The poll response does not return the continuation URL again.

2. Finish the browser step

Continue only when state is completed. This secure setup is short-lived, bound to one organization and provider, and can be used once. If it expires or fails, start a new setup. Do not reuse its URL.

3. Create and test the connection

The scope must describe the provider account, project, or region you intend to use. Follow the API reference for the chosen provider. This request body is for OpenAI. If you choose another provider, use the account, project, or region fields shown for that provider in the API reference. Expected result: the test reports that the connection is ready. If it does not, use the test error table below before refreshing models.

4. Refresh models and read the catalog

The catalog includes only models that both Millwork and the tested connection can use. Expected result: supported models from this connection appear in the model catalog. An empty result means the tested account has no currently supported model route.

Provider setup fields

For Bedrock, the region must match the inference-profile ARN. The AWS principal must be allowed to read and invoke through that profile.

If the connection test fails

Rotate or revoke

Rotation tests the replacement credential before changing the connection. A failed replacement leaves the working credential in place. Revoking a Millwork connection immediately stops later work from using it. It does not revoke the credential in the provider account. Remove or rotate that credential in the provider’s own controls when needed.

Run a model

Use a model returned by the refreshed catalog.

Get help

Send safe context without sending the credential.