For the complete documentation index, see llms.txt. This page is also available as Markdown.

LLMs

LLM integrations used by chat and copilot projects

List LLM Integrations

get
/llms

Lists the LLM integrations of your organization. The response carries configuration.apiKey, so treat it as a secret.

Authorizations
apikeystringRequired

API key for authentication. Format - apikey YOUR_API_KEY

Query parameters
pageinteger · min: 1Optional

Page number (1-indexed). Sending it without limit sets the page size to 10. Without it no rows are skipped.

limitinteger · min: 1Optional

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.

sortstringOptional

Sort field, prefix with - for descending. No server-side default: without it rows come back in natural order.

providerstringOptional

Filter by provider. Any other LLM field works as a filter too.

filterstringOptional

JSON object for operator based filtering. Invalid JSON returns 400.

Responses
200

LLM integrations retrieved successfully

application/json
statusstringOptionalExample: success
get/llms
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
  }
}

Create LLM Integration

post
/llms

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.

Authorizations
apikeystringRequired

API key for authentication. Format - apikey YOUR_API_KEY

Body
namestringRequired
providerstring · enumRequired

Other values are stored without complaint but have no runtime implementation, so the integration fails the first time a project uses it.

Possible values:
modelstringOptional

Provider model id, for example gpt-4o

isStreamablebooleanOptionalDefault: false
Responses
201

LLM integration created successfully

application/json
statusstringOptionalExample: success
post/llms
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
    }
  }
}

Delete LLM Integration

delete
/llms/{llmId}

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.

Authorizations
apikeystringRequired

API key for authentication. Format - apikey YOUR_API_KEY

Path parameters
llmIdstringRequired

LLM integration ID

Responses
200

LLM integration deleted successfully

application/json
statusstringOptionalExample: success
delete/llms/{llmId}
curl
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