This API provides endpoints to retrieve information about available LLMs. It allows you to obtain a list of providers, their models, and model-specific details.
Check the Glob.AI OS API Reference for generic variables needed to use the API.
| Method |
Path |
Description |
| GET |
/llm/providers |
Gets a list of available LLM providers (It has a parameter to return models). |
| GET |
/llm/providers/{providerName} |
Gets specific data for a provider, given its name. |
| GET |
/llm/providers/{providerName}/models |
Gets a list of models for a specific provider. |
| GET |
/llm/providers/{providerName}/models/{modelNameOrId} |
Gets data for a specific model, given the provider and the model's name or ID. |
All endpoints require authentication using one of the following:
- Authorization: Bearer $OAuth_accesstoken
- Authorization: Bearer $GEAI_ORGANIZATION_APITOKEN
- Authorization: Bearer $GEAI_APITOKEN
For $OAuth_accesstoken, you must also include the header: project-id: $GEAI_PROJECT_ID. If a $GEAI_APITOKEN is provided, the header project-id is not required.
Additionally, all endpoints can include this optional header:
- Accept-Language: desired language for Provider and Model description. (For example: English, Spanish, Japanese). If it is not declared, English will be set as the default language.
Retrieves a list of available LLM providers. Optionally includes model details.
| Name |
Type |
Description |
| include |
string |
(‘models’) optional to include all active models for each provider.
If it is provided, the following filters can be used as well: |
| streaming |
boolean |
Optional |
| multimodal |
boolean |
Optional |
| toolCalling |
boolean |
Optional |
| functionCalling |
boolean |
Optional |
| detail |
string |
Optiponal (‘Summary’, ‘Full’) Default value: ‘Full’ when is not present. Defines the level of detail required |
Note: The model-related filters (type, streaming, multimodal, toolCalling, functionCalling) apply only when include=models.
- Method: GET
- Path: $BASE_URL/v3/llm/providers
- Body: Empty
A successful response (200 OK) returns a JSON object with an array of providers. Each provider object contains at least a description, interfaceType, and name. If include=models is specified, each provider will also include a models array. Each model object contains details like contextWindow, fullName, id, isCustom, maxOutputTokens, name, priority, properties, and type.
{
"providers": [ // array of provider objects
{
"description": "string", // Provider description (localized if requested)
"friendlyName": "string", // Human-friendly provider name
"interfaceType": "string", // Interface style (e.g., "OpenAI")
"name": "string" // Provider internal name (e.g., "Anthropic")
},
{
"description": "string",
"friendlyName": "string",
"interfaceType": "string",
"name": "string"
}
]
}
{
"providers": [ // array of all providers
{
"name": "string", // System identifier for the provider (e.g., "openai", "azure")
"friendlyName": "string", // Human-friendly name (e.g., "OpenAI", "Azure OpenAI")
"description": "string", // Summary of the provider's positioning/capabilities
"interfaceType": "string", // Underlying API interface (e.g., "openai")
"models": [ // List of models available from this provider
{
"id": "string", // Model GUID (internal unique identifier)
"name": "string", // Short model name (e.g., "gpt-4o")
"fullName": "string", // Fully qualified model name (e.g., "openai/gpt-4o")
"description": "string", // Detailed model description and release notes
"type": "string", // Model interface type (e.g., "Chat")
"contextWindow": integer, // Maximum input tokens supported by the model
"maxOutputTokens": integer, // Maximum output tokens supported by the model
"functionCalling": boolean, // Supports function calling (structured tool calls)
"toolCalling": boolean, // Supports tool calling
"streaming": boolean, // Supports server-sent streaming responses
"multimodal": boolean, // Supports multimodal inputs (e.g., images, files, audio, video)
"isCustom": boolean, // Indicates if this is a custom-deployed model
"priority": integer, // Optional model ranking or routing priority
"parameters": {}, // Provider/model-specific tunables (e.g., temperature policies)
"mediaCapabilities": { // Per-modality limits and MIME types
"file": {
"maxFileSizeMB": integer, // Maximum file size in MB
"maxFilesPerPrompt": integer, // Max number of files allowed per request (0 = unlimited or not enforced)
"maxPagesPerFile": integer, // Max pages per file (0 = unlimited or not enforced)
"mimeTypes": [ "string" ] // Allowed file MIME types
},
"image": {
"maxImageSizeMB": integer, // Maximum image size in MB
"maxImagesPerPrompt": integer, // Max images allowed per request
"mimeTypes": [ "string" ] // Allowed image MIME types
},
"audio": {
"maxAudioLengthMinutes": integer, // Maximum audio length in minutes
"maxFilesPerPrompt": integer, // Max audio files per request
"mimeTypes": [ "string" ] // Allowed audio MIME types
},
"video": {
"maxVideosPerPrompt": integer, // Max videos per request
"maxLengthWithAudioMinutes": integer, // Max video length with audio (minutes)
"maxLengthWithoutAudioMinutes": integer,// Max video length without audio (minutes)
"mimeTypes": [ "string" ] // Allowed video MIME types
}
},
"properties": [
{
"id": "string", // Property GUID
"name": "string", // Capability or attribute name (e.g., "SupportsToolChoice")
"type": "string", // Property type label (e.g., "Boolean", "String")
"value": "string" // Property value serialized as string (e.g., "true", CSV list)
}
]
}
]
}
]
}
-
401 Unauthorized: Invalid OAuth access token or API token. Response body: {"errors":[{"description":"Unauthorized","id":401}]}
-
404 Not Found: No data available. Response body: {"errors":[{"description":"Not Found.","id":4000}]}
curl -X GET '$BASE_URL/v3/llm/providers' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $GEAI_APITOKEN'
curl -X GET '$BASE_URL/v3/llm/providers?include=models&type=Chat&functionCalling=true&toolCalling=true&multimodal=true&streaming=true' \
-H 'Content-Type: application/json' \
-H 'Accept-Language: english' \
-H 'Authorization: Bearer $GEAI_APITOKEN'
Retrieves specific data for a given LLM provider.
| Name |
Type |
Description |
| detail |
string |
(‘Summary’, ‘Full’) Default value: ‘Full’ when is not present. Defines the level of detail required |
- Method: GET
- Path: $BASE_URL/v3/llm/providers/{providerName}
- Body: Empty
If the endpoint execution is successful, it will return a Status 200 OK with the requested data.
{
"description": "string", // Provider description
"friendlyName": "string", // Human-friendly provider name
"interfaceType": "string", // Interface style (e.g., "openai")
"name": "string" // Provider internal name (e.g., "openai")
}
- 401 Unauthorized: Invalid OAuth access token or API token. Response body: {"errors":[{"description":"Unauthorized","id":401}]}
- 404 Not Found: No data available. Response body: {"errors":[{"description":"Not Found.","id":4000}]}.
curl -X GET '$BASE_URL/v3/llm/providers/openai' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $GEAI_APITOKEN'
Retrieves a list of models for a specific provider.
| Name |
Type |
Description |
| type |
string |
(‘Chat’, ‘Embedding’, ‘Image’, ‘Rerank’). |
| streaming |
boolean |
Optional |
| multimodal |
boolean |
Optional |
| toolCalling |
boolean |
Optional |
| functionCalling |
boolean |
Optional |
| detail |
string |
(‘Summary’, ‘Full’) Default value: ‘Full’ when is not present. Defines the level of detail required |
- Method: GET
- Path: $BASE_URL/v3/llm/providers/{providerName}/models
- Body: Empty
If the endpoint execution is successful, it will return a Status 200 OK with the requested data.
{
"models": [
{
"id": "string", // Globant model ID (GUID)
"name": "string", // Short model name (e.g., "gpt-4o")
"fullName": "string", // Provider-qualified name (e.g., "openai/gpt-4o")
"description": "string", // Human-readable model description
"type": "string", // Model interface type (e.g., "Chat")
"priority": integer, // Ordering hint for UI/catalogs
"isCustom": boolean, // True if this is a custom/finetuned model
"multimodal": boolean, // True if model supports multiple modalities
"streaming": boolean, // True if server-sent streaming is supported
"toolCalling": boolean, // True if model supports tool/function calling
"functionCalling": boolean, // True if function-calling API is supported
"contextWindow": integer, // Max input tokens the model can accept
"maxOutputTokens": integer, // Max tokens the model can generate in one response
"mediaCapabilities": { // Per-modality constraints
"file": {
"maxFileSizeMB": integer, // Max file size in MB
"maxFilesPerPrompt": integer, // Max number of files per prompt (0 = unlimited/not enforced)
"maxPagesPerFile": integer, // Max pages per file (for paged docs like PDFs)
"mimeTypes": [ "string" ] // Supported file MIME types
},
"image": {
"maxImageSizeMB": integer, // Max image size in MB
"maxImagesPerPrompt": integer, // Max images per prompt (0 = unlimited/not enforced)
"mimeTypes": [ "string" ] // Supported image MIME types
}
},
"parameters": { // Model-tunable parameters (if any)
"temperature": {
"supported": boolean, // Whether parameter is supported
"allowedValues": [ number ], // Enumerated allowed values (if constrained)
"range": [ number ] // Continuous range (if applicable) - may be empty
},
"top_p": {
"supported": boolean // Whether parameter is supported
}
/* Additional parameter keys may appear depending on the model */
},
"properties": [ // Additional provider- or system-defined properties
{
"id": "string", // Property ID (GUID)
"name": "string", // Property name (e.g., "SupportsMultimodal")
"type": "string", // Data type of value, e.g., "Boolean" | "String"
"value": "string" // Property value encoded as string
}
]
}
]
}
- 401 Unauthorized: If the OAuth access token or API token are invalid. Response body: {"errors":[{"description":"Unauthorized","id":401}]}.
- 404 Not Found: If there is no data available. Response body: {"errors":[{"description":"Not Found.","id":4000}]}.
curl -X GET '$BASE_URL/v3/llm/providers/openai/models' \
-H 'Content-Type: application/json' \
-H 'Accept-Language: english' \
-H 'Authorization: Bearer $GEAI_APITOKEN'
Retrieves data for a specific model.
| Name |
Type |
Description |
| detail |
string |
(‘Summary’, ‘Full’) Default value: ‘Full’ when is not present. Defines the level of detail required |
- Method: GET
- Path: $BASE_URL/v3/llm/providers/{providerName}/models/{modelNameOrId}
- Body: Empty
If the endpoint execution is successful, it will return a Status 200 OK with the requested data.
{
"description": "string" // Provider description and intended use
"friendlyName": "string", // Human-friendly display name
"interfaceType": "string", // Connector/interface identifier (e.g., "openai")
"name": "string", // Unique provider key (e.g., "openai")
}
- 401 Unauthorized: Invalid OAuth access token or API token. Response body: {"errors":[{"description":"Unauthorized","id":401}]}
- 404 Not Found: No data available. Response body: {"errors":[{"description":"Not Found.","id":4000}]}
- 409 Conflict: Multiple models share the same name. Response body: {"errors":[{"description":"The model name is ambiguous.","id":4000}]} Recommendation: Use the id instead of the name.
curl -X GET '$BASE_URL/v3/llm/providers/openai/models/gpt-4o' \
-H 'Content-Type: application/json' \
-H 'Accept-Language: english' \
-H 'Authorization: Bearer $GEAI_APITOKEN'