Hidden customer documentation

Ascent Account API documentation

Use the Account API to connect your own dashboards, spreadsheets, automations, or internal tools to your Ascent account without logging into the web app for every check.

Base URL

https://account-api.ascentrepricer.com/api/v1

Use your Ascent API key in the Authorization header; X-API-Key is also supported for server-side tools.

Keys created in the Ascent settings page are shown once only, so copy and store the full key somewhere safe before closing the window.

Read listings, orders, pricing history, metrics, and repricing settings.

Update listing-level COG, min/max prices, rules, VAT flags, and repricing state.

Write operations affect your live repricing account, so keep them deliberate.

If your onboarding email gives you a different API URL, use that URL instead. The endpoint paths below stay the same.

Authentication

Use a bearer token for every account request

Your first API key is created from the Ascent account dashboard or by Ascent support. When you create a key from the settings page, the full key is shown once only. Copy it immediately and store it somewhere safe, because Ascent cannot show the full key again later. Keep it private and send it in the Authorization header. Server-side tools can also send it as X-API-Key; query-string keys are supported for quick tests but should not be used in production.

Find your API key in the Ascent dashboard settings. Open https://www.ascentrepricer.com/dashboard/, go to Settings, copy the key while it is visible, save it somewhere secure, and keep the key server-side.

Example authenticated request
curl -X GET "https://account-api.ascentrepricer.com/api/v1/metrics?recent_days=31" \
  -H "Authorization: Bearer asc_live_your_api_key_here" \
  -H "Accept: application/json"

Postman

Import the ready-made Postman collection

The collection includes the health check, read-only GET requests first, and live PATCH examples after that. After importing it, set the baseUrl, apiKey, and sku variables in Postman.

Download collection

Core workflow

The usual integration pattern

Most integrations start read-only, then add small write actions once the account owner is comfortable with the data coming back.

1. Read account state

Pull metrics, listings, orders, and pricing history into your own reporting layer.

2. Identify safe edits

Choose one SKU or one setting to update. Avoid bulk writes until your checks are proven.

3. Patch only what changed

Send partial JSON bodies. Fields you omit are left untouched.

Endpoints

Available API endpoints

Endpoint paths are shown relative to https://account-api.ascentrepricer.com/api/v1.

Skip to examples
GET/healthNo API key required

Health check

Returns a lightweight service health response. Current response shape is { "status": "ok" }.

GET/metricsRead API key required

Account metrics

Returns a dashboard-style account summary including marketplace context, enabled marketplaces, Buy Box win percentage, listing metrics, and order metrics for the requested recent period.

Query parameters

  • recent_days — optional, defaults to 31, max 3650
GET/repricing-settingsRead API key required

Read repricing settings

Returns VAT, VAT-on-fees, Auto COG, account repricing state, default country, prep fee, standard rules, and custom rules when custom mode is enabled.

GET/listingsRead API key required

List in-stock SKUs

Returns in-stock listing rows, newest first by default, with SKU, ASIN, title, COG, min/max price, repricing status, rule, Buy Box flags, current price, profit, ROI, BSR, image, and inventory quantity.

Query parameters

  • limit — optional, defaults to 100, max 1000
  • offset — optional pagination offset
  • search — optional text search across listing fields
  • country — optional marketplace code such as GB, US, DE, FR
  • filter — optional: missingcogs, minimums, fbm, bbwins, notrepricing, suppressedbb, or a rule name
  • sort — optional: qty, value, or age
GET/ordersRead API key required

Recent orders

Returns recent non-cancelled order data with order ID, purchase date, status, ASIN, SKU, title, quantity, currency, sell price, profit, ROI, and linked listing settings.

Query parameters

  • limit — optional, defaults to 100, max 1000
  • offset — optional pagination offset
  • search — optional text search
  • status — optional exact order status filter
  • since — optional date/time filter
  • country — optional marketplace code
  • filter or rule — optional rule filter: 1-4, Sicilian, Vienna, Gambit, or Marshall
  • sort — optional: newest/date_desc/default or oldest/date_asc
GET/pricing-historyRead API key required

Pricing history

Returns repricing actions, including time, title, SKU, ASIN, price before, price after, change, reason, rule, and source history file.

