Skip to main content

Prices

Use this reference for exact request attributes, response envelopes, object shape, and examples. For catalog modeling, product-price relationships, and selling patterns, start with Manage your product catalog.

Price and product IDs from another application are treated as unavailable. Use the response error code rather than the HTTP status alone when choosing a recovery path.

Operations

The price object

A price object captures a specific monetary amount in a single currency, with optional metadata for display and organization. Prices can be associated with a product or exist independently. Each price also exposes whether it is currently active for new flows. The amount is set at creation and cannot be modified afterward—this immutability ensures that historical orders always reference the exact price that was charged.

Properties

  • Name
    about
    Type
    string
    Description

    Optional description of what this price represents. Max 500 characters.

  • Name
    active
    Type
    boolean
    Description

    Whether this price is active and can be used in new flows. Newly created prices are active by default. Deactivated prices remain available through lookup and pagination but are rejected by new catalog-price selections.

  • Name
    archived_at
    Type
    timestamp
    Description

    When this price was permanently retired. Omitted otherwise. Archiving also sets active to false, and archived prices cannot be reactivated.

  • Name
    created_at
    Type
    timestamp
    Description

    When this price was first created. Set automatically and never changes.

  • Name
    id
    Type
    string
    Description

    Unique identifier for this price, generated automatically during creation.

  • Name
    label
    Type
    string
    Description

    Optional short name for distinguishing prices. Max 100 characters. Examples: Monthly, Enterprise Annual, One-time setup.

  • nominalobjectThe monetary amount for this price.Click or tap to expand
    • Name
      currency
      Type
      string
      Description
      Three-letter currency code. Supported values: ghs, usd, gbp, eur, cny. Set at creation and cannot be changed.
    • Name
      value
      Type
      integer
      Description
      Amount in the smallest currency unit (e.g., cents for USD, pesewas for GHS). Set at creation and cannot be changed.
  • productobjectClick or tap to expand

    The related product, when the price is attached to one. Omitted for a standalone price. The related product omits the full prices collection.

  • Name
    updated_at
    Type
    timestamp
    Description

    Last time this price was modified. Omitted if it has not been updated.

POST/prices/create

Create a price

Create an active price with a specific currency and amount. The amount, currency, and product relationship are immutable after creation—if any of them needs to change, create a replacement price and retire the old one.

If you provide product_id, choose an existing product from your catalog. This endpoint currently permits attachment to an archived product and still creates the price as active; price eligibility does not consult the product's archive state. amount.value must be a positive integer in the currency's smallest unit, and currency codes are normalized to lowercase.

Request attributes

  • Name
    about
    Type
    string
    Description

    Description of the price. Max 500 characters.

  • amountobjectrequiredThe monetary amount for this price.Click or tap to expand
    • Name
      currency
      Type
      string
      Description
      Three-letter currency code. Supported values: ghs, usd, gbp, eur, cny.
    • Name
      value
      Type
      integer
      Description
      Amount in smallest currency unit. Must be greater than 0.
  • Name
    label
    Type
    string
    Description

    Short display name. Max 100 characters.

  • Name
    product_id
    Type
    string
    Description

    Permanently associate the price with an existing product in your catalog. Omit it for a permanently standalone price.

Request

POST/prices/create
curl https://api.inttegro.com/prices/create \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": {
"currency": "usd",
"value": 2999
},
"label": "Monthly",
"about": "Standard monthly subscription price",
"product_id": "prod_abc123xyz789"
}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}
POST/prices/archive

Archive a price

Permanently retire a price. Archiving sets active to false, records archived_at, and advances updated_at. The amount, optional product relationship, and historical order snapshots remain unchanged.

Archived prices remain available through lookup and pagination but cannot be activated or selected by new catalog-priced order and purchase-intent flows. An already-archived price returns a lifecycle conflict; create a new price if you later need the same amount again.

Request attributes

  • Name
    price_id
    Type
    string
    Required
    required
    Description

    Identifier of the price to archive.

Request

POST/prices/archive
curl https://api.inttegro.com/prices/archive \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: archive-price-pr_k8m2x9v4n7p1" \
-d '{"price_id":"pr_k8m2x9v4n7p1"}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}
POST/prices/lookup

