Browse documentation

Plans and reliability

Subscriptions and entitlements

Learn which Developer Platform capabilities and limits are controlled by the account subscription.

DevelopersAdvancedAvailable

What this guide covers

  • One account subscription governs access across its Agent Projects.
  • Entitlements can limit keys, webhook endpoints, retention, and throughput.
  • An active subscription does not imply that Yanola Balance is available.

What the Yanola Subscription controls

The Yanola Subscription is an account-level access contract for the Developer Platform. Active or trialing status plus a valid plan allows entitled operations across the account's Agent Projects. It is separate from the prepaid Yanola Balance, which pays for SaaS usage.

Subscription and entitlement layers
LayerDecision
Subscription statusWhether Developer Platform access is currently allowed.
Plan configurationWhich entitlement values apply to the account.
Entitlement usageWhether the requested Agent Project, key, endpoint, environment, or operation fits within those values.
Yanola BalanceWhether SaaS usage such as a workflow or a scheduled send can be paid. API and SDK sends do not use it.

Subscription status and recovery

Treat the dashboard's access result as authoritative. Stripe lifecycle events update the account subscription, and Yanola maps the stored status to a specific recovery action.

Subscription access states
StatusDeveloper Platform accessRecovery action
active / trialingAllowed when the referenced plan configuration is available.No action.
incompleteBlocked while checkout is unfinished.Complete the existing checkout.
past_due / unpaidBlocked because subscription payment needs attention.Update the payment method in the billing portal.
pausedBlocked while the subscription is paused.Resume or manage the subscription in the billing portal.
none / canceled / incomplete_expiredBlocked because no usable subscription is present.Start a subscription from account Billing.
active / trialing with missing plan configurationBlocked to avoid granting undefined access.Manage the subscription or contact support.

Developer Platform entitlements

Entitlement values come from the account's current plan and are shown in Billing. That current account view is the stable public discovery contract. Do not hard-code plan names, prices, seed tiers, or limit quantities into your integration because commercial offers can change without changing REST /v1.

Developer Platform entitlements
EntitlementWhat it controls
api_enabled_agent_projectsHow many Agent Projects can use Developer Platform capabilities under the account.
api_keys_per_agent_projectMaximum active API keys for each enabled Agent Project.
webhook_endpoints_per_agent_projectMaximum webhook endpoint configurations for each enabled Agent Project.
rate_limit_tierThe account's API throughput tier; use response rate-limit headers for live capacity.
log_retention_daysHow long normalized Developer Platform logs remain available.
test_mode_enabledWhether Test Mode operations are included.
support_levelThe support level associated with the plan.

How limits are enforced

Yanola checks access before enabling an Agent Project or performing an entitled operation. Existing active API keys count toward the per-project key limit, and configured webhook endpoints count toward the per-project endpoint limit.

Entitlement errors
Error codeHTTP statusWhen it occursAction
subscription_required403No active or trialing subscription grants access.Start a subscription.
subscription_incomplete403Subscription checkout has not completed.Resume the existing checkout.
subscription_past_due403The subscription is past due or unpaid.Update the payment method.
subscription_inactive403The subscription is paused or its active plan configuration is unavailable.Manage the subscription or contact support.
test_mode_not_included403The plan does not include Test Mode.Change plan or use an entitled environment.
agent_project_limit_reached403Enabling another Agent Project would exceed the account limit. An unlimited plan never returns this code.Disable unused access or change plan.
api_key_limit_reached403Creating another active key would exceed the project limit. An unlimited plan never returns this code.Revoke an unused key or change plan.
webhook_endpoint_limit_reached403Creating another endpoint would exceed the project limit. An unlimited plan never returns this code.Remove an unused endpoint or change plan.
plan_message_limit_reached402Monthly Message Cap reached (not retryable).wait for the next period or upgrade the Plan; replies inside the 24-hour window, free-form or template, still go out.

Start or complete a subscription

Use the Yanola Subscription card on the account Billing page. Choose a public purchasable plan to open Stripe Checkout. If an unexpired checkout already exists for the same plan, Yanola resumes that session instead of creating a duplicate.

  1. Review the current plan's entitlement values in Billing.
  2. Choose the plan and complete Stripe Checkout.
  3. Return to Billing and wait for the subscription status to become active or trialing.
  4. If checkout remains incomplete, use Complete checkout rather than starting repeated sessions.
  5. Create or enable Agent Project resources only after access is allowed.

Manage payment and lifecycle changes

Accounts with an existing Stripe customer and a managed subscription state use the billing portal to update payment details, resume service, or change cancellation settings. Yanola does not create a second checkout while the current subscription must be managed.

A cancel-at-period-end setting is distinct from immediate loss of access: use the current subscription status, access.allowed result, and current period end shown in Billing. Access stops when the synchronized state no longer allows it.

Subscription actions
Dashboard actionUse it for
Choose planStarting a new subscription when the account has no managed subscription.
Complete checkoutResuming the stored, unexpired incomplete checkout.
Manage subscriptionUpdating payment details, recovering past-due or paused access, and managing cancellation.
Contact supportA selected plan lacks checkout configuration or an active subscription references unavailable plan configuration.

Account scope and Agent Projects

One subscription governs Developer Platform access for the Yanola Account; individual Agent Projects do not buy separate subscriptions. The account-level api_enabled_agent_projects entitlement limits how many projects can be enabled, while key and webhook limits apply separately within each enabled project.

Yanola records entitlement enablement and subscription lifecycle changes in the account audit trail. Keep project ownership and least-privilege API key scopes in place even when a plan permits higher limits.

Combine Subscription and Balance checks

For Live Mode API readiness, verify the subscription and the Message Cap. Subscription access answers whether the account may use the capability; the Message Cap answers whether another send fits in this period. Yanola Balance only matters for SaaS usage.

  1. Confirm subscription status is active or trialing and access is allowed.
  2. Confirm the plan includes the required environment and the resource is within its entitlement limit.
  3. Confirm the API key has the necessary scope and Sender restriction.
  4. Confirm the account is under its monthly Message Cap for new API and SDK sends.
  5. After acceptance, monitor message delivery to its final state.
Common readiness combinations
SubscriptionBalanceResult
AllowedSufficientEntitled API sends and Balance-funded SaaS usage can proceed.
AllowedInsufficientAPI sends within the Message Cap, reads, and configuration remain available; Balance-funded activity is blocked, and a public API action billed from the Balance returns 402 insufficient_balance.
BlockedFundedDeveloper Platform access remains blocked; a top-up does not repair the subscription. SaaS usage stays available.
BlockedDepletedResolve subscription access for the API, and fund Balance for SaaS usage.

Operational ownership

Subscription and Balance management are dashboard account-owner workflows, not public /v1 SDK operations. Server applications should handle stable public permission and billing errors without embedding Stripe credentials, plan identifiers, or account payment logic.

  1. Alert account owners on subscription_past_due, subscription_inactive, low Balance, and failed auto top-up states.
  2. Direct subscription recovery to account Billing and the Stripe billing portal.
  3. Direct insufficient_balance recovery to a Balance top-up.
  4. Use usage records and request IDs for spend investigation; use Billing for invoices and payment state.