---
title: "Quote a call in subscription credits"
method: POST
path: "/router/subscription/quote"
tags: ["Router"]
---

# Quote a call in subscription credits

`POST /router/subscription/quote`

## Request

- Base URL: `https://api.sandbox.nevermined.app/api/v1`
- URL: `https://api.sandbox.nevermined.app/api/v1/router/subscription/quote`
- Auth: HTTP bearer

Credits one call to a catalog endpoint costs with your Nevermined Subscription: the endpoint's current rate on Nevermined's rate card, whatever the merchant charges at the moment of the call. Rates change without notice; the rate in force when the call is made applies.

Answers from the rate card alone — the merchant is not contacted, nothing is reserved and nothing is charged. It refuses what `POST /router/subscription/route` would refuse before contacting the merchant (an ineligible or untariffed endpoint, no spendable subscription), but it does NOT check your credits left, the merchant's live price or Nevermined's treasury; the route checks those when the call is made. A `url` is refused (`BCK.SUBSCRIPTION_ROUTER.0005`).

Personal API keys only: the Nevermined Subscription belongs to a personal account, so call with a key that carries no organization tag and without `X-Current-Org-Id`. An OAuth-minted credential is refused (`BCK.OAUTH.0030`). Where the subscription is not available — on this deployment or to this account — it answers 404 `BCK.SUBSCRIPTION_ACCESS.0001`.

## Request body

- SubscriptionQuoteRequestDto
  - `slug` string, required: Catalog slug of the service to call. Subscription credits pay catalog services only, addressed by slug; the Router resolves it to the merchant server-side.
  - `path` string: Subpath of the endpoint to price, as on the route (path segments only).
  - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE': HTTP method of the call to price.

## Response `201`

The credits one call to this endpoint costs, and the tariff version that sets it.

- SubscriptionQuoteResultDto
  - `slug` string, required: The catalog slug priced.
  - `credits` integer, required: Credits one call to this endpoint costs: its current rate on Nevermined's rate card, whatever the merchant charges at the moment of the call.
  - `tariffVersion` integer, required: The tariff version that sets `credits`.

## Other responses

- `400`: Invalid request, or a field a subscription call does not accept (BCK.SUBSCRIPTION_ROUTER.0005, `params.field`).
- `401`: Missing/invalid Nevermined API key.
- `402`: No subscription that can spend right now — none bought, ended, past due, or suspended by a card dispute — or a call made in an organization you are an active member of (`X-Current-Org-Id`, or that organization's API key), which never falls back to your personal subscription (BCK.SUBSCRIPTION_ROUTER.0002).
- `403`: This endpoint cannot be paid with subscription credits (BCK.SUBSCRIPTION_ROUTER.0001; `params.reason` names the failed check); or an OAuth-minted credential (BCK.OAUTH.0030).
- `404`: Not available to the caller (BCK.SUBSCRIPTION_ACCESS.0001), or no listed catalog service has that `slug` (BCK.CATALOG.0001).
- `429`: Per-slug throttle.
- `500`: Nevermined-side data error: the subscription does not resolve to its credits (BCK.SUBSCRIPTION_ROUTER.0011). Nothing was charged. (An unusable rate surfaces only on the route, as BCK.SUBSCRIPTION_ROUTER.0013.)
- `503`: The subscription could not be looked up (BCK.SUBSCRIPTION_ROUTER.0012, retryable), or this deployment cannot run subscription calls (BCK.SUBSCRIPTION_ROUTER.0010).

---

[API](https://skmtc.dev/nevermined/apis/nevermined-api.md) · [All operations](https://skmtc.dev/nevermined/apis/nevermined-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nevermined/apis/nevermined-api/revisions/cabbe618c80b?raw)