Lookup a price

Retrieve an existing price by its ID. Active, inactive, and archived prices can all be read. The response includes the immutable nominal amount, any associated product snapshot, and lifecycle timestamps; a standalone price omits product.

Available through MCP

AI clients can use get_price for this operation. MCP read tools return minimized business data and do not change Inttegro state.

Request attributes

  • Name
    price_id
    Type
    string
    Required
    required
    Description

    The ID of the price to retrieve.

Request

POST/prices/lookup
curl https://api.inttegro.com/prices/lookup \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"price_id": "pr_k8m2x9v4n7p1"
}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}
POST/prices/page

Page through prices

Retrieve a paginated list of your prices. Results are sorted by created_at in descending order, so page 1 contains the most recently created prices.

If you provide product_id, the page is scoped to prices belonging to that product only. This includes active, inactive, and archived prices, which lets you inspect the full pricing history for a product or for your broader catalog.

Available through MCP

AI clients can use list_prices for this operation. MCP read tools return minimized business data and do not change Inttegro state.

Request attributes

  • Name
    page_number
    Type
    integer
    Description

    1-based page index to fetch. Defaults to 1 when omitted.

  • Name
    page_size
    Type
    integer
    Description

    Number of prices to return. Defaults to 256. Must be between 1 and 256.

  • Name
    product_id
    Type
    string
    Description

    Optional product ID to scope the results to a single product.

Request

POST/prices/page
curl https://api.inttegro.com/prices/page \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page_number": 1,
"page_size": 2,
"product_id": "prod_abc123xyz789"
}'

Response

SDK versionv8.2.0
PageResponse {
page: {},
}
POST/prices/update

Update a price

Update an existing price's descriptive fields. Only about and label are mutable. The product association and nominal amount remain fixed after creation, so create a new price when either needs to change.

Do not send amount or product_id: they are not supported updates. Updating an archived price's descriptive fields is currently allowed and does not reactivate it. Sending no changed descriptive fields returns the current price without advancing updated_at.

Request attributes

  • Name
    about
    Type
    string
    Description

    Updated description. Max 500 characters.

  • Name
    label
    Type
    string
    Description

    Updated display name. Max 100 characters.

  • Name
    price_id
    Type
    string
    Required
    required
    Description

    The ID of the price to update.

Request

POST/prices/update
curl https://api.inttegro.com/prices/update \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"price_id": "pr_k8m2x9v4n7p1",
"label": "Monthly (discounted)",
"about": "Promotional monthly rate for early adopters"
}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}
POST/prices/activate

Activate a price

Reactivate a previously deactivated price so it can be selected by new catalog-priced order and purchase-intent flows. Activation does not change the amount or product association; it sets active to true and advances updated_at.

Archived prices cannot be activated, and an already-active price returns a lifecycle conflict.

Request attributes

  • Name
    price_id
    Type
    string
    Required
    required
    Description

    Price identifier to activate.

Request

POST/prices/activate
curl https://api.inttegro.com/prices/activate -H "Authorization: Bearer $INTTEGRO_API_KEY" -H "Content-Type: application/json" -d '{
"price_id": "pr_k8m2x9v4n7p1"
}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}
POST/prices/deactivate

Deactivate a price

Deactivate a price so it is rejected by new catalog-priced order and purchase-intent flows. This is the reversible alternative to archiving: the price remains visible through lookup and pagination and can be reactivated later.

Deactivation only affects future selections. Existing orders that already reference the price keep their recorded amount. Archived and already-inactive prices return lifecycle conflicts.

Request attributes

  • Name
    price_id
    Type
    string
    Required
    required
    Description

    Price identifier to deactivate.

Request

POST/prices/deactivate
curl https://api.inttegro.com/prices/deactivate -H "Authorization: Bearer $INTTEGRO_API_KEY" -H "Content-Type: application/json" -d '{
"price_id": "pr_k8m2x9v4n7p1"
}'

Response

SDK versionv8.2.0
PriceResponse {
price: {},
}