Skip to main content

What’s new at Endless

Developer changelog

API changes, deprecations, and important updates for your integrations.

feature

Sales Channels: Optional Handles

Sales channels now carry an optional handle — a short, stable identifier that travels with the channel even if the display name changes. You can set a handle when creating a channel, and edit it on the channel header card; it auto-suggests a kebab-case version of the channel name and you can override it. Handles are lowercased, validated against the allowed shape, and must be unique inside your company; the same handle can be reused across companies.

improvement

Fulfillment Numbers Lead With The Order Number

New fulfillment numbers on V2 orders read ORDERNUMBER-F-XXXXX, where they used to read FO-ORDERNUMBER-XXXXX. Numbers already issued keep their original shape, so both forms are live: treat a fulfillment number as an opaque identifier and match on the whole string rather than parsing it.

Manually created V2 orders also take a shorter default order number, something like EC-A1B2C rather than EC-MANUAL-XXXXX. It is a default an operator can still change before saving. V1 order numbering is unchanged.

improvement

Work With No Caller Behind It Is Attributed To The System

Automations, scheduled jobs and connector-side ingest now run as a single system actor rather than borrowing the identity of whatever set them off. Wherever you read who performed something — an activity record, an audit trail — work with no person or integration behind it reports the system, instead of a user you might otherwise try to resolve to a real account.

The system actor is authorized like any other: it holds a role and a scope, so background work passes the same permission checks as a foreground call. Work your own integration performs is still attributed to your integration.

improvement

Order Items Accept An `externalId`

createPendingOrder accepts an externalId on each order item. Pass the identifier the line carries in your own system and it stays on the Endless order item, so a line can be matched back to its source without keeping a map of your own.

The field is optional, and calls that omit it behave exactly as before.

feature

Custom Fulfillment Integrations

Custom fulfillment integrations are now supported in Endless Commerce. Developers can build a custom fulfillment app, and any team running Endless can mark that app as responsible for inventory or fulfillment on a per-building basis.

This supports 3PLs and fulfillment services that do not run on an off-the-shelf warehouse management system like Extensiv or ShipStation but still want to integrate over API.

feature

Custom Sales Integrations

Custom sales integrations are now a built-in option in Endless Commerce. A custom integration can be created in the app, and its API key can be shared with a developer building a sales channel. The keys use scoped permissions for sales-channel operations, including getting inventory, creating orders, and related actions.

Custom sales integrations also use the order authority system, so Endless can track which app created an order and whether that app can continue editing it.

improvement

API Documentation Organized By Category

The Endless API documentation at docs.endlesscommerce.com is now organized by category, including areas like orders, inventory, and shipments. A new getting started guide has also been added for teams connecting to the API for the first time.

The updated structure makes it easier for developers and operators to understand how Endless data is organized and where to find the endpoints they need.