For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://modelgates.ai/docs/_mcp/server.

List models filtered by user provider preferences, privacy settings, and guardrails

GET https://modelgates.ai/api/v1/models/user

List models filtered by user provider preferences, privacy settings, and guardrails. If requesting through eu.modelgates.ai/api/v1/... the results will be filtered to models that satisfy EU in-region routing.

Reference: https://modelgates.ai/docs/api/api-reference/models/list-models-user

OpenAPI Specification

yaml
openapi: 3.1.0info:  title: ModelGates API  version: 1.0.0paths:  /models/user:    get:      operationId: list-models-user      summary: >-        List models filtered by user provider preferences, privacy settings, and        guardrails      description: >-        List models filtered by user provider preferences, [privacy        settings](https://modelgates.ai/docs/guides/privacy/provider-logging),        and [guardrails](https://modelgates.ai/docs/guides/features/guardrails).        If requesting through `eu.modelgates.ai/api/v1/...` the results will be        filtered to models that satisfy [EU in-region        routing](https://modelgates.ai/docs/guides/privacy/provider-logging#enterprise-eu-in-region-routing).      tags:        - subpackage_models      parameters:        - name: Authorization          in: header          description: API key as bearer token in Authorization header          required: true          schema:            type: string      responses:        '200':          description: Returns a list of models filtered by user provider preferences          content:            application/json:              schema:                $ref: '#/components/schemas/ModelsListResponse'        '401':          description: Unauthorized - Authentication required or invalid credentials          content:            application/json:              schema:                $ref: '#/components/schemas/UnauthorizedResponse'        '404':          description: Not Found - Resource does not exist          content:            application/json:              schema:                $ref: '#/components/schemas/NotFoundResponse'        '500':          description: Internal Server Error - Unexpected server error          content:            application/json:              schema:                $ref: '#/components/schemas/InternalServerResponse'servers:  - url: https://modelgates.ai/api/v1components:  schemas:    InputModality:      type: string      enum:        - text        - image        - file        - audio        - video      title: InputModality    ModelArchitectureInstructType:      type: string      enum:        - none        - airoboros        - alpaca        - alpaca-modif        - chatml        - claude        - code-llama        - gemma        - llama2        - llama3        - mistral        - nemotron        - neural        - openchat        - phi3        - rwkv        - vicuna        - zephyr        - deepseek-r1        - deepseek-v3.1        - qwq        - qwen3      description: Instruction format type      title: ModelArchitectureInstructType    OutputModality:      type: string      enum:        - text        - image        - embeddings        - audio        - video        - rerank        - speech        - transcription      title: OutputModality    ModelGroup:      type: string      enum:        - Router        - Media        - Other        - GPT        - Claude        - Gemini        - Gemma        - Grok        - Cohere        - Nova        - Qwen        - Yi        - DeepSeek        - Mistral        - Llama2        - Llama3        - Llama4        - PaLM        - RWKV        - Qwen3      description: Tokenizer type used by the model      title: ModelGroup    ModelArchitecture:      type: object      properties:        input_modalities:          type: array          items:            $ref: '#/components/schemas/InputModality'          description: Supported input modalities        instruct_type:          oneOf:            - $ref: '#/components/schemas/ModelArchitectureInstructType'            - type: 'null'          description: Instruction format type        modality:          type:            - string            - 'null'          description: Primary modality of the model        output_modalities:          type: array          items:            $ref: '#/components/schemas/OutputModality'          description: Supported output modalities        tokenizer:          $ref: '#/components/schemas/ModelGroup'      required:        - input_modalities        - modality        - output_modalities      description: Model architecture information      title: ModelArchitecture    DefaultParameters:      type: object      properties:        frequency_penalty:          type:            - number            - 'null'          format: double        presence_penalty:          type:            - number            - 'null'          format: double        repetition_penalty:          type:            - number            - 'null'          format: double        temperature:          type:            - number            - 'null'          format: double        top_k:          type:            - integer            - 'null'        top_p:          type:            - number            - 'null'          format: double      description: Default parameters for this model      title: DefaultParameters    ModelLinks:      type: object      properties:        details:          type: string          description: URL for the model details/endpoints API      required:        - details      description: Related API endpoints and resources for this model.      title: ModelLinks    PerRequestLimits:      type: object      properties:        completion_tokens:          type: number          format: double          description: Maximum completion tokens per request        prompt_tokens:          type: number          format: double          description: Maximum prompt tokens per request      required:        - completion_tokens        - prompt_tokens      description: Per-request token limits      title: PerRequestLimits    BigNumberUnion:      type: string      description: Price per million prompt tokens      title: BigNumberUnion    PublicPricing:      type: object      properties:        audio:          $ref: '#/components/schemas/BigNumberUnion'        audio_output:          $ref: '#/components/schemas/BigNumberUnion'        completion:          $ref: '#/components/schemas/BigNumberUnion'        discount:          type: number          format: double        image:          $ref: '#/components/schemas/BigNumberUnion'        image_output:          $ref: '#/components/schemas/BigNumberUnion'        image_token:          $ref: '#/components/schemas/BigNumberUnion'        input_audio_cache:          $ref: '#/components/schemas/BigNumberUnion'        input_cache_read:          $ref: '#/components/schemas/BigNumberUnion'        input_cache_write:          $ref: '#/components/schemas/BigNumberUnion'        internal_reasoning:          $ref: '#/components/schemas/BigNumberUnion'        prompt:          $ref: '#/components/schemas/BigNumberUnion'        request:          $ref: '#/components/schemas/BigNumberUnion'        web_search:          $ref: '#/components/schemas/BigNumberUnion'      required:        - completion        - prompt      description: Pricing information for the model      title: PublicPricing    Parameter:      type: string      enum:        - temperature        - top_p        - top_k        - min_p        - top_a        - frequency_penalty        - presence_penalty        - repetition_penalty        - max_tokens        - max_completion_tokens        - logit_bias        - logprobs        - top_logprobs        - seed        - response_format        - structured_outputs        - stop        - tools        - tool_choice        - parallel_tool_calls        - include_reasoning        - reasoning        - reasoning_effort        - web_search_options        - verbosity      title: Parameter    TopProviderInfo:      type: object      properties:        context_length:          type:            - integer            - 'null'          description: Context length from the top provider        is_moderated:          type: boolean          description: Whether the top provider moderates content        max_completion_tokens:          type:            - integer            - 'null'          description: Maximum completion tokens from the top provider      required:        - is_moderated      description: Information about the top provider for this model      title: TopProviderInfo    Model:      type: object      properties:        architecture:          $ref: '#/components/schemas/ModelArchitecture'        canonical_slug:          type: string          description: Canonical slug for the model        context_length:          type:            - integer            - 'null'          description: Maximum context length in tokens        created:          type: integer          description: Unix timestamp of when the model was created        default_parameters:          $ref: '#/components/schemas/DefaultParameters'        description:          type: string          description: Description of the model        expiration_date:          type:            - string            - 'null'          description: >-            The date after which the model may be removed. ISO 8601 date string            (YYYY-MM-DD) or null if no expiration.        hugging_face_id:          type:            - string            - 'null'          description: Hugging Face model identifier, if applicable        id:          type: string          description: Unique identifier for the model        knowledge_cutoff:          type:            - string            - 'null'          description: >-            The date up to which the model was trained on data. ISO 8601 date            string (YYYY-MM-DD) or null if unknown.        links:          $ref: '#/components/schemas/ModelLinks'        name:          type: string          description: Display name of the model        per_request_limits:          $ref: '#/components/schemas/PerRequestLimits'        pricing:          $ref: '#/components/schemas/PublicPricing'        supported_parameters:          type: array          items:            $ref: '#/components/schemas/Parameter'          description: List of supported parameters for this model        supported_voices:          type:            - array            - 'null'          items:            type: string          description: >-            List of supported voice identifiers for TTS models. Null for non-TTS            models.        top_provider:          $ref: '#/components/schemas/TopProviderInfo'      required:        - architecture        - canonical_slug        - context_length        - created        - default_parameters        - id        - links        - name        - per_request_limits        - pricing        - supported_parameters        - supported_voices        - top_provider      description: Information about an AI model available on ModelGates      title: Model    ModelsListResponseData:      type: array      items:        $ref: '#/components/schemas/Model'      description: List of available models      title: ModelsListResponseData    ModelsListResponse:      type: object      properties:        data:          $ref: '#/components/schemas/ModelsListResponseData'      required:        - data      description: List of available models      title: ModelsListResponse    UnauthorizedResponseErrorData:      type: object      properties:        code:          type: integer        message:          type: string        metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type      required:        - code        - message      description: Error data for UnauthorizedResponse      title: UnauthorizedResponseErrorData    UnauthorizedResponse:      type: object      properties:        error:          $ref: '#/components/schemas/UnauthorizedResponseErrorData'        modelgates_metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type        user_id:          type:            - string            - 'null'      required:        - error      description: Unauthorized - Authentication required or invalid credentials      title: UnauthorizedResponse    NotFoundResponseErrorData:      type: object      properties:        code:          type: integer        message:          type: string        metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type      required:        - code        - message      description: Error data for NotFoundResponse      title: NotFoundResponseErrorData    NotFoundResponse:      type: object      properties:        error:          $ref: '#/components/schemas/NotFoundResponseErrorData'        modelgates_metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type        user_id:          type:            - string            - 'null'      required:        - error      description: Not Found - Resource does not exist      title: NotFoundResponse    InternalServerResponseErrorData:      type: object      properties:        code:          type: integer        message:          type: string        metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type      required:        - code        - message      description: Error data for InternalServerResponse      title: InternalServerResponseErrorData    InternalServerResponse:      type: object      properties:        error:          $ref: '#/components/schemas/InternalServerResponseErrorData'        modelgates_metadata:          type:            - object            - 'null'          additionalProperties:            description: Any type        user_id:          type:            - string            - 'null'      required:        - error      description: Internal Server Error - Unexpected server error      title: InternalServerResponse  securitySchemes:    bearer:      type: http      scheme: bearer      description: API key as bearer token in Authorization header

SDK Code Examples

python
import requests url = "https://modelgates.ai/api/v1/models/user" headers = {"Authorization": "Bearer <token>"} response = requests.get(url, headers=headers) print(response.json())
javascript
const url = 'https://modelgates.ai/api/v1/models/user';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}}; try {  const response = await fetch(url, options);  const data = await response.json();  console.log(data);} catch (error) {  console.error(error);}
go
package main import (	"fmt"	"net/http"	"io") func main() { 	url := "https://modelgates.ai/api/v1/models/user" 	req, _ := http.NewRequest("GET", url, nil) 	req.Header.Add("Authorization", "Bearer <token>") 	res, _ := http.DefaultClient.Do(req) 	defer res.Body.Close()	body, _ := io.ReadAll(res.Body) 	fmt.Println(res)	fmt.Println(string(body)) }
ruby
require 'uri'require 'net/http' url = URI("https://modelgates.ai/api/v1/models/user") http = Net::HTTP.new(url.host, url.port)http.use_ssl = true request = Net::HTTP::Get.new(url)request["Authorization"] = 'Bearer <token>' response = http.request(request)puts response.read_body
java
import com.mashape.unirest.http.HttpResponse;import com.mashape.unirest.http.Unirest; HttpResponse<String> response = Unirest.get("https://modelgates.ai/api/v1/models/user")  .header("Authorization", "Bearer <token>")  .asString();
php
<?phprequire_once('vendor/autoload.php'); $client = new \GuzzleHttp\Client(); $response = $client->request('GET', 'https://modelgates.ai/api/v1/models/user', [  'headers' => [    'Authorization' => 'Bearer <token>',  ],]); echo $response->getBody();
csharp
using RestSharp; var client = new RestClient("https://modelgates.ai/api/v1/models/user");var request = new RestRequest(Method.GET);request.AddHeader("Authorization", "Bearer <token>");IRestResponse response = client.Execute(request);
swift
import Foundation let headers = ["Authorization": "Bearer <token>"] let request = NSMutableURLRequest(url: NSURL(string: "https://modelgates.ai/api/v1/models/user")! as URL,                                        cachePolicy: .useProtocolCachePolicy,                                    timeoutInterval: 10.0)request.httpMethod = "GET"request.allHTTPHeaderFields = headers let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in  if (error != nil) {    print(error as Any)  } else {    let httpResponse = response as? HTTPURLResponse    print(httpResponse)  }}) dataTask.resume()