Changelog
What changed in the API, newest first. Each date is the day the change reached the API, in UTC.
The API's version is the date of the newest entry: 2026-11-04. The OpenAPI document says the same in info.version, so you can tell when something changed without reading this page. A change that can break code that worked is marked Breaking under the day it takes effect. How changes are made and announced: Versioning and deprecation.
2026-11-04
- Changed When a store owner withdraws your approval, or you revoke a key that reads through no approval, its webhook receivers are now removed at the same moment: no order event is sent to them afterwards, not even a retry that was waiting. Before, a revoked key's receivers stayed active and could still be sent the store's order events. More
2026-11-03
- Changed A developer now asks a store itself: on the Stores page at account.compudime.com, pick a store you may reach, the capabilities you need and why, and agree to the developer terms. The store's owners approve it as asked, approve less, or decline it in their CompuConnect account. Connect codes and owner invitations are retired. More
- Changed A key revoked at account.compudime.com, or a key whose store approval the owner withdraws, now answers
401 key_revokedon its very next call, and a key whose approval the owner narrows answers403 capability_not_enabledfor what was taken away on its next call. Before, the change could take up to a minute to reach the API. More
2026-10-18
- Added Store owners now approve developers themselves: a developer enters a store's one-time connect code, or accepts the owner's invitation, at account.compudime.com and agrees to the developer terms; the owner approves in Store Pulse or on the Developers page. More
2026-10-17
- Changed A key your organization holds for a store, such as a developer's key under the store owner's approval, no longer sees the store's plan, card or credits.
GET /v1/meleavescreditsout and says increditsNotewho pays for the key's calls, withusageUrlpointing at your organization's usage, andGET /v1/usage/currentanswers403 usage_not_available_for_key. The store's own keys see both as before. More - Changed A key the store pays for under its approval no longer learns the store's billing from its calls: its answers leave
X-Credits-Remainingout (header and trailer), thebillingblock'sdecisionreadsallowed(orallowed_sandboxfor a test key), and a 402 about the store's card, plan or credits answers402 payer_billing_blockedinstead.X-Credits-Chargedand thebillingblock still say what the call cost,grant_cap_exceededis unchanged, and keys your organization pays for see their own balance as before. More - Changed The test keys of a store approval now read through an integration of their own for each capability, apart from the approval's live keys: they start at
ownwithout account figures, and have their ownowncustomers, webhook receivers and rate limit, which a replacement test key keeps. The live keys read exactly as before. More
2026-10-16
- Added Working across stores: once a store owner approves, a developer gets one key per store, with the capabilities the owner approved. For now CompuDime records the approval for the owner. The keys of one approval read through the same integration for each capability, so a replacement key keeps the owner's access level, account figures, field policy and
owncustomers and shares one rate limit with the key it replaces; a new approval starts again atownwithout account figures. More - Added A new 402 error code,
grant_cap_exceeded: the store pays for a developer's calls to it and has reached the monthly limit it set for them. More - Fixed At access level
own, acc_key's customer reads now return the customers its orders landed on: orders sent with the same key, or with any key of the same store approval. Before, they found none, because acc_key's orders and its customer reads were counted apart. More - Changed The versioning policy: breaking changes ship when needed and are announced here the day they ship; there is no fixed notice period. More
2026-10-13
- Added A demo store, CompuDime Demo Market, to try the API with a test key: invented products, customers, stock, four weeks of sales and invoices, never billed. A live key for it answers
403 test_key_required, and an endpoint it does not answer422 not_in_sandbox;/v1/meand/v1/capabilitiessay"sandbox": trueon its store. More - Added The developer docs are at
https://api.compudime.com/docs: a quickstart, guides, every error code, and a page for every endpoint and schema, read from the live OpenAPI document./developer/openapi.jsonnow redirects to/openapi.json, the one OpenAPI document. More - Added Register your own webhook receivers with your key:
POST /v1/webhooks(the signing secret is shown once),GETandDELETE /v1/webhooks/{webhookId},POST /v1/webhooks/{webhookId}/testfor a signedwebhook.testevent,rotate-secretand the recent deliveries. A test key's receivers get only its test events. More - Added Code samples to download and a Postman collection with every endpoint, generated from the OpenAPI document. The samples call
https://api.compudime.comand read the key fromPUBLIC_API_KEY. More - Added This changelog and the versioning and deprecation policy.
info.versionin the OpenAPI document is now the date of the newest entry here; it wasphase-1. More - Added
GET /v1/mesays who the calling key is: its integration and access level, its store, live or test, the fields it may ask for on each endpoint it can call, its rate limit and the store's credits. It is free. More - Changed Orders sent with a test key (
cc_test_,cd_test_) are checked like live orders and then simulated: they never reach the store. TheirorderIdstarts withtest_, theirdispatchStateissimulated, and no webhook is sent for them. More - Changed A problem's
typeis nowhttps://api.compudime.com/docs/errors#<code>, anddocsUrlis the same entry on the address you call. Both open the explanation of the code. More - Changed A problem's
statusUrlnames the public status page instead of the API's own readiness report. More - Added Problem bodies carry
support, the address to write to, as amailto:link. More - Changed The 429 sent for too many requests from one network address is a problem like every other: the same
typeand links, and arequestIdin the body and inX-Request-Id. More - Fixed The
X-Credits-ChargedandX-Credits-Remainingtrailers of a long answer now reach HTTP/2 clients onapi.compudime.comtoo. HTTP/1.1 clients still do not get trailers; thebillingblock always says what a call cost. More
2026-10-12
- Changed A list read live from the store has no time limit any more: it reads until it holds
limitrows or the listing ends. The answer starts at once and sends spaces while it reads, and the credit headers come as trailers. A call you hang up on before it is written is not charged. More
2026-10-09
- Changed List endpoints are billed per page of 100 rows returned, at the price one call had: 1 to 100 rows are one page, 101 are two, and an empty page is free. The
billingblock saysunit: pageand how many pages. More - Changed
limithas no maximum on any list. Leave it out for one page of 100 rows. One answer holds at most 10,000 rows and ends withnextCursorwhen there is more. More - Changed No date-range limit:
/v1/tickets,/v1/sales/movementand/v1/sales/dailytake any span. They were limited to 31 and 366 days. More - Added The accounting export:
GET /v1/accounting/sales-summaries,GET /v1/accounting/journal-entries(JSON or CSV) andGET /v1/accounting/mapping, for keys with theaccounting-datacapability, which CompuDime turns on per store. More
2026-10-08
- Added The API answers at
https://api.compudime.com, the address the OpenAPI document names first.https://compudime-public-api.fly.devkeeps working. More
2026-10-07
- Changed
GET /v1/productsleaves inactive products out unless you sendincludeInactive=true. More - Added Every store's product keys may ask for
inactiveandlastSold. More - Added Keys made at account.compudime.com (
cc_live_,cc_test_) are accepted beside the oldercd_live_andcd_test_keys. More
2026-09-24
- Deprecated Products carry
unitsPerCase, the same value asupc, which is units per case and not a barcode.upcis deprecated in name only: both keep working, with no removal date, and asking for both counts as one field. More - Added
GET /v1/categories,/v1/brands,/v1/tags,/v1/reasonsand/v1/store, read live from the store on the catalog key. More - Added
GET /v1/promotionsand/v1/promotions/mix-match/{groupId}: the store's sales, package deals, case sales, scheduled prices and mix and match, on the catalog key. More - Added
GET /v1/tickets,/v1/tickets/{ticketId}and/v1/sales/zreport: register tickets and the register's Z report, on the sales-data key. More - Added Products carry
inactiveandlastSold;includeInactive=falseonGET /v1/productsleaves inactive products out. More - Added Order reads carry
fulfillment, the order's steps in the store, and new webhook events follow those steps:order.picked,order.out_for_delivery,order.delivered,order.completedandorder.canceled. More - Added Integration access levels on the customer reads:
ownreads only the customers your own orders landed on,allthe store's whole customer file. Existing integrations were set toall.GET /v1/capabilitiesreturnsaccessLevel. More - Fixed
modifiedSinceonGET /v1/productsalso returns products whose change time is unknown. More - Added A read the store's agent is too old for answers
422 agent_update_requiredinstead of a retryable 502. More
2026-09-23
- Added
shipToonPOST /v1/orders: a delivery address. An order withshipToand noorderMethodis a delivery. More - Added Order reads and the
order.dispatchedwebhook carryinvoice, a link to the POS invoice the order became. More - Added
GET /v1/invoices/external/{externalId}answers409 invoice_ambiguouswhen two invoices match. The POS keeps the first 10 characters ofprocessorCodeand 25 ofexternalId. More - Changed The per-key rate limit follows the store's plan: a key gets the higher of the API's own limit and its plan's. More
2026-09-17
- Added
GET /v1/purchase-orders,/v1/purchase-orders/{posPurchaseOrderId},/v1/receivingand/v1/receiving/{posReceivingId}, on the purchasing-data key. More - Added Problem bodies carry
integrationIdandstoreIdonce the key was checked, and thedocsUrlandstatusUrllinks. More - Added
503 endpoint_disabled, withRetry-After: 60, when CompuDime switches an endpoint off for a while. More - Added
403 store_feature_not_enabledwhen the store has not turned on what a read needs; it was a 502. More
The changelog starts on 2026-09-17. Questions about a change: support@compudime.com.