Project routing
A project either routes via your organization’s default policy or carries its own project-scoped routing policy. The policy uses the same shape as Embedded Routing Stack policies: PRIORITY tries a ranked list in order, INTELLIGENT picks per request from an allowed set. The two field sets are mutually exclusive by strategy.
Two fields on the project control this:
Supplying routing_policy together with uses_organization_default_routing: true is rejected with 422, as is false without a policy.
Create a project with its own routing
For INTELLIGENT, allowed_providers is derived from allowed_models; if you supply it, it must match.
Replace the policy
routing_policy on PATCH is a full replacement, applied in place: the policy id is stable across updates, so IaC diffs stay clean. Sending a policy to a project that routes via the org default creates the scoped policy.
Back to org default routing
Send uses_organization_default_routing: true to delete the scoped policy and fall back to the org default. The response returns routing_policy: null.