Quickstart
First API call in under 5 minutes.
1. Sign in
Go to dynoyard.app/login and request a magic-link code. No password — we email you a one-time code valid for 10 minutes. First sign-in auto-creates your org with a slug derived from your email (you can rename later in Settings).
2. Top up
Settings → Billing. Add a card and top up — $10 minimum. Pay-as-you-go from there; auto-topup is optional. We never charge a subscription.
3. Create an API key
Keys → New key. Name it (e.g. prod, cursor,
my-agent), pick which models the key can call (defaults to your
org’s full enabled set), then create.
The next screen shows your sk-dyno-XXXX token once. Copy it
now — we don’t store it in plaintext.
Endpoint: https://<your-org>.dynoyard.app/v1
API key: sk-dyno-XXXX
Lost? Rotate from the key detail page — old key invalidates within seconds.
4. Send a request
curl https://<your-org>.dynoyard.app/v1/chat/completions \
-H "Authorization: Bearer sk-dyno-XXXX" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k2-thinking",
"messages": [{"role": "user", "content": "Reverse a string in Python"}],
"max_tokens": 256
}'
Sub-second response. Available model ids are listed at
GET /v1/models or on the public pricing page.
The JSON response includes a usage.cost field (USD) alongside the
standard OpenAI usage token totals, so you can attribute cost per
request without a second round trip.
5. Use any OpenAI SDK
Swap one line: base_url → https://<your-org>.dynoyard.app/v1. SDK
unchanged.
from openai import OpenAI
client = OpenAI(
base_url="https://<your-org>.dynoyard.app/v1",
api_key="sk-dyno-XXXX",
)
resp = client.chat.completions.create(
model="mimo-v2-5-pro",
messages=[{"role": "user", "content": "ship it"}],
)
print(resp.choices[0].message.content)
What’s next
- Wire your IDE — Cursor, Zed, Claude Code, Continue
- Migrating from OpenRouter — one base-URL swap
- OpenAI compat — endpoints, streaming,
tool calls,
reasoning_contenthandling - Billing — pay-as-you-go credits, auto-topup, wire