---
title: "Price a pack (publisher-owned)"
method: PUT
path: "/v1/admin/registry/packs/{packId}/pricing"
tags: ["Marketplace"]
---

# Price a pack (publisher-owned)

`PUT /v1/admin/registry/packs/{packId}/pricing`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/admin/registry/packs/{packId}/pricing`
- Auth: HTTP bearer

Marks the pack paid: ensures the billing product exists (entitlement key `domain_pack:<packId>`), mints a fresh immutable price, and stores the priceCode + display price in the instance-local registry meta. Only the company that published the pack may price it. Answers 400 while the billing integration is disabled. Source: src/registry/marketplace-admin.controller.ts.

Required scope: `registry:publish`.

## Path parameters

- `packId` string, required

## Request body

- SetPricingRequest
  - `amount` integer, required: Minor units (e.g. cents).
  - `currency` string, required

## Response `200`

The pricing state.

- PackPricingResponse
  - `displayPrice` DisplayPrice
    - `amount` integer, required: Minor units (e.g. cents).
    - `currency` string, required: 3-letter ISO 4217 currency code.
  - `packId` string, required
  - `paid` boolean, required
  - `priceCode` string

## Other responses

- `400`: Validation failed.
- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

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