Price Monitor

Price Monitor tracks your products' prices across internal price lists and competitor sites, and can automatically reprice your catalog against rules you define.

The API is split across three routers:

  • Price lists — GET/POST/PATCH/DELETE /api/v1/price-lists/… — channel-scoped internal price lists and their entries.
  • Per-product prices — GET/POST /api/v1/products/{product_id}/prices/… — read and write price entries attached to a specific product.
  • Price Monitor — GET/POST/PATCH/DELETE /api/v1/prices/… — global dashboard, monitored-product list, price checks, competitors, alerts, MAP enforcement, and repricing.

/price-lists

Price lists

List price lists

Returns configured price lists.

Query parameters

  • Name
    channel
    Type
    string
    Description

    Filter by sales channel identifier.

  • Name
    is_active
    Type
    boolean
    Description

    Filter by active status.

Request

GET
/price-lists/
curl "https://api.pixeepim.com/api/v1/price-lists/?channel=amazon_fr&is_active=true" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "pl-001",
    "name": "Amazon FR — Q3 2026",
    "channel": "amazon_fr",
    "currency": "EUR",
    "priority": 10,
    "is_active": true,
    "start_date": "2026-07-01T00:00:00Z",
    "end_date": null
  }
]

Create a price list

Creates a new price list.

Body parameters

  • Name
    name
    Type
    string
    Description

    Price list name.

  • Name
    channel
    Type
    string
    Description

    Sales channel identifier (e.g. amazon_fr, default).

  • Name
    currency
    Type
    string
    Description

    ISO 4217 currency code (default: EUR).

  • Name
    description
    Type
    string
    Description

    Optional description.

  • Name
    start_date
    Type
    string
    Description

    ISO 8601 start date.

  • Name
    end_date
    Type
    string
    Description

    ISO 8601 end date.

  • Name
    is_active
    Type
    boolean
    Description

    Default: true.

  • Name
    priority
    Type
    integer
    Description

    Higher priority takes precedence when several lists match a channel (default: 0).

Request

POST
/price-lists/
curl -X POST https://api.pixeepim.com/api/v1/price-lists/ \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Amazon FR — Q3 2026",
    "channel": "amazon_fr",
    "currency": "EUR",
    "priority": 10
  }'

Response

{
  "id": "pl-001",
  "name": "Amazon FR — Q3 2026",
  "channel": "amazon_fr",
  "currency": "EUR",
  "priority": 10,
  "is_active": true,
  "created_at": "2026-09-17T10:00:00Z"
}

Get a price list

Returns a single price list.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Request

GET
/price-lists/{price_list_id}
curl https://api.pixeepim.com/api/v1/price-lists/pl-001 \
  -H "X-API-Key: {api_key}"

Update a price list

Updates a price list. All fields are optional.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Body parameters

  • Name
    name
    Type
    string
    Description
    Updated name.
  • Name
    channel
    Type
    string
    Description
    Updated channel.
  • Name
    currency
    Type
    string
    Description
    Updated currency.
  • Name
    description
    Type
    string
    Description
    Updated description.
  • Name
    start_date
    Type
    string
    Description
    Updated start date.
  • Name
    end_date
    Type
    string
    Description
    Updated end date.
  • Name
    is_active
    Type
    boolean
    Description
    Enable or disable the list.
  • Name
    priority
    Type
    integer
    Description
    Updated priority.

Request

PATCH
/price-lists/{price_list_id}
curl -X PATCH https://api.pixeepim.com/api/v1/price-lists/pl-001 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"priority": 20, "is_active": false}'

Delete a price list

Deletes a price list and its entries.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Request

DELETE
/price-lists/{price_list_id}
curl -X DELETE https://api.pixeepim.com/api/v1/price-lists/pl-001 \
  -H "X-API-Key: {api_key}"

List entries

Returns the priced entries in a price list.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Query parameters

  • Name
    product_id
    Type
    string
    Description

    Filter by product UUID.

  • Name
    offset
    Type
    integer
    Description

    Offset (default: 0).

  • Name
    limit
    Type
    integer
    Description

    Items per page (default: 50).

