Skip to content

Authentication

Sessions

POST /auth/login with a username and password sets a JWT in an HttpOnly cookie. Every other endpoint reads it back from that cookie.

HttpOnly means scripts in the page cannot read the token. It also means a browser-based client needs to send credentials with its requests rather than attaching an Authorization header.

bash
curl -c jar.txt -X POST https://…/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"me","password":"…"}'

curl -b jar.txt https://…/auth/me

POST /auth/logout clears the cookie.

Registration

POST /auth/register creates an account and signs it in. The role is always viewer and there is no role field on the request — elevation is an admin operation.

Roles

Three: viewer, officer, admin. See Accounts and roles for what each can do.

Endpoints under /admin/ and /auth/users/ require admin.

401 versus 403

401No valid session — the cookie is missing, expired or malformed. Sign in again.
403Signed in, but this role may not do this. Signing in again will not help.

There are no API keys

SWGoH has no API-key mechanism. Automation authenticates the same way a browser does: log in, keep the cookie.

SWGoH — Blue Sapphire Software.