AiZolo quick start

AiZolo exposes an OpenAI Chat Completions–compatible HTTP API. Restormel Keys treats AiZolo as a first-class provider (aizolo): you can store your AiZolo API key in Connections, pick catalog models on routes, and execute via resolve and hosted runtime the same way as other OpenAI-compatible providers.

Credentials — Never commit API keys. In examples below, replace placeholders with your own secret; Restormel stores hosted keys encrypted at rest when RESTORMEL_CREDENTIALS_ENCRYPTION_KEY is configured.

1. Get an AiZolo API key

In the AiZolo product, open Settings → API Access, create a key, and copy it for the next step. Keys are commonly shown with an aizolo_ prefix; send the full token AiZolo gives you in the Authorization header.

2. Connect AiZolo in the Restormel dashboard

  1. Go to Connections and choose AiZolo, or set provider type to aizolo under Other.
  2. Add a display name and paste the key into Hosted API key (recommended) so it is encrypted in Postgres, or use a credential reference if your deployment stores secrets elsewhere.
  3. Bind the integration to your project so resolve and runtime can find a key for providerType: "aizolo".

Related: Keys + Restormel Testing onboarding for project and environment IDs.

3. Pick models from the catalog

Route steps use Restormel catalog ids such as aizolo-openai-gpt-4o (dashes replace slashes in the AiZolo model value openai/gpt-4o). The hosted runtime maps the catalog row back to the exact vendor string for the API. Provider roots like openai or gemini appear as aizolo-openai and aizolo-gemini.

Machine-readable list: GET /keys/dashboard/api/catalog — see Canonical model & provider catalog.

Self-host / local dev: after pulling changes, apply the catalog seed so Postgres has AiZolo rows: from apps/dashboard, pnpm run seed:catalog with DATABASE_URL set. Maintainers can refresh JSON from @restormel/keys with pnpm run sync:aizolo-seed (run pnpm -w --filter @restormel/keys run build first).

4. Call AiZolo directly (reference)

Base URL for chat completions (same shape as OpenAI):

https://chat.aizolo.com/api/v1/chat/completions

Minimal non-streaming request:

curl -X POST https://chat.aizolo.com/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your AiZolo API key>" \
  -d '{
    "model": "openai",
    "messages": [
      { "role": "user", "content": "Hello." }
    ]
  }'

AiZolo supports streaming (stream: true), vision backends where advertised, and rate limits that may return HTTP 429 with a Retry-After header. On hosted runtime, a 429 is classified as rate_limit for fallback policies.

5. MCP and local validation

The Restormel MCP server’s providers.validate tool can check an AiZolo key using environment variables in the MCP process (see MCP):

  • AIZOLO_API_KEY
  • RESTORMEL_MCP_AIZOLO_KEY (override)

Canonical naming for URLs and tokens across tools is in Environment vocabulary.

Related