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_urlhttps://<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