---
title: "Register Plan"
method: POST
path: "/protocol/plans"
tags: ["Protocol - Plans"]
---

# Register Plan

`POST /protocol/plans`

## Request

- Base URL: `https://api.sandbox.nevermined.app/api/v1`
- URL: `https://api.sandbox.nevermined.app/api/v1/protocol/plans`
- Auth: HTTP bearer

Creates a new payment plan with pricing and credit configuration.

## Request body

- RegisterPlanRequest
  - `name` string, required
  - `description` string
  - `priceConfig` PriceConfig, required
    - `priceType` 'FIXED_PRICE' | 'FREE'
    - `tokenAddress` string: ERC20 token address (e.g., USDC)
    - `amounts` integer[]: Price amounts (6 decimals for USDC)
    - `receivers` string[]: Wallet addresses to receive payment
  - `creditsConfig` CreditsConfig, required
    - `creditsType` 'FIXED' | 'EXPIRABLE'
    - `amount` integer: Number of credits
    - `minAmount` integer: Minimum credits per request
    - `durationOfThePlan` integer: Duration in seconds (for EXPIRABLE)

## Response `200`

Plan created

- PlanCreatedResponse
  - `success` boolean
  - `planId` string

## Other responses

- `400`: Invalid request
- `401`: Unauthorized

---

[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)
