Not Diamond
API gatewaynot-diamond
Model router API that recommends the best LLM for each prompt; the client then calls that provider.
- Provider
- default
- Kind
- API gateway
- Category
- Edge
- Official docs
- https://docs.notdiamond.ai/docs/quickstart-routing
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| auth | enum | none | api-key | jwt | oauth2 | mtls | no | none | ▸ api-key |
| concurrencyLimit | boolean | — | no | false | inherited |
| customRouter | boolean | — | no | false | inherited |
| idempotencyKeys | boolean | — | no | false | inherited |
| instances | integer | — | no | — | inherited |
| keyTtlHours | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ true |
| protocol | enum | http | grpc | websocket | fix | ouch | no | http | ▸ http |
| proxiesRequests | boolean | — | no | false | inherited |
| rateLimiting | boolean | — | no | false | ▸ true |
| requestsPerSecond | integer | — | no | 50 | inherited |
| tls | boolean | — | no | true | inherited |
| tradeoff | enum | quality | cost | latency | no | quality | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
sync-chain-too-deep
Every consecutive synchronous hop from this entry point spends part of the stated p95 latency budget, and the chain's failures multiply. More than three hops is a budget nobody is tracking.
- — all of these hold:
- — the design requirement `latency.p95Ms` has a value
- — the longest chain of synchronous calls starting at the node is more than 3 hops long
nodes:
- { id: "not-diamond", component: "not-diamond" }API Gatewayalibaba-api-gatewayAmazon API Gatewayaws-api-gatewayAWS AppSync GraphQL APIaws-appsyncAzure API Managementazure-api-managementAI Gatewaycloudflare-ai-gatewayCloudflare API Shieldcloudflare-api-shieldMCP Server Portalcloudflare-mcp-portalCloudflare Privacy Gatewaycloudflare-privacy-gatewayGeneric API gatewayapi-gatewayApache APISIXapisixApollo GraphOSapollo-graphosEasegresseasegressEmissary-ingressemissaryEnvoy Gatewayenvoy-gatewayGloo GatewayglooHasurahasuraHelicone AI Gatewayhelicone-gatewayHigresshigressKong GatewaykongKong AI Gatewaykong-ai-gatewayKong Konnectkong-konnectKrakenDkrakendLiteLLM ProxylitellmMartian GatewaymartianPortkey AI GatewayportkeyRequestyrequestySpring Cloud Gatewayspring-cloud-gatewayTyk GatewaytykUnifyunify-aiVercel AI Gatewayvercel-ai-gatewayWSO2 API Managerwso2-api-managerZuulzuulApigeeapigeeAgent Gatewaygoogle-agent-gatewayAPI Gatewaygoogle-api-gatewayApigee hybridgoogle-apigee-hybridCloud Endpointsgoogle-cloud-endpointsFirebase Data Connectgoogle-firebase-data-connectIBM API Connectibm-api-connectOCI API Gatewayoci-api-gateway
# yaml-language-server: $schema=../../schema/component.schema.json # Not Diamond: model router that recommends which LLM should answer each prompt; the client then calls # the provider itself, so prompts are not proxied. Per "Pre-trained router: Chat", the tradeoff defaults # to quality (cost or latency are opt-in) and auth is a Not Diamond API key; per "Rate limits", every # plan is capped at 50 requests per second. schemaVersion: "1" type: "component" id: "not-diamond" kind: "api-gateway" provider: "default" docs: "https://docs.notdiamond.ai/docs/quickstart-routing" defaults: managed: true auth: "api-key" protocol: "http" rateLimiting: true properties: tradeoff: type: "enum" values: ["quality", "cost", "latency"] default: "quality" proxiesRequests: type: "boolean" default: false requestsPerSecond: type: "integer" default: 50 customRouter: type: "boolean" default: false