Request

GET
/price-lists/{price_list_id}/entries
curl "https://api.pixeepim.com/api/v1/price-lists/pl-001/entries?limit=50" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "ple-001",
    "product_id": "550e8400-e29b-41d4-a716-446655440000",
    "variant_id": null,
    "price": 29.99,
    "compare_at_price": 34.99,
    "min_quantity": 1
  }
]

Create an entry

Adds a priced entry for a product to the price list.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Body parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

  • Name
    variant_id
    Type
    string
    Description

    Optional variant UUID.

  • Name
    price
    Type
    number
    Description

    Unit price.

  • Name
    compare_at_price
    Type
    number
    Description

    Compare-at / strikethrough price.

  • Name
    min_quantity
    Type
    integer
    Description

    Minimum quantity for tiered pricing (default: 1).

Request

POST
/price-lists/{price_list_id}/entries
curl -X POST https://api.pixeepim.com/api/v1/price-lists/pl-001/entries \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "550e8400-e29b-41d4-a716-446655440000",
    "price": 29.99,
    "compare_at_price": 34.99
  }'

Bulk create entries

Adds up to 500 entries to a price list in one call.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

Body parameters

  • Name
    entries
    Type
    array
    Description

    List of entries (max 500), each following the same schema as Create an entry.

Request

POST
/price-lists/{price_list_id}/entries/bulk
curl -X POST https://api.pixeepim.com/api/v1/price-lists/pl-001/entries/bulk \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "entries": [
      { "product_id": "550e8400-e29b-41d4-a716-446655440000", "price": 29.99 },
      { "product_id": "550e8400-e29b-41d4-a716-446655440001", "price": 15.50 }
    ]
  }'

Update an entry

Updates a price list entry. All fields are optional.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

  • Name
    entry_id
    Type
    string
    Description

    The entry ID.

Body parameters

  • Name
    price
    Type
    number
    Description
    Updated price.
  • Name
    compare_at_price
    Type
    number
    Description
    Updated compare-at price.
  • Name
    min_quantity
    Type
    integer
    Description
    Updated minimum quantity.

Request

PATCH
/price-lists/{price_list_id}/entries/{entry_id}
curl -X PATCH https://api.pixeepim.com/api/v1/price-lists/pl-001/entries/ple-001 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"price": 27.99}'

Delete an entry

Removes an entry from a price list.

Path parameters

  • Name
    price_list_id
    Type
    string
    Description

    The price list ID.

  • Name
    entry_id
    Type
    string
    Description

    The entry ID.

Request

DELETE
/price-lists/{price_list_id}/entries/{entry_id}
curl -X DELETE https://api.pixeepim.com/api/v1/price-lists/pl-001/entries/ple-001 \
  -H "X-API-Key: {api_key}"

Get product prices from price lists

Returns the price a product resolves to across all applicable price lists, ranked by priority.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/price-lists/products/{product_id}/prices
curl https://api.pixeepim.com/api/v1/price-lists/products/550e8400-e29b-41d4-a716-446655440000/prices \
  -H "X-API-Key: {api_key}"

/products/{product_id}/prices

Per-product prices

Get product prices

Returns price entries (internal and competitor) associated with a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    active_only
    Type
    boolean
    Description

    Return only active price entries.

  • Name
    source
    Type
    string
    Description

    Filter by source identifier (e.g. internal, amazon_fr).

  • Name
    price_type
    Type
    string
    Description

    Filter by price type.

Request

GET
/products/{product_id}/prices
curl "https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/prices?active_only=true" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "550e8400-e29b-41d4-a716-000000000001",
    "source": "internal",
    "price": 29.99,
    "currency": "EUR",
    "is_active": true,
    "valid_until": null,
    "created_at": "2026-01-01T00:00:00Z"
  },
  {
    "id": "550e8400-e29b-41d4-a716-000000000002",
    "source": "amazon_fr",
    "price": 27.50,
    "currency": "EUR",
    "is_active": true,
    "url": "https://amazon.fr/dp/B0123456789",
    "created_at": "2026-09-10T00:00:00Z"
  }
]

