Getting started
Route your first request through Osyra. This guide assumes you have:
- A terminal with
curl - An Osyra account (sign up here)
1. Create a workspace
A workspace is the tenant boundary for API keys and authenticated model requests. Most teams start with one workspace per environment (dev, staging, prod).
Open Workspaces, select New workspace, and provide a name. A handle and description are optional. The console does not ask you to invent or hard-code a deployment region during this flow.
2. Mint an API key
Open API keys and select Create key. Give the key a descriptive name and choose a tier: Sandbox, Test, or Live.
Sandbox is the default self-service tier. Test and Live are long-lived classes and require workspace-admin authorization. The tier defines API-key lifecycle and quota behavior. See Authentication.
The key appears once. Copy it into a secret store (Vault, AWS Secrets Manager, Doppler) — Osyra never displays it again.
3. Make your first call
Osyra exposes a narrow OpenAI-compatible Chat Completions endpoint. The examples below use the supported string-message fields; they do not imply compatibility with every OpenAI request option. See Making requests for the exact mapped subset.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.osyra.ai/v1",
api_key=os.environ["OSYRA_API_KEY"],
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a terse assistant."},
{"role": "user", "content": "Summarize HTTP/2 in one sentence."},
],
)
print(response.choices[0].message.content)
print("Response ID:", response.id)A successful response uses the supported OpenAI Chat Completions response shape and can include additive Osyra metadata. The current compatibility handler exposes usage/model/provider headers; it does not emit an X-Osyra-Receipt header. The response id identifies the model response and must not be treated as a signed receipt.
4. Verify in the dashboard
Open the dashboard Activity panel to inspect recent real events when the Edge activity feed is configured. Event delivery is asynchronous; this guide does not promise a fixed sub-second arrival time.
- The recorded action and outcome
- The event time and correlation identifier
- The emitting service and resource reference when available
Osyra does not promise that raw prompts or responses are present in activity rows. Privacy controls such as no_store can deliberately prevent body persistence.
5. Add a policy
Before production, review the policies actually published for the workspace and test both allow and deny paths with real requests. Policy capabilities and syntax live in Governance & policy; do not assume a control is active because a console page exists.
What's next
- Authentication — key scopes, rotation, revocation, BYOK to providers
- Making requests — chat, embeddings, streaming, retries
- Model routing — the verified chat and embeddings dispatch contract
- Error reference — selected shared Edge codes and recovery guidance