Skip to main content
POST
Admin user login

Body

application/json

Email + password credentials.

email
string<email>
required

Admin user email. Validator rule: required|string|email|max:255.

Example:

"staff@gratona.com"

password
string<password>
required

Admin user password. Validator rule: required|string|min:6.

Example:

"hunter2hunter2"

Response

Login succeeded. Returns a bearer token, the authenticated user, a permissions map, and client billing snapshot.

status
string
Example:

"success"

client_status
string

Legacy organization-billing classification returned for compatibility. This is not the organization lifecycle state and may include historical values such as lead, due, or closed.

Example:

"active"

organization
string

Client organization display name.

Example:

"Gratona Demo Org"

website
string | null
Example:

"https://demo.gratona.com"

token
string

Laravel Passport bearer access token. Send as Authorization: Bearer <token> on subsequent requests.

Example:

"eyJ0eXAiOiJKV1QiLCJhbGciOi..."

org_created_at
string<date-time>
Example:

"2024-06-01T12:00:00Z"

last_payment_date
string<date-time> | null
Example:

"2026-04-10T08:00:00Z"

last_payment_amount
number<float> | null
Example:

39

monthly_payment
number<float>

Computed billing amount for the client.

Example:

39

user
User · object

An admin user — staff member of a client organization. Authenticates via Laravel Passport (bearer JWT) for the admin web app, and may also issue API keys (via ApiKey) for server-to-server integrations. Permissions are stored as JSON keyed by feature; group membership (group_id) supplies a baseline permission set on top of the per-user override.

plan
enum<string>
Available options:
free,
pro,
growth,
enterprise,
custom,
discounted
Example:

"pro"

pricing_tier
enum<string>
Available options:
legacy,
new,
custom
Example:

"legacy"

pricing_quote
object

Public pricing quote for the organization, including billable sponsorship units and the amount due in cents.

entitlements
object | null

Resolved organization feature entitlements with live AI quota usage where available. Null when resolution fails.

access_manifest
object

Server-derived access role and effective authority for the authenticated staff member.

permissions
object

Effective permission map for the user's group; merged donor permissions are auto-added when group_all is granted.