Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.aiybiz.com/llms.txt

Use this file to discover all available pages before exploring further.

Model overview

Aiybiz uses a per-seat subscription model. Companies pay a monthly or annual fee per user seat. Sessions run freely within the plan’s concurrent session limit — no per-hour charges, no wallet top-ups.
WhoWhat
CompanyPays a monthly/annual subscription per seat
PlanDefines maxActiveSessions per seat
SessionFree to run — no per-session billing

Plans

Each plan defines:
  • Price per seat — monthly or annual
  • maxActiveSessions — how many sessions can run simultaneously per seat

Subscription lifecycle

1

Company subscribes

POST /stripe/subscriptions/create { planId, quantity } → Stripe Subscription created
2

Stripe confirms payment

Stripe fires invoice.paid → Aiybiz activates the subscription and sets the seat count
3

Ongoing renewals

Stripe fires invoice.paid on each renewal → Aiybiz keeps the subscription active
4

Cancellation or failure

customer.subscription.deleted or invoice.payment_failed → Aiybiz marks the subscription inactive

Concurrent session guard

When a session is requested, the platform checks:
activeSessions < plan.maxActiveSessions × seats
If the limit is reached, the API returns 429 Too Many Requests. End an active session to start a new one.

Auto-end cron

A cron job runs periodically against POST /internal/check-sessions:
  • Detects stale sessions (e.g. no heartbeat for too long)
  • Force-ends them and notifies the client

Seat management

Company admins can add or remove seats from Settings → Subscription. Changes are prorated by Stripe automatically.