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 Connect a Provider 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