LLMs
LLM integrations used by chat and copilot projects
Lists the LLM integrations of your organization. The response carries configuration.apiKey, so treat it as a secret.
API key for authentication. Format - apikey YOUR_API_KEY
Page number (1-indexed). Sending it without limit sets the page size to 10. Without it no rows are skipped.
Items per page. Not capped by the server. Without it and without page, every matching row is returned; listProjects is the exception, see its own description.
Sort field, prefix with - for descending. No server-side default: without it rows come back in natural order.
Filter by provider. Any other LLM field works as a filter too.
JSON object for operator based filtering. Invalid JSON returns 400.
LLM integrations retrieved successfully
successBad request - validation error
Unauthorized - invalid or missing API key
Forbidden - insufficient permissions
curl -X GET "https://imeritapi.ango.ai/v2/llms?page=1&limit=10" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json"
{
"status": "success",
"data": {
"llms": [
{
"_id": "text",
"id": "text",
"name": "text",
"provider": "openrouter",
"model": "text",
"isStreamable": true,
"configuration": {
"apiKey": "text",
"baseUrl": "text"
},
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"deleted": true
}
],
"total": 1
}
}Registers an LLM integration for your organization. The organization and the creator are taken from the API key, so sending them has no effect, and any field outside the ones below is ignored. The response echoes configuration.apiKey. Leaving out name or provider currently surfaces as a 500 rather than a validation error.
API key for authentication. Format - apikey YOUR_API_KEY
Other values are stored without complaint but have no runtime implementation, so the integration fails the first time a project uses it.
Provider model id, for example gpt-4o
falseLLM integration created successfully
successUnauthorized - invalid or missing API key
Forbidden - insufficient permissions
curl -X POST "https://imeritapi.ango.ai/v2/llms" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "GPT-4o",
"provider": "openai",
"model": "gpt-4o",
"isStreamable": true,
"configuration": {
"apiKey": "YOUR_PROVIDER_API_KEY"
}
}'
{
"status": "success",
"data": {
"llm": {
"_id": "text",
"id": "text",
"name": "text",
"provider": "openrouter",
"model": "text",
"isStreamable": true,
"configuration": {
"apiKey": "text",
"baseUrl": "text"
},
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"deleted": true
}
}
}Soft deletes an LLM integration. It stops appearing in the list, and projects still pointing at it keep the stored reference. The response carries the deleted integration with deleted already true, including configuration.apiKey.
API key for authentication. Format - apikey YOUR_API_KEY
LLM integration ID
LLM integration deleted successfully
successUnauthorized - invalid or missing API key
Forbidden - insufficient permissions
No such integration, or it belongs to another organization
curl -X DELETE "https://imeritapi.ango.ai/v2/llms/YOUR_LLM_ID" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json"
{
"status": "success",
"data": {
"llm": {
"_id": "text",
"id": "text",
"name": "text",
"provider": "openrouter",
"model": "text",
"isStreamable": true,
"configuration": {
"apiKey": "text",
"baseUrl": "text"
},
"organization": "text",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"deleted": true
}
}
}Last updated

