> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesynth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Providers and Credentials

> Bind provider capability for Managed Research launches without putting secrets in prompts.

`providers` tells Managed Research which provider capability a run may use. It is separate from `agent_model`.

## Public example

```python theme={null}
providers=[{"provider": "openrouter"}]
```

This binds OpenRouter provider capability for the run. The model still comes from `agent_harness` and `agent_model` when you choose them explicitly.

## Provider bindings

Provider bindings can include non-secret config and limits:

```python theme={null}
providers=[
    {
        "provider": "openrouter",
        "config": {"allowed_models": ["anthropic/claude-haiku-4-5-20251001"]},
        "limit": {"max_spend_usd": 10.0},
    }
]
```

Do not put API keys or raw secrets in provider config. Use supported credential setup so backend preflight can verify availability safely.

Provider keys are infrastructure, not a public plan surface for launch.
Managed Research plan and Beta Access checks are enforced through billing
entitlements and run-start preflight.

## Availability

Backend preflight is authoritative for:

* missing credentials
* provider launch availability
* budget and entitlement blockers
* unsupported provider/model combinations
* required capability gaps

If a launch fails, read [Preflight and Errors](/managed-research/preflight-and-errors).
