Developers

Changelog

Every change to the Partner API, newest first. Breaking changes are called out explicitly and we will contact you before making one.

Versioning

The path carries the major version. Anything that would break an existing integration ships as /v2, never as a change to /v1. Additive changes, new fields on a response and new optional parameters, land in place and are listed here.

21 September 2026

v1.2

Four ways a creator gets a code

Most merchants already run a coupon engine, so Trendly generating every code was the wrong default. You can now keep your engine and pick how the two systems meet: we ask yours for a code, you push one to us when you mint it, we generate one for you to mirror, or a person types it in.

Codes have always been versioned rather than overwritten. That history is now readable, in the API and in the dashboard, so a code that changed in June does not quietly rewrite what June earned.

Added

PUT /v1/affiliates/{id}/code, for engines that mint codes on their own schedule. Needs the new codes:write scope.

Added

An optional provisioning URL we call on approval, for engines that can be reached from outside.

Added

GET /v1/codes returns superseded codes alongside live ones, with replaced_by to follow a chain.

What to change

Nothing, unless you want one of the new models. Polling GET /v1/codes keeps working exactly as before. If you filter that endpoint client side, add a status check now that replaced codes are included.

18 September 2026

v1.1

Test orders are stored and visible

Orders reported with a test key used to be validated, priced, and discarded. They are now recorded and appear in Trendly marked as test, so you can send an order and go look at it.

Test data is excluded from the program’s figures and from every payout. A brand can clear it at any time from Developers.

Changed

POST /v1/orders with a test key now returns recorded: true. It previously returned false.

Added

Orders carry is_test. Live figures and payouts ignore anything marked test.

What to change

If you branch on `recorded` to decide whether a test call worked, switch to the HTTP status. `recorded` now means the same thing in both environments.

18 September 2026

v1.1

Replay a request from the dashboard

Any order report in the request log can be sent again from Trendly, using the key that made it. The replay is a new entry that points back at the original, so a failure and its fix both stay in the history.

Added

Replay for POST /v1/orders and POST /v1/orders/batch.

18 September 2026

v1.1

Programs publish their hold period and minimum payout

GET /public/affiliate/{slug} now returns hold_period_days and min_payout_amount. Both are part of the offer a creator accepts, and leaving them out meant nobody could explain why a small balance had not been paid.

Added

hold_period_days and min_payout_amount on the public program endpoint.

15 September 2026

v1.0

Partner API v1

Report affiliate orders to Trendly with one call. Read the codes attached to a program, validate one at checkout, and read your own request history.

Money is a decimal string. Writes are idempotent on your order id.

Added

POST /v1/orders, POST /v1/orders/batch, GET /v1/orders/{id}

Added

GET /v1/codes, GET /v1/codes/{code}, POST /v1/codes/validate

Added

GET /v1/ping, GET /v1/events, GET /v1/openapi.json

Watching for changes

The OpenAPI document is versioned alongside the API. Diff it in your own CI and you will see additive changes before you read about them here.

Open the spec