---
title: "Create a revenue-share policy"
method: POST
path: "/api/v1/revenue-share/policies"
tags: ["Revenue Share"]
---

# Create a revenue-share policy

`POST /api/v1/revenue-share/policies`

## Request

- Base URL: `https://partner-api.monta.com`
- URL: `https://partner-api.monta.com/api/v1/revenue-share/policies`
- Auth: HTTP bearer

Required scope: `revenue-share:write`. The policy is created in `Draft` status.

## Request body

- CreateRevenueSharePolicy
  - `name` string, required: Human-readable name.
  - `description` string, nullable: Optional internal description.
  - `kind` 'team_to_team' | 'operator_to_team', required
  - `seller` 'cpo' | 'site_owner', required
  - `policyType` 'percentage' | 'per_kwh', required
  - `policyValue` number, required: The share value: a percentage of net, or an amount per kWh.
  - `moneyFlow` 'wallet_live' | 'wallet_monthly' | 'external', required
  - `validFrom` string, date-time, required: Start of the validity window.
  - `validTo` string, date-time, nullable: Optional end of the validity window.

## Response `201`

The created revenue-share policy

- RevenueSharePolicy
  - `code` string, required: Stable code identifying the policy.
  - `name` string, required: Human-readable name.
  - `description` string, nullable: Optional internal description.
  - `kind` 'team_to_team' | 'operator_to_team', required
  - `seller` 'cpo' | 'site_owner', required
  - `policyType` 'percentage' | 'per_kwh', required
  - `policyValue` number, required: The share value: a percentage of net, or an amount per kWh.
  - `moneyFlow` 'wallet_live' | 'wallet_monthly' | 'external', required
  - `status` 'Draft' | 'Active', required
  - `version` integer: Policy version.
  - `validFrom` string, date-time, nullable: Start of the validity window.
  - `validTo` string, date-time, nullable: End of the validity window.
  - `createdAt` string, date-time, nullable: Creation timestamp.
  - `updatedAt` string, date-time, nullable: Last update timestamp.
  - `deletedAt` string, date-time, nullable: Soft-delete timestamp, null when the policy is not deleted.

## Other responses

- `400`: The request is invalid
- `401`: Consumer with provided credentials was not found
- `403`: Operator doesn't have access to resource
- `404`: Entity with the provided id was not found

## Changes

- **2026-11-03** `0ca400461c52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monta/apis/monta-partner-api/changes/api/v1/revenue-share/policies/post.md)

---

[API](https://skmtc.dev/monta/apis/monta-partner-api.md) - [All operations](https://skmtc.dev/monta/apis/monta-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/monta/apis/monta-partner-api/revisions/0ca400461c52?raw)
