---
title: "Authoritative plan and pricing catalogue"
method: GET
path: "/v1/plans"
tags: ["Status"]
---

# Authoritative plan and pricing catalogue

`GET /v1/plans`

## Request

- Base URL: `https://api.m2msentinel.com`
- URL: `https://api.m2msentinel.com/v1/plans`
- Auth: none required

The single source of truth for pricing. The website renders this endpoint; if any page disagrees with it, this endpoint governs.

## Response `200`

Plan catalogue

- Plans
  - `status` string
  - `currency` string
  - `billingModel` string
  - `settlement` object
  - `plans` Plan[]
    - `id` string
    - `label` string
    - `priceUsd` number, nullable
    - `monthlyCredits` integer, nullable: Hard cap per issuance-anchored 31-day access cycle. Never null for a purchasable plan.
    - `dailyCredits` integer, nullable
    - `burstPerMinute` integer, nullable
    - `sla` string, nullable
    - `purchasable` boolean
    - `description` string
    - `usdcBaseUnits` string, nullable
  - `rapidApi` object: RapidAPI marketplace access is billed and keyed by RapidAPI, not by a native M2M Sentinel sk_live API key.
    - `listingUrl` string, uri
    - `access` string
    - `planMappings` object[]
      - `marketplaceTier` 'BASIC' | 'PRO' | 'ULTRA' | 'MEGA', required
      - `servicePlanId` 'FREE' | 'STARTER' | 'GROWTH' | 'PRO', required
  - `x402PerDecisionUsd` object

---

[API](https://skmtc.dev/m2msentinel/apis/m2m-sentinel-base-contract-capability-checks-before-you-sign.md) · [All operations](https://skmtc.dev/m2msentinel/apis/m2m-sentinel-base-contract-capability-checks-before-you-sign/llms.txt) · [OpenAPI document](https://skmtc.dev/m2msentinel/apis/m2m-sentinel-base-contract-capability-checks-before-you-sign/revisions/2dadd4e704fd?raw)
