TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/paramveer-cyber/Deployaar/llms.txt
Use this file to discover all available pages before exploring further.
billing router manages plan information, real-time usage tracking, and the upgrade purchase flow for Deployaar organizations. Deployaar uses Razorpay as its payment provider. All billing procedures require authentication, and write operations (createOrder, verifyPayment) require the caller to be an owner or admin of the organization.
Plan limits reference
The following limits apply per billing plan:| Plan | Display Name | Max Projects | Max Feature Requests | AI Providers |
|---|---|---|---|---|
free | Free | 1 | 3 | Google (gemini-2.0-flash) |
pro | Pro | 5 | 25 | Google (gemini-1.5-pro), OpenAI (gpt-4o) |
pro_max | Pro Max | 15 | 100 | Anthropic, OpenAI, Google, DeepSeek (all models) |
Limits are enforced server-side at the point of creation. Attempting to create
a project or feature request beyond the plan ceiling throws
403 Forbidden
with an upgrade prompt embedded in the error message.billing.getCurrentPlan — query
Returns the current billing plan, subscription status, per-plan limits, and current usage counts for an organization. Any organization member may call this — it does not require admin privileges.
Input
The UUID of the organization whose billing information should be retrieved.
Response
The organization’s current billing plan identifier.
The subscription status. An
inactive or past_due status may restrict access to paid features.Human-readable plan name shown in the UI (e.g.
"Pro Max").Maximum number of projects the current plan allows.
Maximum number of feature requests (across all projects in the org) the current plan allows.
Number of projects currently in the organization.
Number of feature requests currently in the organization.
billing.createOrder — mutation
Creates a Razorpay order for upgrading the organization to the target plan. Returns the order ID and credentials needed to open the Razorpay payment widget on the client. Requires the caller to be an owner or admin.
Pricing
| Plan | Amount (INR paise) | Displayed amount |
|---|---|---|
pro | 149 900 | ₹1,499 |
pro_max | 299 900 | ₹2,999 |
Input
The UUID of the organization that is upgrading.
The plan to upgrade to. One of:
pro | pro_max.Response
The Razorpay order ID. Pass this to the Razorpay checkout widget as
order_id.Order amount in the smallest currency unit (paise for INR). Divide by 100 for display.
Currency code, always
"INR".The Razorpay publishable key. Pass to the checkout widget as
key.billing.verifyPayment — mutation
Verifies the HMAC-SHA256 signature returned by the Razorpay widget after checkout and activates the new plan. If the signature does not match, the procedure throws 403 Forbidden. Requires owner or admin.
Razorpay also sends webhook events (
payment.captured, payment.failed,
subscription.cancelled) which Deployaar handles server-side. verifyPayment
provides immediate confirmation for the client; the webhook handler acts as a
reliable fallback.Input
The UUID of the organization whose plan should be upgraded.
The
razorpay_order_id returned by the Razorpay widget after successful payment.The
razorpay_payment_id returned by the Razorpay widget.The
razorpay_signature HMAC returned by the Razorpay widget. Used to verify payment authenticity.The plan being activated. One of:
pro | pro_max.