Authentication
Adversarial separates human authentication (interactive SSO with a Google or Microsoft account) from machine authentication (OAuth 2.1 client credentials issued to a service account). Both produce a principal in the same org — every action attributes back to a row at Settings > Team, whether it was taken by a human, a credential service account, or an integration.
UI login
Section titled “UI login”Log in at app.adversarial.com with your Google or Microsoft account. Invited users land in the organization that invited them; signing in without an invitation takes you through a short onboarding flow where you create your organization — see Getting Started for a walkthrough of both paths. After logging in, you can access all platform features based on your assigned roles.
API access
Section titled “API access”For scripts, agents, dashboards, and any other non-browser caller, create a service account at Settings > Team and exchange its client_id / client_secret for a short-lived bearer token:
curl -s -X POST https://api.adversarial.com/api/v1/oauth/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=arm_sa_…" \ -d "client_secret=arm_sk_…"Use the returned access_token as a bearer on subsequent API calls. The token is bounded by the SA’s roles, the IP allowlist you configured at create time, and an absolute expiry — see Service Accounts for the full walkthrough and API Access for the request-response shape and error reference.