# AI Providers Endpoints for viewing AI providers and configuring per-scope API keys. Providers are catalog entries synced from models.dev. Use scope='global' for platform-wide configuration (requires AIProviders permissions) or a group TypeId for group-specific configuration (requires GroupAIProviders permissions). ## List AI providers - [GET /api/v1/ai-providers](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers/get.md): Returns all catalog AI providers with scoped configuration state (configured, hasApiKey, etc.). RBAC: - requires ANY of AIProviders.Read, GroupAIProviders.Read ## Get an AI provider - [GET /api/v1/ai-providers/{providerId}](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers~1%7Bproviderid%7D/get.md): Returns a single AI provider by ID with scoped configuration state. RBAC: - requires ANY of AIProviders.Read, GroupAIProviders.Read ## List agents using scoped provider configuration - [GET /api/v1/ai-providers/{providerId}/agents](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers~1%7Bproviderid%7D~1agents/get.md): Returns AI agents that currently use scoped models linked to this provider in the given scope. RBAC: - requires ANY of AIProviders.Manage, GroupAIProviders.Manage ## Remove scoped configuration for a provider - [DELETE /api/v1/ai-providers/{providerId}/configure](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers~1%7Bproviderid%7D~1configure/delete.md): Removes the scoped provider record and scoped model records for the scope. Agents that were using those models are automatically disabled. RBAC: - requires ANY of AIProviders.Manage, GroupAIProviders.Manage ## Configure a provider for a scope - [PUT /api/v1/ai-providers/{providerId}/configure](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers~1%7Bproviderid%7D~1configure/put.md): Sets or updates the API key and auth configuration for a provider in the given scope. Creates a scoped provider record if one doesn't exist. RBAC: - requires ANY of AIProviders.Manage, GroupAIProviders.Manage ## List models for this provider - [GET /api/v1/ai-providers/{providerId}/models](https://docs.wellesley.social/openapi/ai-providers/paths/~1api~1v1~1ai-providers~1%7Bproviderid%7D~1models/get.md): Returns all AI models for the specified provider with scoped enablement state. RBAC: - requires ANY of AIModels.Read, GroupAIModels.Read