AurionAI Docs

Login

Authenticate with an Azure AD ID token. The Azure AD token is validated, and if the user exists in the system and is active, an application JWT is returned. If the user belongs to multiple active tenants, returns ``requires_tenant_selection: true`` with a list of tenants. The frontend then calls ``/login/azure/select-tenant`` with the chosen tenant_id to complete login. On first login, the user's Azure AD identity (tid + oid) is bound to their app user record. Rate limited: 10 requests per minute per IP.

POST
/api/v1/auth/login

Authenticate with an Azure AD ID token.

The Azure AD token is validated, and if the user exists in the system and is active, an application JWT is returned.

If the user belongs to multiple active tenants, returns requires_tenant_selection: true with a list of tenants. The frontend then calls /login/azure/select-tenant with the chosen tenant_id to complete login.

On first login, the user's Azure AD identity (tid + oid) is bound to their app user record.

Rate limited: 10 requests per minute per IP.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/auth/login" \  -H "Content-Type: application/json" \  -d '{    "azure_token": "stringstringstringstringstringstringstringstringst"  }'
{
  "access_token": "string",
  "expires_in": 0,
  "requires_tenant_selection": false,
  "tenants": [
    {
      "tenant_id": "string",
      "tenant_name": "string"
    }
  ],
  "token_type": "Bearer",
  "user": {
    "email": "string",
    "email_verified": true,
    "full_name": "string",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "is_azure_bound": true,
    "role": "super_admin",
    "tenant_activated_at": "2019-08-24T14:15:22Z"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}