BazaarLinkBazaarLink
Sign in
DocsAPI ReferenceSDK ReferenceAgentic UsageAI Skills
BETA

BazaarLink Virtual Models

Build an ordered fallback chain using your own keys, nodes and platform credits.

Personal and organization definitions are separate. The API key owner selects the namespace; the same slug may exist for different owners.

vm/team-chat · Fallback chain

  1. 1BYOKopenai/gpt-6.1-sol
  2. 2BYOCqwen/qwen3.8-27b
  3. 3Platform creditsopenai/gpt-6-luna

Tried top to bottom; each step can use a different model.

1

Steps run in your chosen order and may use different models.

2

Retry on 429, 5xx, timeout or unavailable sources. Other client errors stop the chain; no retry after output begins.

3

The successful step follows its existing BYOK, BYOC or platform billing rules. Failed attempts do not charge inference credits.

4

Request parameters pass through; virtual models do not set temperature, reasoning or system prompts.

How it works

model: "vm/<slug>" · /v1/chat/completions · /v1/responses · /v1/messages

curl

curl "$BAZAARLINK_BASE_URL/v1/chat/completions" \
  --header "$BAZAARLINK_AUTHORIZATION" \
  --header "Content-Type: application/json" \
  --data '{"model":"vm/team-chat","messages":[{"role":"user","content":"..."}]}'

OpenAI SDK

import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.BAZAARLINK_API_KEY,
  baseURL: "https://api.bazaarlink.ai/v1",
});
const result = await client.chat.completions.create({
  model: "vm/team-chat",
  messages: [{ role: "user", content: "..." }],
});

List · Personal virtual models

Use a browser session or management key. Only the key owner's personal models are managed; inference keys are rejected.

GET /api/virtual-models
curl -X GET "https://bazaarlink.ai/api/virtual-models" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY"

Create or update · Personal virtual models

Use a browser session or management key. Only the key owner's personal models are managed; inference keys are rejected.

PUT /api/virtual-models
curl -X PUT "https://bazaarlink.ai/api/virtual-models" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"team-chat","steps":[{"source":"platform","model":"qwen/qwen3.7-flash"}]}'

Delete · Personal virtual models

Use a browser session or management key. Only the key owner's personal models are managed; inference keys are rejected.

DELETE /api/virtual-models
curl -X DELETE "https://bazaarlink.ai/api/virtual-models?slug=team-chat" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY"

List · Organization virtual models

Use a browser session or management key. Members may read; only org admins may write. Org-bound keys work only in their own org; inference keys are rejected.

GET /api/orgs/:orgId/virtual-models
curl -X GET "https://bazaarlink.ai/api/orgs/$ORG_ID/virtual-models" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY"

Create or update · Organization virtual models

Use a browser session or management key. Members may read; only org admins may write. Org-bound keys work only in their own org; inference keys are rejected.

PUT /api/orgs/:orgId/virtual-models
curl -X PUT "https://bazaarlink.ai/api/orgs/$ORG_ID/virtual-models" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"team-chat","steps":[{"source":"platform","model":"qwen/qwen3.7-flash"}]}'

Delete · Organization virtual models

Use a browser session or management key. Members may read; only org admins may write. Org-bound keys work only in their own org; inference keys are rejected.

DELETE /api/orgs/:orgId/virtual-models
curl -X DELETE "https://bazaarlink.ai/api/orgs/$ORG_ID/virtual-models?slug=team-chat" \
  -H "Authorization: Bearer $BAZAARLINK_MANAGEMENT_KEY"
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Virtual Models (Beta) | BazaarLink