Check out the newest way to compare different models for a task/agent harness: AutoEvals

Guides

Request Access to a Privileged Model

Privileged models need an approved access request before your team can call them. Request access from the Privileged Access page or the model page, track the request status, and accept updated terms.

A privileged model has reduced or removed safety behavior, or is otherwise high-risk. Your team must be approved before it can call one. For the list of privileged models and the policy summary, see Privileged Access.

Approval is per team and per model. An approval for one model does not give access to another.

A privileged model is visible, and open to requests, only while it is listed in the public model catalog. An unlisted model has no model page or terms page, and it is not in GET /v1/models.

Find a privileged model

A privileged model shows a lock badge (Requires approval) in the model catalog, on its model page, and in the playground model picker. Its model page shows a banner, Requires approved access, with your team's status and a Request access button.

In the API, GET /v1/models marks the model with "requires_approved_access": true and adds your team's access_status. See Check access in GET /v1/models.

Request access

Open the request form

Sign in and use one of these:

  • Open Privileged Access. Select the team that will call the model and the model in the Request access card. To open the card with a model selected, use https://inference.net/privileged-access?model=<model-id>.
  • Select the team that will call the model, open the model page, and click Request access.

The 403 error from the API also links to the model's terms page, https://inference.net/model-access/<model-id>. If your team already has a request for the model, the form shows its status instead.

To have a coding agent (Claude Code, Codex, Cursor) guide you through this flow, click Copy agent prompt on the Privileged Access page or the model page and paste the prompt into the agent. The same guide is at https://inference.net/privileged-access.md.

Fill in the form

Fill in these fields:

FieldRequired
Legal name (the person or organization responsible for the team)Yes
Work email (where we send the decision). The domain must point to a live, working website. We reject Gmail and other personal email addresses.Yes
CountryYes
Intended useNo

Check the box to confirm that you are 18 or older, that you are authorized to act for the team, and that you accept the Privileged Model Access Terms.

Wait for the decision

We review every request. We email the decision to the address you entered. Approved access reaches the API within 45 seconds.

The Privileged Model Access Terms are on each model's request page, https://inference.net/model-access/<model-id>. The current version is 2026-10-23.

Access status

access_statusDashboard badgeMeaningWhat you can do
noneRequires approvalYour team has not requested access.Request access.
pendingAccess pendingThe request is under review.Wait for the email.
approvedAccess approvedYour team can call the model.Call the model.
rejectedAccess rejectedThe request was rejected.Request access again.
revokedAccess revokedAn earlier approval was revoked.Request access again.
terms_requiredAccess pausedYour team was approved, but no one on the team has accepted terms that grant access. Calls fail until a team member accepts the current terms.Accept updated terms, or accept the terms for granted access.

Only approved lets your team call the model.

Accept updated terms

When the terms change, the model page shows Accept updated terms. Click it, check the box, and click Accept terms. The form keeps your earlier answers, and you cannot change them.

  • For a minor change, your access continues while you have not accepted. The status stays approved.
  • For a major change, access stops until you accept. The status is terms_required.

Access comes back within 45 seconds of acceptance.

Accept the terms for granted access

Inference.net can grant your team access without a request. You then get an email that says your team was granted access, and the status is terms_required. Access starts when a team member accepts the current terms:

  1. Open https://inference.net/model-access/<model-id>.
  2. Enter the legal name and country of the person or organization responsible for the team, and a work email. The domain must point to a live, working website. We reject Gmail and other personal email addresses.
  3. Check the box and submit.

The acceptance records your legal name, email and country. Access starts within 45 seconds.

If the model has not launched yet, the email says so. Its access page opens at launch; accept the terms then.

Propagation

ChangeTime to reach the API
Approve, revoke, or terms acceptanceUp to 45 seconds
access_status in GET /v1/modelsUp to 6 minutes

Check access in GET /v1/models

Send your API key to get your team's status. Without a key, access_status is always none.

curl -s https://api.inference.net/v1/models \
  -H "Authorization: Bearer $INFERENCE_API_KEY" \
  | jq '.data[] | select(.requires_approved_access) | {id, access_status}'
{
  "id": "deepseek-v4.1-flash-1017-cyber",
  "access_status": "pending"
}

The 403 model_access_required error

A call to a privileged model without approval returns HTTP 403:

{
  "error": {
    "message": "Model 'deepseek-v4.1-flash-1017-cyber' requires approved access. Request access at https://inference.net/model-access/deepseek-v4.1-flash-1017-cyber",
    "type": "model_access_required",
    "code": "model_access_required"
  }
}

Match on error.type. Some responses do not include code.

On this page