Add a competitor price

Manually records a competitor price entry for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Body parameters

  • Name
    source
    Type
    string
    Description

    Source identifier (e.g. amazon_fr, fnac, cdiscount).

  • Name
    price
    Type
    number
    Description

    Competitor price.

  • Name
    currency
    Type
    string
    Description

    ISO 4217 currency code (default: EUR).

  • Name
    url
    Type
    string
    Description

    Direct URL to the product on the competitor's site.

  • Name
    valid_until
    Type
    string
    Description

    ISO 8601 expiry datetime.

  • Name
    notes
    Type
    string
    Description

    Optional free-text notes.

Request

POST
/products/{product_id}/prices
curl -X POST https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/prices \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "amazon_fr",
    "price": 27.50,
    "currency": "EUR",
    "url": "https://amazon.fr/dp/B0123456789",
    "notes": "Observé le 17 septembre 2026"
  }'

Response

{
  "id": "550e8400-e29b-41d4-a716-000000000003",
  "source": "amazon_fr",
  "price": 27.50,
  "currency": "EUR",
  "is_active": true,
  "created_at": "2026-09-17T10:30:00Z"
}

Get best price

Returns the lowest active price across all sources for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    exclude_sources
    Type
    array
    Description

    Source identifiers to exclude from the comparison.

Request

GET
/products/{product_id}/prices/best
curl https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/prices/best \
  -H "X-API-Key: {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "best_price": 27.50,
  "source": "amazon_fr",
  "url": "https://amazon.fr/dp/B0123456789",
  "valid_until": null
}

Get price history

Returns price history for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    source
    Type
    string
    Description

    Filter by source identifier.

  • Name
    days
    Type
    integer
    Description

    Number of past days to include.

Request

GET
/products/{product_id}/prices/history
curl "https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/prices/history?days=30" \
  -H "X-API-Key: {api_key}"

Get price statistics

Returns aggregated price statistics for a product across all sources.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/products/{product_id}/prices/stats
curl https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/prices/stats \
  -H "X-API-Key: {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-446655440000",
  "lowest_price": 24.99,
  "highest_price": 34.99,
  "average_price": 29.50,
  "sources_count": 3,
  "sources": ["internal", "amazon_fr", "fnac"],
  "last_updated": "2026-09-17T08:00:00Z"
}

Get price source analytics

Returns analytics on which sources contribute price observations, optionally scoped to a product.

Query parameters

  • Name
    product_id
    Type
    string
    Description

    Filter to a single product UUID.

  • Name
    days
    Type
    integer
    Description

    Number of past days to include.

Request

GET
/analytics/price-sources
curl "https://api.pixeepim.com/api/v1/analytics/price-sources?days=30" \
  -H "X-API-Key: {api_key}"

Get stock history

Returns the stock movement history for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    date_from
    Type
    string
    Description

    ISO 8601 start datetime.

  • Name
    date_to
    Type
    string
    Description

    ISO 8601 end datetime.

  • Name
    movement_type
    Type
    string
    Description

    Filter by movement type.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/products/{product_id}/stock/history
curl "https://api.pixeepim.com/api/v1/products/550e8400-e29b-41d4-a716-446655440000/stock/history?page=1" \
  -H "X-API-Key: {api_key}"

/prices

Price Monitor

Update a price

Updates an existing price entry, regardless of which product it belongs to. This replaces the legacy per-product update route.

Path parameters

  • Name
    price_id
    Type
    string
    Description

    The price entry UUID.

Body parameters

  • Name
    price
    Type
    number
    Description

    New price amount.

  • Name
    is_active
    Type
    boolean
    Description

    Active status.

  • Name
    valid_until
    Type
    string
    Description

    Expiration date (ISO 8601).

  • Name
    notes
    Type
    string
    Description

    Update notes.

Request