Query parameters

  • limit — optional, defaults to 100, max 1000
  • offset — optional pagination offset
  • country — optional marketplace code
  • searchCountry — optional legacy country selector
  • search — optional text search
  • sku — optional exact SKU filter
  • asin — optional exact ASIN filter
  • filter or rule — optional rule filter: 1-4, Sicilian, Vienna, Gambit, or Marshall
  • sort — optional: newest/file_desc/default or oldest/file_asc
PATCH/repricing-settingsWrite API key required

Update repricing settings

Updates account-level repricing settings such as VAT, Auto COG, repricing status, country, prep fee, standard rule criteria, automation windows, and custom rules.

JSON body fields

  • vat
  • vat_on_fees
  • auto_cog
  • repricing
  • country
  • prep_fee
  • custom_mode
  • custom_mode_raw
  • standard_rules or rules
  • custom_rules
PATCH/listingsWrite API key required

Update one SKU by body

Updates one listing using the sku field in the JSON body. Use this when your integration prefers a single endpoint for listing edits.

JSON body fields

  • sku — required
  • cog or COG
  • min_price or min
  • max_price or max
  • repricing
  • rule
  • vat
PATCH/listings/{sku}Write API key required

Update one SKU by path

Updates one listing using the SKU in the URL path. The body can contain only the fields you want to change.

JSON body fields

  • cog or COG
  • min_price or min
  • max_price or max
  • repricing
  • rule
  • vat

Filters and sorts

Filter server-side instead of pulling everything into your app

Listings, orders, and pricing history now support explicit filter and sort query parameters. Prefer these over encoding special commands into search strings; legacy search shortcuts are still accepted for older integrations.

Listings

Use listing filters for catalogue cleanup views and inventory prioritisation.

filter: missingcogs, minimums, fbm, bbwins, notrepricing, suppressedbb, Sicilian, Vienna, Gambit, Marshall

sort: qty, value, age

Orders

Use order filters when reviewing sales tied to a specific repricing rule or marketplace.

filter or rule: 1-4, Sicilian, Vienna, Gambit, Marshall

sort: newest, recent, date_desc, oldest, date_asc

Pricing history

Use history filters to inspect actions for a rule, SKU, ASIN, or marketplace without downloading the full file.

filter or rule: 1-4, Sicilian, Vienna, Gambit, Marshall

sort: newest, file_desc, oldest, file_asc

Examples

Copy the pattern, not the fake key

Replace asc_live_your_api_key_here with your real API key. Never paste real keys into shared chat, screenshots, or frontend code.

Read listings with filter and sort
curl "https://account-api.ascentrepricer.com/api/v1/listings?filter=missingcogs&sort=value&limit=50"   -H "Authorization: Bearer asc_live_your_api_key_here"
Read recent orders by rule
curl "https://account-api.ascentrepricer.com/api/v1/orders?rule=Vienna&sort=newest&limit=25"   -H "Authorization: Bearer asc_live_your_api_key_here"
Read pricing history by SKU and rule
curl "https://account-api.ascentrepricer.com/api/v1/pricing-history?sku=EXAMPLE-SKU-001&filter=Sicilian&sort=oldest&limit=25"   -H "Authorization: Bearer asc_live_your_api_key_here"
Read repricing settings
curl "https://account-api.ascentrepricer.com/api/v1/repricing-settings"   -H "Authorization: Bearer asc_live_your_api_key_here"
Update one SKU
curl -X PATCH "https://account-api.ascentrepricer.com/api/v1/listings/EXAMPLE-SKU-001"   -H "Authorization: Bearer asc_live_your_api_key_here"   -H "Content-Type: application/json"   -d '{
    "cog": "12.50",
    "min_price": "19.99",
    "max_price": "34.99",
    "rule": "Vienna",
    "repricing": true
  }'
Update country and account switches
curl -X PATCH "https://account-api.ascentrepricer.com/api/v1/repricing-settings"   -H "Authorization: Bearer asc_live_your_api_key_here"   -H "Content-Type: application/json"   -d '{
    "country": "GB",
    "repricing": true,
    "auto_cog": true,
    "vat": "standard",
    "prep_fee": "0.30"
  }'
