# Provider Errors

## Common Status Codes

Fluent currently maps these provider errors directly:

- `400` Bad request
- `401` Invalid API key
- `402` Payment required
- `403` Access forbidden
- `404` Model not found
- `429` Rate limit exceeded
- `500` Server error
- `502` Bad gateway
- `503` Service unavailable
- `504` Gateway timeout

-----

## 401 And 403

Check these first:
- The API key is saved for the correct provider
- The key is still valid
- The provider account has access to the selected model
- The endpoint is the correct one for that provider

`401` usually means the key is wrong or expired. `403` usually means the key exists but does not have access to that model or route.

Most common resolution is to recreate the API key, ensuring it has the correct project and/or organization – if that applies.

-----

## 402

`402` is usually a billing problem.

Check the provider account directly for:
- Missing credits
- Failed billing
- Paused usage
- Account restrictions

-----

## 404

`404` usually means the selected model is not available on that provider.

Check:
- The exact model name
- Whether the model exists on that provider
- Whether your account has access to it

-----

## 429

`429` means rate limiting.

Wait a moment and try again. If it happens often:
- Reduce heavy parallel requests
- Use a faster or lighter model
- Switch to another provider for that workflow

-----

## 400

`400` is a general request error.

This can mean:
- Malformed input
- Unsupported parameter
- Model-specific restriction
- Partial incompatibility on a custom OpenAI-compatible endpoint

If the same task works on one provider or model, but fails with `400` on another, the difference is usually provider compatibility or configuration.

Most common resolution to this error is to explicitly enable or disable certain features in the model card settings. In particular, "Use structured JSON", "Streaming" or "Use tools". It solely depends on the model.

-----

## 5xx

`500`, `502`, `503`, and `504` usually indicate temporary provider-side problems.

Typical causes:
- Provider instability
- Maintenance
- Timeouts
- Temporary overload

Try again later or switch to another model temporarily.

-----

## Custom Providers

For custom OpenAI-compatible providers, also check:
- Base URL
- Required API key format
- Model list availability
- Provider-specific compatibility limits

If the same prompt works on a native provider but fails only on one custom endpoint, check the endpoint setup first. See [Use Cases](/help/use-cases) and [Common Issues](/help/common-issues).