PATCH
/prices/{price_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/550e8400-e29b-41d4-a716-000000000002 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"price": 26.99, "is_active": true}'

Delete a price

Deletes a price entry.

Path parameters

  • Name
    price_id
    Type
    string
    Description

    The price entry UUID.

Query parameters

  • Name
    soft_delete
    Type
    boolean
    Description

    Soft-delete (deactivate) instead of hard-deleting the row.

Request

DELETE
/prices/{price_id}
curl -X DELETE "https://api.pixeepim.com/api/v1/prices/550e8400-e29b-41d4-a716-000000000002?soft_delete=true" \
  -H "X-API-Key: {api_key}"

Ingest price observations

Injects price observations collected by an external source (the PixeeCrawl B2C scraper hub). Authenticated with a shared sync key rather than a user API key.

Headers

  • Name
    x-pixee-sync-key
    Type
    string
    Description

    Server-to-server sync key.

Body parameters

  • Name
    observations
    Type
    array
    Description

    Array of price observations. Each entry:

    • internal_sku — your product's SKU or EAN
    • competitor_name — source identifier
    • competitor_url — URL where the price was found
    • price_ttc — price including tax
    • Optional: price_original, shipping_cost, stock_status, seller_name, promo_label

Request

POST
/prices/observations
curl -X POST https://api.pixeepim.com/api/v1/prices/observations \
  -H "X-Pixee-Sync-Key: {sync_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "observations": [
      {
        "internal_sku": "REF-001",
        "competitor_name": "amazon_fr",
        "competitor_url": "https://amazon.fr/dp/B0123456789",
        "price_ttc": 27.50,
        "stock_status": "in_stock"
      }
    ]
  }'

Response

{ "accepted": 1, "rejected": 0, "errors": [] }

Export watchlist

Exports the list of products currently monitored, for consumption by the B2C scraper hub. Authenticated with the same shared sync key as Ingest price observations.

Query parameters

  • Name
    tier
    Type
    string
    Description

    Filter by monitoring tier.

  • Name
    limit
    Type
    integer
    Description

    Maximum number of products to return.

Headers

  • Name
    x-pixee-sync-key
    Type
    string
    Description

    Server-to-server sync key.

Request

GET
/prices/export-watchlist
curl "https://api.pixeepim.com/api/v1/prices/export-watchlist?tier=daily" \
  -H "X-Pixee-Sync-Key: {sync_key}"

Dashboard

Returns a global pricing dashboard: summary stats, top movers, recent alerts, and source breakdown.

Request

GET
/prices/dashboard
curl https://api.pixeepim.com/api/v1/prices/dashboard \
  -H "X-API-Key: {api_key}"

Response

{
  "monitored_products": 320,
  "active_alerts": 5,
  "map_violations": 2,
  "last_check_at": "2026-09-17T08:00:00Z",
  "top_movers": []
}

List monitored products

Returns the list of products enrolled in Price Monitor.

Query parameters

  • Name
    tier
    Type
    string
    Description

    Filter by monitoring tier.

  • Name
    active_only
    Type
    boolean
    Description

    Return only active monitors (default: true).

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/monitored
curl "https://api.pixeepim.com/api/v1/prices/monitored?active_only=true" \
  -H "X-API-Key: {api_key}"

Get monitor status

Returns the monitoring configuration and last-check status for a single product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

GET
/prices/monitored/{product_id}/status
curl https://api.pixeepim.com/api/v1/prices/monitored/550e8400-e29b-41d4-a716-446655440000/status \
  -H "X-API-Key: {api_key}"

Update monitor config

Updates the monitoring settings for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Body parameters

  • Name
    tier
    Type
    string
    Description

    Monitoring frequency tier.

  • Name
    is_active
    Type
    boolean
    Description

    Enable or disable monitoring for this product.

Request

PATCH
/prices/monitored/{product_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/monitored/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"is_active": true, "tier": "tier1_high"}'

Bulk enable monitoring

Enrolls multiple products in Price Monitor in a single call.

