Create a repricing rule — Pricefy API Reference
POST /v1/dynamic-pricing/rules — Creates a repricing rule and returns it with its settings. With `run_preview: true` (the
default) the suggested prices are calculated right after saving. Nothing is applied to your
store until you apply the suggestions, or the rule runs on autopilot.
**Typical flow**
1. `GET /v1/competitors` to pick competitor ids (only when `competitors.mode` is not `all`), and
`GET /v1/dynamic-pricing/filter-options` to build product filters.
2. `POST /v1/dynamic-pricing/rules` with `run_preview: true`.
3. Poll `GET /v1/dynamic-pricing/rules/{rule_id}` until `job_status` is `COMPLETE`.
4. `GET /v1/dynamic-pricing/preview?rule_id={rule_id}` to read the suggested prices.
5. `POST /v1/dynamic-pricing/apply/{rule_id}` with the SKUs to apply.
**How the new price is calculated**, in this order, for each product of the rule:
1. The offers of the selected competitors that have a price are collected. With
`use_last_extracted_price`, offers whose last check found no price are used too, with their
last known price.
2. `competitor_stock` keeps only the in-stock or out-of-stock offers; a product with no offer
left is skipped.
3. The reference offer is the cheapest or the highest one left (`strategy.compare_with`).
4. A product whose price already equals the reference (`stop_condition.skip_if_already_equal`),
or is already on the requested side of it (`stop_condition.skip_if_already_in_direction`), is
skipped.
5. `strategy` gives the new price, then `extra_adjustment` is applied; a result of 0 or less
skips the product.
6. `adjust_calculated_price` is applied, then `adjust_original_price` sets the regular price from
the price reached so far, then `rounding` sets the decimals.
7. `stop_condition` compares the rounded price with its reference and skips the product when the
check fails. Price limits are used only here: they never change the price.
8. The result is a suggestion, listed by `GET /v1/dynamic-pricing/preview`, until it is applied
by you or by the autopilot. When it is applied to a connected store whose product already has
a discount, `override_on_discount_conflict` decides between refusing the SKU and removing the
discount.
A skipped product keeps its current price.
Automatic repricing and the export depend on your plan and are refused with `402` otherwise
(see Plan limits). Once your account holds 100 repricing rules, creating another one returns
`400` (`limit_reached`). After a `502` or `503` the rule may have been created anyway: check
`GET /v1/dynamic-pricing/list` before retrying. Part of the Pricefy REST API.
Authentication: send the X-Api-Key header on every request. Base URL: https://api.pricefy.io.
OpenAPI specification ·
llms.txt ·
llms-full.txt
Merchant account, subscription and plan limits.
Store information and last import.
Merchant product catalog. Cursor-based pagination.
Competitor domains with price analysis.
URLs being monitored on each competitor, with stock and price diff.
Minimum Advertised Price rules and the resellers that breach them.
Dynamic pricing rules — create, read and update them, preview the suggested prices and apply them.
Scheduled reports — create, read and update them.
Alert rules (create, read and update them) and triggered alerts (price/stock variations).
The users of your account — invite colleagues, choose what each of them can see, suspend or remove them.
**Model Context Protocol** — same Pricefy API, exposed as MCP tools so Claude Desktop, Cursor, ChatGPT, Codex and the Claude CLI can call it natively. Streamable HTTP transport, JSON-RPC 2.0, dual auth (`X-Api-Key` **or** OAuth 2.1 Bearer), same per-merchant permissions as REST. 43 tools (26 read-only + 14 write + 3 destructive). See `POST /mcp` for the full catalog and the landing page for connection guides.
<img src="https://voyager.postman.com/logo/postman-logo-icon-orange.svg" alt="Postman" width="48" align="left" style="margin-right:12px"/>
The **complete Pricefy API collection** lives in the [public Pricefy Postman workspace](https://www.postman.com/pricefy/workspace/pricefy-api) — every endpoint, request body, query parameter and response example, pre-wired and ready to send. Use it to explore the API in Postman desktop / web, fork it into your own workspace, or run it as part of an automated test suite via Newman.
[](https://www.postman.com/pricefy/workspace/pricefy-api)
Alternatives:
- [Browse the workspace](https://www.postman.com/pricefy/workspace/pricefy-api) directly on postman.com
- [Download the collection JSON](/postman/collection.json) and import manually into Postman or Newman