{{define "signup"}}
An operator approves it before it can be used.
Thank you. Your account is waiting for approval.
You will not get an email from this gateway — it does not send any. Tell whoever you asked for access that you have signed up.
Sign in once you have been approved.
{{else}} {{if .Error}}{{.Error}}
{{end}}Already have an account? Sign in.
{{end}}{{.User.Email}}{{if ne .User.Name .User.Email}} ({{.User.Name}}){{end}}
{{template "nav" .Nav}}{{.Error}}
{{end}} {{if .NewKey}}This is shown once. Nothing can produce it again — only its hash is kept.
{{.NewKey}}
Put it in a password manager now.
curl {{.BaseURL}}/v1/chat/completions \
-H "Authorization: Bearer {{.NewKey}}" \
-H "Content-Type: application/json" \
-d '{"model": "{{.ExampleModel}}", "messages": [{"role":"user","content":"hello"}]}'
{{end}}
{{with .Connect}}
A key was made for it, shown this once — it is in everything below. Nothing can produce it again.
{{if .Command}}Writes the file below{{if eq .Tool "codex"}} into your Codex configuration{{end}}, keeping a copy of anything it replaces.
{{.Command}}{{.Path}}{{.Body}}
| {{.Label}} | {{.Value}} |
|---|
{{if eq .Tool "codex"}}{{.Run}}{{else}}{{.Run}}{{end}}
{{.}}
{{end}}A key of its own for the tool, and its configuration with the key, this gateway and a model already in it. Revoke the key below to disconnect it.
| Name | Key | Spends against | Created | Last used | State | |
|---|---|---|---|---|---|---|
| {{.Name}} | {{.Prefix}} |
{{if .ProjectID}}{{or (index $.Where .ProjectID) "a project you have left"}}{{else}}Personal{{end}} | {{date .CreatedAt}} | {{ago .LastUsedAt}} | {{state .}} | {{if eq (state .) "active"}} {{end}} |
Revoking takes effect within the gateway's cache window, up to a minute. To rotate: create the new key, switch over, wait for "last used" on the old one to stop moving, then revoke it.
{{else}}You have no keys yet.
{{end}}{{range $i, $m := .Memberships}}{{if $i}} · {{end}}{{$m.Path}} {{$m.Scope}}{{end}}
{{else}}You are not a member of any organization, team or project.
{{end}}| Limit | Value |
|---|---|
| {{.Name}} | {{.Value}} |
No limits here.
{{end}} {{else}}Nowhere to spend yet.
{{end}}Everything that applies, from the organization down to you: the strictest value wins.
Your password was changed. Any other browser you were signed in on has been signed out.
{{end}} {{if .PasswordError}}{{.PasswordError}}
{{end}}Changing it signs out every other browser, which is the point if you are changing it because something went wrong.