Body parameters

  • Name
    product_ids
    Type
    array
    Description

    List of product UUIDs to enroll.

  • Name
    tier
    Type
    string
    Description

    Monitoring tier (default: tier3_standard).

Request

POST
/prices/monitored/bulk
curl -X POST https://api.pixeepim.com/api/v1/prices/monitored/bulk \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": [
      "550e8400-e29b-41d4-a716-446655440000",
      "550e8400-e29b-41d4-a716-446655440001"
    ],
    "tier": "tier3_standard"
  }'

Bulk check prices

Triggers a batch price check for multiple monitored products, filtered by tier.

Query parameters

  • Name
    tier
    Type
    string
    Description

    Only check products on this tier.

  • Name
    limit
    Type
    integer
    Description

    Maximum number of products to check in this run.

Request

POST
/prices/check/bulk
curl -X POST "https://api.pixeepim.com/api/v1/prices/check/bulk?tier=tier1_high&limit=100" \
  -H "X-API-Key: {api_key}"

Check a product price

Triggers an immediate price check for a single product across all configured sources.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Request

POST
/prices/check/{product_id}
curl -X POST https://api.pixeepim.com/api/v1/prices/check/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: {api_key}"

Price history (monitor)

Returns the full price-check history collected by Price Monitor for a product, across all competitors.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    days
    Type
    integer
    Description

    Number of past days to include (default: 30).

Request

GET
/prices/history/{product_id}
curl "https://api.pixeepim.com/api/v1/prices/history/550e8400-e29b-41d4-a716-446655440000?days=30" \
  -H "X-API-Key: {api_key}"

Price history (unified)

Returns internal and competitor price history merged into a single timeline, suited for charting.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    window_days
    Type
    integer
    Description

    Number of past days to include.

Request

GET
/prices/history/{product_id}/unified
curl "https://api.pixeepim.com/api/v1/prices/history/550e8400-e29b-41d4-a716-446655440000/unified?window_days=90" \
  -H "X-API-Key: {api_key}"

Validation queue

Returns competitor matches awaiting manual validation (low-confidence product/competitor pairings).

Query parameters

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/validation
curl "https://api.pixeepim.com/api/v1/prices/validation?page=1" \
  -H "X-API-Key: {api_key}"

Validate a match

Confirms, rejects, or skips a pending product/competitor match.

Path parameters

  • Name
    item_id
    Type
    string
    Description

    The validation queue item ID.

Body parameters

  • Name
    action
    Type
    string
    Description

    confirm, reject, or skip.

Request

POST
/prices/validation/{item_id}
curl -X POST https://api.pixeepim.com/api/v1/prices/validation/vq-001 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"action": "confirm"}'

/prices/competitors

Competitors

List competitors

Returns configured competitor sources.

Query parameters

  • Name
    is_active
    Type
    boolean
    Description

    Filter by active status.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/competitors
curl "https://api.pixeepim.com/api/v1/prices/competitors?is_active=true" \
  -H "X-API-Key: {api_key}"

Create a competitor

Adds a new competitor source.

Body parameters

  • Name
    code
    Type
    string
    Description

    Unique identifier (e.g. cdiscount, fnac).

  • Name
    name
    Type
    string
    Description

    Display name.

  • Name
    base_url
    Type
    string
    Description

    Root URL of the competitor's site.

Request

POST
/prices/competitors
curl -X POST https://api.pixeepim.com/api/v1/prices/competitors \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"code": "cdiscount", "name": "Cdiscount", "base_url": "https://www.cdiscount.com"}'

Update a competitor

Updates a competitor source.

Path parameters

  • Name
    competitor_id
    Type
    string
    Description

    The competitor ID.

Body parameters

  • Name
    name
    Type
    string
    Description
    Updated display name.
  • Name
    base_url
    Type
    string
    Description
    Updated root URL.
  • Name
    is_active
    Type
    boolean
    Description
    Enable or disable the competitor source.

Request

PATCH
/prices/competitors/{competitor_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/competitors/comp-002 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"is_active": false}'

Delete a competitor

Removes a competitor source. Existing price observations are retained.

