aixy/customer-support while managing
the concrete provider models behind it. Change targets in Aixy without reconfiguring every client.
Use a direct provider/model ID when you want to choose a particular provider explicitly.
Create a routing model
- Open Routing. Select a project for a project route, or choose Organization for a route inherited by every project. Choose Create routing model.
- In Route, set the display name and API model ID.
customer-supportbecomesaixy/customer-support. Choose whether to prefer one model, share requests equally, share them by weight, or choose by task. Client model names accepts exact names sent by clients such as Claude Code without a provider prefix. - In Models, use Add destination and order the models. Weighted routes expose traffic weights. Task-aware routes ask when each model should be chosen. Expand a model’s connection and timeout settings only when the defaults need adjusting.
- Choosing Choose by task adds a Decision model step. Use the default Managed by Aixy option or select your own provider and model ID. Other routes skip this step.
- In Reliability, choose whether failures should try another model. Add session preferences, health-based pauses or capability checks when your application needs them. Retry limits and capability declarations expand on demand.
- In Review, check the selection, destinations and failure behavior. Use Edit to revisit
a step without losing the draft. Confirm the client model names, add a description, choose whether
to enable the route, then save. Applications can use its
aixy/…ID after configuration refresh.
Publish client model aliases
In the first Route step, enter Client model names, one exact model ID per line. For example, publishclaude-sonnet-4-5 and claude-sonnet-4-5-20250929 for a route whose destinations serve that model.
Clients can send either alias as their model without the aixy/ prefix. The canonical
aixy/… ID continues to address the same route. Review lists all accepted names alongside the
destinations; use Edit in its Route section to change them.
Aliases are case-sensitive, unique within their organization or project scope, and limited to 20 per route. Each ID contains
1–128 letters, numbers, dots, underscores, colons or hyphens and starts with a letter or number.
The same name can resolve differently in another project; the API key selects the project.
Explicit provider/model IDs and X-Provider retain direct provider selection.
Aliases use the route’s existing destinations, restrictions, budgets, guardrails and fallback policy.
Available aliases appear in the project’s authenticated model catalog. Removing an alias, disabling
an organization route or deleting it stops its inherited resolution after configuration refresh.
Deleting a project route restores matching organization names. Disabled project names block inherited
names rather than falling back to them. Disabled routes retain their
alias reservations until those aliases are removed or the route is deleted.
Aliases do not translate model families, choose versions automatically or add provider protocol
capabilities. Confirm the identity and supported features of every destination before publishing a
client’s model ID. See Claude Code for client configuration.
Organization routes and project overrides
Organization routes provide shared names without copying configuration into every project. For example, defineaixy/haiku at organization scope, add the Claude Haiku names your client sends under
Client model names, and choose the intended Bedrock destination and Organization connection.
Every project’s API key can use those names when that destination is allowed for the project.
Each requested name resolves independently: a matching project API model ID or client name takes
precedence over its organization counterpart. Other organization names remain inherited. A disabled
or unavailable project route never falls back to the organization route with the same requested name.
Scope is fixed after creation; create a separate route to change scope.
Only users with organization policy authority can create, edit or delete organization routes. Project
administrators can read inherited configuration and manage their assigned projects’ own routes.
Inheritance does not grant provider or model access: credentials resolve through the target’s selected
connection scope, while the calling project’s model restrictions, guardrails, budgets and accounting
remain in force. New organization destinations default to the organization connection; Effective
can use the calling project’s connection override.
Select a project to preview or view performance for an organization route. Both use that project’s
authorization context, and performance includes only its retained request evidence.
Choose a strategy
The strategy chooses the first target. Eligible failures then advance through the remaining
ordered targets. Set compatible models behind one alias: check tool support, context limits,
output behavior, regions, and price for every possible target.
With reliability options enabled, capability, connection and health checks determine the eligible
destinations before the strategy and Maximum attempts apply. Excluded destinations do not
distort the relative weights or rotation of the remaining targets.
Select models by task
Choose Choose by task in the Route step. Describe each destination in Models, then choose one of the two Decision model source options in Decision model:- Managed by Aixy is selected by default. Aixy uses Jev through Cloudflare with a managed connection and fixed limits. No provider connection, model ID, credentials or limits need to be configured by your team. Aixy does not store the decision input or output. Cloudflare lists Jev as a zero data retention service.
- Use your own provider selects one of your existing server-side connections and its model ID. The model must support structured Chat Completions. Decision limits and fallback selection contains connection scope, timeout, character limit and fallback strategy. Follow your provider’s Setup guide; credentials belong in the provider connection.
system-reminder blocks are removed. Older user text is discarded first. Changing the classifier
can change both the provider receiving that text and the decision’s latency and cost.
Successful classification moves the chosen destination to the front. The configured strategy orders
the other eligible destinations. Timeout, malformed or out-of-list choices, missing connections,
blocked decision models and provider errors use that strategy without another classification attempt.
No classification runs for token counting, requests without human task text, or a single eligible
destination. Send full conversation history; upstream-owned conversation identifiers are unsupported.
Task-aware routing disables Keep a stable session destination.
Change Decision model source, or your own provider’s model ID, to replace the classifier. Choose another selection
mode in Route to pause task-aware routing; completed settings and destination criteria are
retained. Returning to Choose by task restores them. An unfinished decision configuration
with missing model details or invalid limits is discarded when leaving task-aware mode. Disabling
the entire routing model still disables its aliases.
Decision content is processed transiently, including when request capture is enabled. Operational
metadata such as usage, timing, status and the selected destination remains available for routing
and accounting. This privacy rule applies to the decision call; your generation request follows
your normal activity-capture policy and destination provider’s terms.
Decision calls add provider cost and latency. Their separate Activity usage evidence, labelled
routing/classify, joins the same route execution and contributes to observed route cost. They do
not count as generation attempts, an extra gateway billing unit or monthly request admission.
Missing pricing or usage remains unknown. Hard budgets require complete classifier pricing and
reserve for classification plus eligible generation destinations before classification. Budget or
quota denial initiates no classifier call. Timeout or cancellation cannot prove that a provider
did no billable work. Review pricing and cost attribution before enabling it.
Validate destination capabilities
In Models, expand the destination’s connection and timeout settings to choose the effective connection (project override, then organization), the organization connection, or the project connection only. A project-only target is unavailable when that connection is missing. Project model restrictions apply to every choice. In Reliability, expand Tools, images and structured output, enable Validate destination capabilities, and confirm each model’s support for Tools, Structured output and Images against its selected connection. Unverified is the default. Catalog metadata is informational and does not confirm a capability. Changing the selected model or connection clears its declarations; review them again when changing the provider endpoint or account configuration. Enable Validate destination capabilities to discard targets with an unverified or unsupported feature required by the request. Aixy inspects standard Chat Completions, Messages and Responses input, including tool history and JSON output formats. Native endpoint and streaming restrictions still apply. Audio, file and video input have no confirmed contract in this release and are rejected in strict mode. This validation does not measure model quality, token context limits or data residency. If no destination qualifies, the request returnsrouting_targets_unavailable before provider
execution. Discarded destinations consume no provider attempts. Existing routes keep their behavior
until reliability options are enabled.
Keep conversations on a stable destination
Enable Keep a stable session destination and send an opaqueX-Aixy-Session value with every
turn. Use 1–128 ASCII letters, numbers, dots, underscores, colons or hyphens. Invalid values return
400 when affinity is enabled. Aixy never forwards or records this header.
Round robin and weighted routes derive a stable preference from the session, authenticated caller,
alias and eligible destinations. Weighted routes distribute sessions according to configured
weights. Priority keeps its first eligible destination. Omitting the header retains normal selection.
Send the complete conversation history on each request. Affinity does not retain conversation
content or provider state. Reliability-enabled routes reject upstream-owned previous_response_id
and conversation identifiers. Replicas choose the same preference when their eligible destinations
agree; replica-local health can temporarily change that set. Fallback is not permanently pinned:
the original preferred destination can be selected again after recovery.