Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / DCA Model Gateway

DCA Model Gateway: usage and support

One OpenAI- and Anthropic-compatible endpoint in front of the models you run in your own cloud: Azure AI Foundry deployments in your Azure subscription, or Google Vertex AI in your Google Cloud project. Model usage stays on your own cloud bill; the gateway adds routes, a data boundary, a key per tenant with its own token budget, and usage metering. This page covers setup, calling the gateway, tenant keys, errors, limits and billing.

At a glance

Endpointhttps://ai-gateway-east-us1.azure-api.net/gateway
Your keyapi-key header (OpenAI and Azure OpenAI APIs); x-api-key (Anthropic API, base URL https://ai-gateway-east-us1.azure-api.net/gateway/anthropic)
APIsOpenAI v1 chat completions, responses and embeddings; the Azure OpenAI deployments path; the Anthropic Messages API. Streaming works.
ModelsThe deployments in your Azure AI Foundry, Azure AI Services or Azure OpenAI resource, or Google Vertex AI in your Google Cloud project
ConnectorDCA Model Gateway Connector, application ID 7154fd27-4506-4cd5-8e3a-b2e5208d0846: no secrets; it reaches only what you assign it a role on
Portalhttps://saas.dcassociatesgroup.com: subscriptions, Connect your Foundry, Tenant keys, Regenerate gateway key

Quick start

  1. Subscribe on the Azure Marketplace listing, select Configure account now, sign in with your work account and select Activate. The subscription shows Subscribed and the page shows your first gateway key once: store it in your secret manager.
  2. Add the connector to your tenant and give it a data-only role on your Foundry resource. In Azure Cloud Shell, signed in to the subscription that holds the resource:
    git clone https://github.com/Derek-Coleman-Associates-Corporation/dca-model-gateway
    bash dca-model-gateway/samples/connect/connect-foundry.sh <resource-group> <foundry-resource-name>
    The script creates the custom role DCA Model Gateway Inference (calls to deployments only: no keys, no settings) and assigns it. The built-in Cognitive Services User role also works but additionally allows listing the resource's keys. Manual steps: Connect your Foundry.
  3. Connect: in the portal open Subscriptions, the subscription's menu, Connect your Foundry. Enter your endpoint and at least a default deployment, then select Save and test.
  4. Keys: missed the key, or need to rotate it? In the same menu choose Regenerate gateway key. For a key per customer or application, choose Tenant keys (below).
  5. Call the gateway:
    curl https://ai-gateway-east-us1.azure-api.net/gateway/openai/v1/chat/completions \
      -H "api-key: $DCA_GATEWAY_KEY" -H "Content-Type: application/json" \
      -d '{"messages":[{"role":"user","content":"Hello"}]}'

Until a Foundry is connected, requests are refused with 409 foundry_not_connected and nothing is forwarded.

Use your SDK

from openai import OpenAI

key = "<your gateway key>"
client = OpenAI(base_url="https://ai-gateway-east-us1.azure-api.net/gateway/openai/v1", api_key=key,
                default_headers={"api-key": key})   # the gateway reads the api-key header
reply = client.chat.completions.create(
    model="gpt-4.1-mini",                         # a deployment in YOUR Foundry
    messages=[{"role": "user", "content": "Hello"}])

Azure OpenAI SDK: azure_endpoint="https://ai-gateway-east-us1.azure-api.net/gateway" and your key, unchanged code. Anthropic SDK: base_url="https://ai-gateway-east-us1.azure-api.net/gateway/anthropic". Tested samples for Python, Node.js and curl: samples.

Google Vertex AI

Prefer Gemini? Connect Google Vertex AI in your own Google Cloud project instead of an Azure AI Foundry resource: Connect your Foundry, then the Google Vertex AI tab. No key is created or shared: your own Microsoft Entra tenant issues a short-lived token to the DCA Model Gateway Connector, and the gateway exchanges it at Google for a short-lived token of a workload identity pool you control, which you grant a predict-only custom role. Your provider trusts only your tenant, so no other organization's connection can reach your project. Google bills model usage on your own billing account.

Setup commands and errors: Connect your Vertex AI.

Tenant keys

Give each of your customers or applications its own gateway key: Subscriptions, the subscription's menu, Tenant keys. Every key reaches the same connected Foundry, with its own limits and usage.

Keys can be added once the subscription shows Subscribed. Guide: Tenant keys.

Which deployment answers

x-dca-routeUsesIf you did not map it
cheap, auto, reasoning, code, frontierThe deployment you mapped to that routeYour default deployment
oss-onlyYour mapped open-weight deployment (enforced: refused with 422 not_open_weight if it bills as frontier)Refused with 422; never sent to the default
No headerThe deployment named in modelYour default deployment when model is empty

Send x-dca-data-boundary: us to use only the deployments you declared for the United States data boundary; anything else is refused with 422 no_eligible_provider, never rerouted. Response headers x-dca-backend, x-dca-model and x-dca-remaining-quota-tokens show who served the request and what budget is left. Full reference: API reference.

Errors and fixes

You seeMeaningFix
409 foundry_not_connectedNo Foundry connected to this subscriptionOpen Connect your Foundry in the portal and save a connection
502 foundry_auth_failed with AADSTS700016The connector is not in your Microsoft Entra tenantAdmin consent on the portal page, or az ad sp create --id 7154fd27-4506-4cd5-8e3a-b2e5208d0846
401 PermissionDenied from your FoundryThe connector has no role on the resource yetAssign the role; allow up to 10 minutes; select Test again
403 from your FoundryThe resource refuses public network trafficAllow public network access on the resource
404 DeploymentNotFoundNo deployment with that nameCheck the deployment name, not the model name
422 route_not_configured / no_eligible_providerRoute not mapped / nothing declared for the US boundaryMap it on the Connect your Foundry page
401 invalid subscription keyWrong, rotated, revoked or cancelled keyUse the current key, or regenerate it on the Subscriptions or Tenant keys page
429 / 403 without an error codeThis key's per-minute limit / its monthly cap or the budget you set for itWait retry-after seconds / caps and budgets reset on the 1st (UTC); raise or remove the key's budget on Tenant keys

Every code: Errors. A gateway refusal is never forwarded to any model.

Limits and billing

PlanPer keyKeysMonthly fee and included each monthBeyond the included amount
Team60,000 tokens/minute; 500M tokens/month25US$199; 200M open-weight + 25M frontier routed tokens; 5 active tenantsUS$0.25 per 1M open-weight; US$0.60 per 1M frontier; US$15 per additional active tenant
Partner Edition120,000 tokens/minute; 2,500M tokens/month100US$499; 1,000M open-weight + 100M frontier routed tokens; 25 active tenants

Model usage is billed by Microsoft on your own Azure subscription; the gateway does not resell it. Routed tokens are counted only for requests that reached your deployment, by the tier of the model your deployment serves. An active tenant is a key that routed at least one token in the subscription's monthly billing period; keys that are never used are free. Prices as listed on 2026-10-15; the Marketplace listing is authoritative. Details: Limits and billing.

Security and privacy

Details: Security and privacy and our privacy notice.

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) with your Marketplace subscription ID, the time of a failing request (UTC) and the full error body. Never send your gateway key.