Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Start owner sign-in

/api/v1/auth/loginPOST
Starts a browser-bound WorkOS PKCE flow. Open the returned URL in the same browser; /auth/callback handles the exchange. Google or email sign-in is selected by method.
Examples are synthetic and illustrate response shape; IDs, signatures, and credentials are not usable authority.
Request Bodyapplication/jsonrequired
Any of:
Option 1
method *"google"
Option 2
method *"email"
email *string (email)
Pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Max length: 254
Response
200 · Successful response. A paused run is an application outcome, not an HTTP error.
url *string
400 · Request validation failed.
error *string
reasonCode?string
403 · Console requests must come from the local owner workspace.
error *string
reasonCode?string
429 · Too many pending sign-ins. Try again later.
error *string
reasonCode?string
500 · The local service could not complete this request.
error *string
reasonCode?string
503 · Sign-in is not available yet. Contact your workspace administrator.
error *string
reasonCode?string
Request example
curl -X POST "https://service.example.com/api/v1/auth/login" \ -H "x-halfspan-owner: 1" \ -H "Content-Type: application/json" \ -d '{ "method": "email", "email": "owner@example.com" }'
Response example
{ "url": "https://api.workos.com/user_management/authorize?<browser-bound-parameters>" }