Path parameters

  • Name
    competitor_id
    Type
    string
    Description

    The competitor ID.

Request

DELETE
/prices/competitors/{competitor_id}
curl -X DELETE https://api.pixeepim.com/api/v1/prices/competitors/comp-002 \
  -H "X-API-Key: {api_key}"

Blacklist a competitor

Blacklists a competitor so its observations stop feeding alerts, MAP checks, and repricing.

Body parameters

  • Name
    competitor_id
    Type
    string
    Description

    The competitor ID.

  • Name
    reason
    Type
    string
    Description

    Optional free-text reason.

Request

POST
/prices/competitors/blacklist
curl -X POST https://api.pixeepim.com/api/v1/prices/competitors/blacklist \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"competitor_id": "comp-002", "reason": "Prix non fiables (marketplace tiers)"}'

Remove from blacklist

Removes a competitor from the blacklist.

Path parameters

  • Name
    competitor_id
    Type
    string
    Description

    The competitor ID.

Request

DELETE
/prices/competitors/blacklist/{competitor_id}
curl -X DELETE https://api.pixeepim.com/api/v1/prices/competitors/blacklist/comp-002 \
  -H "X-API-Key: {api_key}"

/prices/alerts

Alerts

List alerts

Returns configured price alerts.

Query parameters

  • Name
    product_id
    Type
    string
    Description

    Filter by product UUID.

  • Name
    alert_type
    Type
    string
    Description

    Filter by type: above, below, or change_pct.

  • Name
    is_active
    Type
    boolean
    Description

    Return only active alerts.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/alerts
curl "https://api.pixeepim.com/api/v1/prices/alerts?is_active=true" \
  -H "X-API-Key: {api_key}"

Create an alert

Creates a new price alert for a product.

Body parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID to monitor.

  • Name
    alert_type
    Type
    string
    Description

    above — fires when any competitor price exceeds the threshold. below — fires when a competitor undercuts. change_pct — fires when the price changes by more than the threshold percentage.

  • Name
    threshold
    Type
    number
    Description

    Price value (for above/below) or percentage (for change_pct).

  • Name
    channels
    Type
    array
    Description

    Notification channels: in_app, webhook, email (default: ["in_app"]).

  • Name
    cooldown_minutes
    Type
    integer
    Description

    Minimum minutes between repeated notifications (default: 60).

Request

POST
/prices/alerts
curl -X POST https://api.pixeepim.com/api/v1/prices/alerts \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "550e8400-e29b-41d4-a716-446655440000",
    "alert_type": "below",
    "threshold": 25.00,
    "channels": ["in_app", "webhook"],
    "cooldown_minutes": 60
  }'

Triggered alerts

Returns recent alert trigger events, ordered by most recent first.

Request

GET
/prices/alerts/triggered
curl https://api.pixeepim.com/api/v1/prices/alerts/triggered \
  -H "X-API-Key: {api_key}"

Update an alert

Updates an existing price alert.

Path parameters

  • Name
    alert_id
    Type
    string
    Description

    The alert ID.

Body parameters

  • Name
    alert_type
    Type
    string
    Description
    Updated alert type.
  • Name
    threshold
    Type
    number
    Description
    New threshold value.
  • Name
    channels
    Type
    array
    Description
    Updated notification channels.
  • Name
    is_active
    Type
    boolean
    Description
    Enable or disable the alert.
  • Name
    cooldown_minutes
    Type
    integer
    Description
    Updated cooldown in minutes.

Request

PATCH
/prices/alerts/{alert_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/alerts/alert-001 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"threshold": 24.00, "is_active": true}'

Delete an alert

Deletes a price alert.

Path parameters

  • Name
    alert_id
    Type
    string
    Description

    The alert ID.

Request

DELETE
/prices/alerts/{alert_id}
curl -X DELETE https://api.pixeepim.com/api/v1/prices/alerts/alert-001 \
  -H "X-API-Key: {api_key}"

Alert history

Returns the trigger history for a single alert.

