Limit which models can be used at the organization and project level. When a request attempts to use a restricted model, the API returns a 403 error.
Configure model permissions using either "Only Allow" or "Only Block" strategies:
When you only allow specific models, all other models are blocked.
Example: Only allow llama-3.3-70b-versatile
and llama-3.1-8b-instant
→ all other models are blocked.
When you only block specific models, all other models remain available.
Example: Only block openai/gpt-oss-120b
→ all other models remain available.
You can configure model permissions on either your organization, project, or both. These permissions cascade from the organization to the project, meaning that the project can only configure model permissions within the models which are allowed by the organization-level permissions.
Members of the organization with the Owner role can configure model permissions at the organization level.
Members of the organization with either the Developer or Owner role can configure model permissions at the project level.
Permissions cascade from organization to project level. Organization settings always take precedence.
How it works:
Organization Check First: The system checks if the model is allowed at the org level
Project Check Second: The system checks if the model is allowed at the project level
Key point: Projects can only work with models that are available after org-level filtering. They can only allow a subset of what the org allows, or block a subset of what the org allows. A model blocked at the org level cannot be enabled at the project level.
See the examples below for more details.
Requests to restricted models return a 403 error with specific error codes depending on where the block occurred.
When a model is blocked at the organization level:
{
"error": {
"message": "The model `openai/gpt-oss-120b` is blocked at the organization level. Please have the org admin enable this model in the org settings at https://console.groq.com/settings/limits",
"type": "permissions_error",
"code": "model_permission_blocked_org"
}
}
When a model is blocked at the project level:
{
"error": {
"message": "The model `openai/gpt-oss-120b` is blocked at the project level. Please have a project admin enable this model in the project settings at https://console.groq.com/settings/project/limits",
"type": "permissions_error",
"code": "model_permission_blocked_project"
}
}
Scenario 1: Org permissions only
llama-3.3-70b-versatile
, llama-3.1-8b-instant
, openai/gpt-oss-120b
Result: Project can use llama-3.3-70b-versatile
, llama-3.1-8b-instant
, openai/gpt-oss-120b
; all other models are blocked by the organization.
Scenario 2: Project permissions only
openai/gpt-oss-120b
Result: Project can use all models except openai/gpt-oss-120b
.
Scenario 3: Only Allow org → Only Allow subset on project
llama-3.3-70b-versatile
, llama-3.1-8b-instant
, openai/gpt-oss-120b
llama-3.3-70b-versatile
, llama-3.1-8b-instant
Result: Project can use llama-3.3-70b-versatile
and llama-3.1-8b-instant
, as the project permissions narrow it down. The organization allowed openai/gpt-oss-120b
is blocked by the project. All other models are blocked by the organization.
Scenario 4: Only Allow org → Block subset on project
llama-3.3-70b-versatile
, llama-3.1-8b-instant
, openai/gpt-oss-120b
openai/gpt-oss-120b
Result: Project can use llama-3.3-70b-versatile
and llama-3.1-8b-instant
, as the project blocks openai/gpt-oss-120b
from the organization's allowed set. All other models are blocked by the organization.
Scenario 5: Only Block org → Only Allow subset on project
openai/gpt-oss-120b
, openai/gpt-oss-20b
llama-3.3-70b-versatile
, llama-3.1-8b-instant
Result: Project can only use llama-3.3-70b-versatile
and llama-3.1-8b-instant
, as the project only allows a subset from the organization's allowed set. All other models are blocked by the project.
Scenario 6: Only Block org → Block more on project
openai/gpt-oss-120b
llama-3.3-70b-versatile
Result: Project blocked from using both openai/gpt-oss-120b
and llama-3.3-70b-versatile
. The project level permissions combine with the organization-level permissions to block both models. All other models are available.
Yes, each project can have its own "only allow" or "only block" strategy. However, all project permissions are limited by organization-level settings.
All API requests will be rejected with a 403 permissions_error
.
Yes, you can modify or remove permission settings at any time. Changes take effect immediately.
Yes, permissions apply to all API requests regardless of which API key is used. Restrictions are based on the organization and project, not the API key.
No, organization-level blocks always take precedence. Projects can only further restrict access, not expand it.
Need help? Contact our support team at [email protected] or visit our developer community.