Surfaces
The console
Where your team runs the account.
The console is the browser UI for everything you configure and inspect: applications, models, bundles, end users, keys, usage and billing. It sits at https://console.ourseams.com. Sign in with GitHub or Google.
Anything you can do in the console, the CLI and the SDKs can do too. Prefer the console when you are exploring; prefer the CLI or SDK when the same step belongs in a script or a deploy.
Pick an application
Most of the console is scoped to one application. The header switcher lists every application on the organization and makes one active, the same choice as seams apps use.
seams apps list
seams apps use app
seams apps currentimport { Seams } from "@ourseams/sdk"
const seams = new Seams({ apiKey: process.env.SEAMS_API_KEY! })
await seams.apps.use("app")
await seams.apps.current()import os
from seams import Seams
seams = Seams(api_key=os.environ["SEAMS_API_KEY"])
seams.apps.use("app")
seams.apps.current()What each area is for
| Area | What you do there |
|---|---|
| Overview | Traffic, spend, margin and health for the active application |
| Bundles | Plans your end users subscribe to, models, price and includes |
| Models | Your model names and what they resolve to |
| Providers | Connected provider accounts, health and negotiated rates |
| Emitters | Where settled usage is delivered after each call |
| Routers | Named policies that pick among several model names |
| Outcomes | Per-job spend ceilings, and the runs that hit them |
| End users | Your customers: balances, grants, freeze, and portal links |
| Keys | End-user ak_ keys and your own sk_ tokens |
| Branding | Portal colour and logo, with a live preview |
| Usage | Calls, cost and margin, by model, end user or request |
| Settings | Team, what you pay Seams, and the gateway base URL |
Hand an end user to their portal
From End users you can mint a one-time portal link. The same call is available from the CLI and the SDKs when your product needs to open the portal after sign-in.
seams portal link alice
# url https://<app>.portal.ourseams.com/enter?t=ps_…const { url } = await seams.portal.link({ externalId: "alice" })
// redirect the browser to urlsession = seams.portal.link(external_id="alice")
# redirect the browser to session.urlThe link is single-use and short-lived. If it has already been spent, the portal shows that the link expired and asks them to open a fresh one from your product.
CLI next to the console
A few commands that cover the same ground as the main nav, useful when you would rather not click through:
seams users list
seams keys list
seams usage
seams brand show
seams bill show
seams gateway showawait seams.users.list()
await seams.keys.list()
await seams.usage()
await seams.brand.show()
await seams.bill.show()
await seams.gateway.show()seams.users.list()
seams.keys.list()
seams.usage()
seams.brand.show()
seams.bill.show()
seams.gateway.show()