Path parameters

  • Name
    alert_id
    Type
    string
    Description

    The alert ID.

Request

GET
/prices/alerts/{alert_id}/history
curl https://api.pixeepim.com/api/v1/prices/alerts/alert-001/history \
  -H "X-API-Key: {api_key}"

/prices/map

MAP enforcement

MAP violations

Returns products whose competitor prices fall below their configured Minimum Advertised Price (MAP).

Query parameters

  • Name
    product_id
    Type
    string
    Description

    Filter by product UUID.

  • Name
    competitor_id
    Type
    string
    Description

    Filter by competitor ID.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/map/violations
curl https://api.pixeepim.com/api/v1/prices/map/violations \
  -H "X-API-Key: {api_key}"

MAP stats

Returns aggregated MAP compliance statistics across the catalog.

Request

GET
/prices/map/stats
curl https://api.pixeepim.com/api/v1/prices/map/stats \
  -H "X-API-Key: {api_key}"

Response

{
  "total_with_map": 150,
  "violations": 2,
  "compliance_rate": 98.7,
  "avg_violation_gap": -3.20
}

Export MAP violations

Exports the current MAP violations list as a downloadable report.

Request

GET
/prices/map/export
curl https://api.pixeepim.com/api/v1/prices/map/export \
  -H "X-API-Key: {api_key}"

Set MAP price

Sets or updates the Minimum Advertised Price for a product.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Body parameters

  • Name
    map_price
    Type
    number
    Description

    The minimum advertised price to enforce.

Request

PATCH
/prices/map/{product_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/map/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"map_price": 25.00}'

Bulk set MAP prices

Sets MAP prices for multiple products in a single call.

Body parameters

  • Name
    items
    Type
    array
    Description

    List of { "product_id": "...", "map_price": ... } objects.

Request

POST
/prices/map/bulk
curl -X POST https://api.pixeepim.com/api/v1/prices/map/bulk \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "product_id": "550e8400-e29b-41d4-a716-446655440000", "map_price": 25.00 },
      { "product_id": "550e8400-e29b-41d4-a716-446655440001", "map_price": 12.50 }
    ]
  }'

/prices/repricing

Repricing

Repricing rules automatically adjust product prices based on conditions (competitor price, margin, stock, category, supplier). Rules are simulated before being applied, and every automated change is logged and revertible.

List repricing rules

Returns configured repricing rules, ordered by priority.

Query parameters

  • Name
    active_only
    Type
    boolean
    Description

    Return only active rules.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/repricing/rules
curl "https://api.pixeepim.com/api/v1/prices/repricing/rules?active_only=true" \
  -H "X-API-Key: {api_key}"

Create a repricing rule

Creates a new repricing rule.

Body parameters

  • Name
    name
    Type
    string
    Description

    Rule name.

  • Name
    description
    Type
    string
    Description

    Optional description.

  • Name
    is_active
    Type
    boolean
    Description

    Default: true.

  • Name
    priority
    Type
    integer
    Description

    Higher priority rules are evaluated first (default: 0).

  • Name
    conditions
    Type
    array
    Description

    List of condition objects the rule matches against (e.g. competitor price, stock, category).

  • Name
    action_type
    Type
    string
    Description

    How to compute the new price (e.g. match_lowest, undercut_by_amount, undercut_by_percent).

  • Name
    action_value
    Type
    number
    Description

    Numeric parameter for action_type (e.g. undercut amount or percentage).

  • Name
    action_config
    Type
    object
    Description

    Additional action configuration.

  • Name
    min_price
    Type
    number
    Description

    Floor — the rule never prices below this value.

  • Name
    max_price
    Type
    number
    Description

    Ceiling — the rule never prices above this value.

  • Name
    min_margin_percent
    Type
    number
    Description

    Minimum margin the rule must preserve.

  • Name
    channel
    Type
    string
    Description

    Restrict the rule to a sales channel.

  • Name
    supplier_ids
    Type
    array
    Description

    Restrict the rule to specific suppliers.

  • Name
    category_ids
    Type
    array
    Description

    Restrict the rule to specific categories.

  • Name
    product_ids
    Type
    array
    Description

    Restrict the rule to specific products.