Update standard rule criteria
curl -X PATCH "https://account-api.ascentrepricer.com/api/v1/repricing-settings"   -H "Authorization: Bearer asc_live_your_api_key_here"   -H "Content-Type: application/json"   -d '{
    "standard_rules": [
      { "rule": "Sicilian", "profit": "3.00", "roi_percent": "25", "automation_days": "7" },
      { "rule": "Vienna", "profit": "2.00", "roi_percent": "20", "automation_days": "14" }
    ]
  }'
Enable custom mode and update custom rules
curl -X PATCH "https://account-api.ascentrepricer.com/api/v1/repricing-settings"   -H "Authorization: Bearer asc_live_your_api_key_here"   -H "Content-Type: application/json"   -d '{
    "custom_mode": true,
    "custom_rules": [
      { "slot": 1, "rule": "Sicilian", "profit": "4.00", "roi_percent": "30", "automation_days": "7" },
      { "slot": 2, "rule": "Vienna", "profit": "3.00", "roi_percent": "25" }
    ]
  }'
Node.js fetch
const response = await fetch('https://account-api.ascentrepricer.com/api/v1/orders?rule=Vienna&sort=newest&limit=25', {
  headers: {
    Authorization: 'Bearer ' + process.env.ASCENT_API_KEY,
    Accept: 'application/json',
  },
})

if (!response.ok) {
  throw new Error('Ascent API request failed: ' + response.status)
}

const data = await response.json()

Writable fields

Fields you can safely patch when you know what you are changing

The API accepts partial updates. Send only the fields you want to change, and keep automated writes narrow until you have reviewed the result in Ascent.

cog / COG

Updates the listing cost of goods. Currency symbols are not required.

min_price / min

Sets a listing-level minimum price. Your account rule criteria still act as the deeper safety net.

max_price / max

Sets a listing-level maximum price where you want to limit upward pricing.

repricing

Use true/false, yes/no, enabled/disabled, or on/off to control repricing for the listing or account.

rule

Use 1-4 or Sicilian, Vienna, Gambit, Marshall.

vat

Use a number such as 20, or one of the supported labels: standard, not registered, or not applicable. vat_on_fees can be set separately when needed.

country

Use marketplace country codes such as GB, US, DE, FR, IT, ES, NL, SE, BE, PL, AT, CZ, CA, or MX. UK and United Kingdom normalise to GB.

prep_fee

Sets the account-level prep fee as a plain number. Currency symbols are stripped before saving.

custom_mode

Use true to enable custom-rule mode and return custom_rules from GET /repricing-settings. Use false to stay on standard rule mode.

standard_rules / rules

Send an array of rule updates using rule or rule_number, plus profit, roi or roi_percent, and optional automation_days for rules 1-3.

custom_rules

Send an array of slots 1-6. Each item can set rule, profit, roi or roi_percent, and automation_days.

custom_mode_raw

Legacy escape hatch for the underlying Custom field. Prefer custom_mode unless Ascent support specifically asks for this.

Errors and safety

Handle errors like a grown-up integration

The API returns JSON errors in a consistent shape. Log the code and message, but do not retry unsafe writes in a tight loop.

Error response shape
{
  "error": {
    "code": "repricer_file_locked",
    "message": "Repricer is currently writing this account; retry shortly"
  }
}

400

Invalid input or JSON body.

401

Missing, invalid, expired, or revoked API key.

403

The key is valid but does not have the required scope.

404

Endpoint, listing, user file, or history file not found.

423

Account file is locked. Retry shortly.

Keep keys server-side

Do not put an Ascent API key in browser JavaScript, mobile apps, public GitHub repos, screenshots, or client-side no-code tools.

Retry busy accounts gently

A 423 response means the repricer or another API write is touching the same account. Wait a few seconds, then retry once or twice.

Treat PATCH requests as live changes

Listing and settings updates can change repricing behaviour. Test on one SKU before automating catalogue-wide edits.

Marketplace country codes

Use country codes when filtering marketplace-sensitive endpoints. Common supported codes include GB, US, FR, DE, IT, ES, NL, SE, BE, PL, AT, CZ, CA, and MX.

GBUSFRDEITESNLSEBEPLATCZCAMX

Recommended polling

For dashboards, polling every few minutes is plenty. For write automations, queue changes and apply them in small batches instead of firing many PATCH requests at once.

Need help with the Account API?

Your API key lives in Ascent settings. If a request needs write access or an endpoint behaves unexpectedly, contact support before wiring it into automation.