GROK BOT / list-model-access-providers-via-org-api

Grok Bot

List model access providers with the Organization API

With a custom model-access policy on a linked team, list catalog providers and models (enabled flags plus per-model parameters) with GET https://api.cursor.com/organizations/teams/{teamId}/model-access/providers. Official reference: Organization API → Model access. These routes are in preview and may change before general availability.

Authenticate with an Organization API key (Basic auth, key as username, empty password). Reads need models:read (or admin:*). Keys scoped only to members:*, usage:*, or generic read:* cannot call these routes. Rate limit: 20 requests per minute. Enterprise organizations; target teams must have model access control available.

Numeric teamId values come from routes such as List organization members. Returns 409 when the team does not have a custom policy (state is unrestricted or legacy). Seed policy first: Set model access configuration with the Organization API. Path segments use catalog ids such as anthropic and claude-opus-4-6. Response shape matches the team Admin API providers route.

List providers for one linked team

curl -X GET https://api.cursor.com/organizations/teams/7/model-access/providers \
  -u YOUR_ORGANIZATION_API_KEY:

Example response shape (same fields as the team Admin API providers GET):

{
  "teamId": 7,
  "state": "custom",
  "providers": [
    {
      "id": "anthropic",
      "displayName": "Anthropic",
      "enabled": true,
      "models": [
        {
          "id": "claude-opus-4-6",
          "displayName": "Opus 4.6",
          "enabled": true,
          "parameters": [
            {
              "id": "fast",
              "displayName": "Fast",
              "supportedValues": ["false", "true"],
              "allowedValues": ["false", "true"],
              "configuredDefaultValue": null,
              "catalogDefaultValue": "true"
            }
          ]
        }
      ]
    },
    {
      "id": "openai",
      "displayName": "OpenAI",
      "enabled": true,
      "models": [
        {
          "id": "gpt-5.4",
          "displayName": "GPT-5.4",
          "enabled": true,
          "parameters": [
            {
              "id": "reasoning",
              "displayName": "Reasoning",
              "supportedValues": ["low", "medium", "high", "xhigh", "max"],
              "allowedValues": ["low", "medium", "high"],
              "configuredDefaultValue": "high",
              "catalogDefaultValue": "medium"
            }
          ]
        }
      ]
    }
  ]
}
Top-level field Meaning
teamId Integer team ID of the linked team
state Policy state (custom when this GET succeeds)
providers Catalog providers with nested models
Provider field Meaning
id Catalog provider id (use this in path segments)
displayName Human-readable label
enabled Whether the provider is allowed for the team
models Nested model objects

Model parameters fields

Each model includes a catalog-driven parameters array. Parameter ids and supported values come from the model catalog (for example fast, reasoning, effort, context). Use this GET to discover which parameters a model supports before writing.

Field Meaning
id Parameter id (for example fast or reasoning)
displayName Human-readable label
supportedValues All values the catalog allows for this parameter on this model
allowedValues Values currently allowed by the team policy
configuredDefaultValue Admin-pinned default, or null when unset
catalogDefaultValue Catalog default for the parameter on this model

Pitfalls

  • Calling while state is unrestricted or legacy — expect 409 until configuration seeds a custom policy.
  • Unknown or unlinked teamId returns 404; teams without model access control available return 403.
  • Putting a display name in a later write path (OpenAI) fails; paths need the catalog id from this GET (openai).
  • Automating against preview paths without pinning docs — request shape and errors can change before GA.

After the list, toggle providers with Enable or disable a model access provider and set per-model parameters with Set model access and parameters. For the single-team Admin API counterpart, see List model access providers with the Admin API.