https://api.veriko.mx/v1/plans/publicPublic plan catalog (landing)
Plan catalog for unauthenticated surfaces (landing /pricing, embeddable widgets). Public endpoint, IP rate-limited, cached for 5 minutes. Returns plans where is_active = 1 AND is_public = 1. Each one embeds prices[] (filtered to is_active = 1) and bilingual features[] (also active). Does NOT expose stripe_product_id, stripe_price_id, user_count, nor internal timestamps — stripe_price_id is resolved server-side at Checkout Session creation. Caché: Cache-Control: public, max-age=300 (5 min).
curl -X GET 'https://api.veriko.mx/v1/plans/public'Python example — coming soon.
JavaScript example — coming soon.
PHP example — coming soon.
| Field | Type | Description |
|---|---|---|
data | array | Main response payload. Shape varies by endpoint (object, array, or JSON:API envelope with |
type* | string | Resource type, fixed for this operation. Part of the resource identity in the JSON:API envelope. Always plan |
id* | string | Plan slug. e.g.pro |
attributes* | object | The resource's own data, kept apart from its identity. |
slug* | string | Human-readable plan identifier (slug), stable and unique; same value as pro |
name* | string | Display name of the plan, shown in the UI. e.g.Pro |
billing_model* | string | Plan billing model — free |
monthly_validation_limit | integer | nullnullable | Monthly cap on validations allowed by the plan; 5000 |
included_validations | integer | nullnullable | Validations included at no extra cost within the base quota; 5000 |
trial_days | integer | nullnullable | Free-trial length in days; 14 |
is_default | boolean | Whether this is the default plan assigned to new accounts. e.g.true |
sort_order | integer | Sort position used to order the plan within the catalog (ascending). e.g.20 |
prices* | array | Plan prices, one per billing-period and currency combination. |
features* | array | Features included in the plan, in display order. |
meta | object | Response metadata including API version, route prefix, unique request identifier, and the server timestamp in UTC. |
version | string | API version that processed the request. e.g.1.47.0 |
api_version | string | API route prefix version (e.g. v1 |
request_id | string | Unique request identifier (hex). e.g.a1b2c3d4e5f6 |
datetime | object | Companion descriptor present in every response's meta block (and in outgoing webhook payloads). Lets clients assert the timezone contract without re-reading the spec. e.g.{"timezone":"UTC","format":"ISO 8601"} |
timezone* | string | Always UTC |
format* | string | Always ISO 8601 |
links | object | Pagination or related links, present only when the endpoint returns a paginated collection. |
| Status | Class | Description | Body |
|---|---|---|---|
| 200 | 2xx | Active + public plans with embedded prices and features. | ListPublicPlansResponse |
| 429 | 4xx | Rate limit exceeded | ErrorResponse |
| Header | Type | Description |
|---|---|---|
Cache-Control | string | public, max-age=300. |
| Status | Code | Example |
|---|---|---|
| 429 | rate_limit_exceeded | Rate limit exceeded. Try again in 45 seconds. Envelope
Response headers
|