Request

POST
/prices/repricing/rules
curl -X POST https://api.pixeepim.com/api/v1/prices/repricing/rules \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Undercut Amazon by 2%",
    "is_active": true,
    "priority": 10,
    "conditions": [{ "field": "competitor_source", "operator": "eq", "value": "amazon_fr" }],
    "action_type": "undercut_by_percent",
    "action_value": 2,
    "min_margin_percent": 15
  }'

Update a repricing rule

Updates a repricing rule. All fields are optional, following the same schema as Create a repricing rule.

Path parameters

  • Name
    rule_id
    Type
    string
    Description

    The rule ID.

Request

PATCH
/prices/repricing/rules/{rule_id}
curl -X PATCH https://api.pixeepim.com/api/v1/prices/repricing/rules/rule-001 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"is_active": false}'

Delete a repricing rule

Deletes a repricing rule.

Path parameters

  • Name
    rule_id
    Type
    string
    Description

    The rule ID.

Request

DELETE
/prices/repricing/rules/{rule_id}
curl -X DELETE https://api.pixeepim.com/api/v1/prices/repricing/rules/rule-001 \
  -H "X-API-Key: {api_key}"

Simulate a repricing rule

Runs the rule against the current catalog without applying any price change, and returns what would happen.

Path parameters

  • Name
    rule_id
    Type
    string
    Description

    The rule ID.

Query parameters

  • Name
    limit
    Type
    integer
    Description

    Maximum number of matched products to include in the preview.

Request

POST
/prices/repricing/rules/{rule_id}/simulate
curl -X POST "https://api.pixeepim.com/api/v1/prices/repricing/rules/rule-001/simulate?limit=50" \
  -H "X-API-Key: {api_key}"

Simulate revenue impact

Estimates the revenue and margin impact of a rule using historical sales data.

Path parameters

  • Name
    rule_id
    Type
    string
    Description

    The rule ID.

Query parameters

  • Name
    days
    Type
    integer
    Description

    Historical window in days used for the estimate.

Request

POST
/prices/repricing/rules/{rule_id}/simulate-revenue
curl -X POST "https://api.pixeepim.com/api/v1/prices/repricing/rules/rule-001/simulate-revenue?days=30" \
  -H "X-API-Key: {api_key}"

Repricing history

Returns a log of past automated price changes.

Query parameters

  • Name
    product_id
    Type
    string
    Description

    Filter by product UUID.

  • Name
    rule_id
    Type
    string
    Description

    Filter by rule ID.

  • Name
    page
    Type
    integer
    Description

    Page number (default: 1).

  • Name
    page_size
    Type
    integer
    Description

    Items per page.

Request

GET
/prices/repricing/history
curl "https://api.pixeepim.com/api/v1/prices/repricing/history?rule_id=rule-001" \
  -H "X-API-Key: {api_key}"

Revert a repricing run

Reverts a single automated price change back to its previous value.

Path parameters

  • Name
    history_id
    Type
    string
    Description

    The repricing history entry ID.

Request

POST
/prices/repricing/history/{history_id}/revert
curl -X POST https://api.pixeepim.com/api/v1/prices/repricing/history/rh-001/revert \
  -H "X-API-Key: {api_key}"

Manual repricing run

Manually triggers a repricing pass across all active rules, outside the normal schedule.

Query parameters

  • Name
    limit
    Type
    integer
    Description

    Maximum number of products to process in this run.

Request

POST
/prices/repricing/run
curl -X POST "https://api.pixeepim.com/api/v1/prices/repricing/run?limit=500" \
  -H "X-API-Key: {api_key}"

Repricing stats

Returns aggregated repricing activity: rules fired, prices changed, and average impact.

Request

GET
/prices/repricing/stats
curl https://api.pixeepim.com/api/v1/prices/repricing/stats \
  -H "X-API-Key: {api_key}"

Was this page helpful?