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.
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.
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.
/healthNo API key requiredHealth check
Returns a lightweight service health response. Current response shape is { "status": "ok" }.
/metricsRead API key requiredAccount 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
/repricing-settingsRead API key requiredRead 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.
/listingsRead API key requiredList 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
/ordersRead API key requiredRecent 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
/pricing-historyRead API key requiredPricing 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
/repricing-settingsWrite API key requiredUpdate 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
/listingsWrite API key requiredUpdate 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
/listings/{sku}Write API key requiredUpdate 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.
curl "https://account-api.ascentrepricer.com/api/v1/listings?filter=missingcogs&sort=value&limit=50" -H "Authorization: Bearer asc_live_your_api_key_here"curl "https://account-api.ascentrepricer.com/api/v1/orders?rule=Vienna&sort=newest&limit=25" -H "Authorization: Bearer asc_live_your_api_key_here"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"curl "https://account-api.ascentrepricer.com/api/v1/repricing-settings" -H "Authorization: Bearer asc_live_your_api_key_here"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
}'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"
}'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" }
]
}'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" }
]
}'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 / COGUpdates the listing cost of goods. Currency symbols are not required.
min_price / minSets a listing-level minimum price. Your account rule criteria still act as the deeper safety net.
max_price / maxSets a listing-level maximum price where you want to limit upward pricing.
repricingUse true/false, yes/no, enabled/disabled, or on/off to control repricing for the listing or account.
ruleUse 1-4 or Sicilian, Vienna, Gambit, Marshall.
vatUse 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.
countryUse 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_feeSets the account-level prep fee as a plain number. Currency symbols are stripped before saving.
custom_modeUse true to enable custom-rule mode and return custom_rules from GET /repricing-settings. Use false to stay on standard rule mode.
standard_rules / rulesSend 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_rulesSend an array of slots 1-6. Each item can set rule, profit, roi or roi_percent, and automation_days.
custom_mode_rawLegacy 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": {
"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.
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.
