← Back to schema index

Plan

Subscription plan available on the platform. Returned by `GET /v1/plans` so the user can compare options and choose a plan.

Properties

FieldTypeDescription
slug*stringUnique plan identifier (immutable). Used to reference the plan in other requests (e.g. `PUT /v1/users/me/subscription`).
name*stringHuman-readable plan name shown in the UI.
monthly_validation_limit*integerValidations included per calendar month. `0` means the plan includes no validations (upgrade required). Very large values (e.g. 999999) represent virtually unlimited quota.
is_default*boolean`true` if this plan is automatically assigned to new accounts.
billing_model*stringBilling model: `free` — no charge; `tiered` — fixed price per period; `metered` — usage reported to Stripe; `hybrid` — base plus overage.
trial_daysinteger | nullTrial days before billing starts. `null` when the plan offers no trial.
included_validationsinteger | nullValidations included before overage charges apply on hybrid plans. `null` for `free` and `enterprise` plans.
is_public*boolean`true` if the plan appears on the public pricing page. `false` hides the plan from self-service (e.g. `admin_granted` or `enterprise` plans).
stripe_product_idstring | nullAssociated Stripe Product identifier. `null` when the plan is not connected to Stripe (free or manually managed plans).
is_active*booleanInactive plans are not shown to users and cannot be assigned. Only visible to administrators.
sort_order*integerDisplay order in the UI: lower value = first. Controls the sequence of plans in the pricing card.
user_countintegerActive (non-revoked) users currently on this plan.
beneficiaries_maxinteger-1 = unlimited; >=0 caps beneficiaries per plan.
retry_max_retriesinteger | nullPer-plan cap on retries per validation. `null` inherits the global default from `config/validation_retries.php`.
retry_max_pending_per_userinteger | nullPer-plan cap on pending retries per user at any moment. `null` inherits the global default.
retry_max_dispatched_per_dayinteger | nullPer-plan cap on retries dispatched per day per user. `null` inherits the global default.
featuresarrayList of bilingual plan feature bullets to display in the pricing card. Ordered by ascending `sort_order`. Public endpoints include only active feature rows.

Used in operations

  • GET /v1/admin/plans
  • POST /v1/admin/plans/create/execute
  • GET /v1/admin/plans/{slug}
  • POST /v1/admin/plans/{slug}/update/execute
  • PUT /v1/admin/plans/{slug}/default
  • PUT /v1/admin/plans/{slug}/toggle
  • GET /v1/plans

Referenced by schemas