Is the “manually_stacked” workflow a client-specific configuration that needs to be enabled on our account, or does it happen automatically in some scenarios?
The post references a “job created” webhook, which appears to belong to the v2 webhook format — could you confirm whether v2 webhooks are still being sent in this case, or if this behavior has been migrated to the v3 webhook events?
If v2 webhooks are still being used for this event, what is the recommended v3 equivalent event or payload to track newly created jobs after a manual stacking operation?
Are there any additional steps we need to take on our side (configuration, client reference setup, etc.) to ensure we correctly receive updates for manually stacked orders?
We want to make sure our integration handles these transitions correctly, especially since v2 webhooks are marked as deprecated.
About manual stacking
Manual stacking is performed by our operations team via the back office when it’s estimated to be beneficial — for example, when two packages have close pickup or drop-off time windows, or when supply is limited.
➜ There’s nothing you need to do on your end to enable or support this workflow.
Webhook version
Webhooks v2 are deprecated, which means new enhancements are not always implemented for this version.
Webhooks v3 is the most up-to-date version, including all recent features and improvements.
While v2 is still supported, we strongly recommend migrating to v3 for better event consistency and long-term stability. If you plan to migrate and would like assistance understanding the manual stacking webhook flow in v3, I’d be happy to help.
What to expect when manual stacking occurs
Assuming two packages are stacked together:
The initial two jobs and their deliveries (one job per package) are cancelled.
A new job is then created containing two deliveries.
Each delivery keeps the same client reference as before stacking.
Webhooks are sent as follows:
job.update events include a currentDelivery field identifying which delivery the update refers to (via its id and clientReference).
The job.update payload also lists all deliveries under that job.
delivery.update webhooks continue as before, but reference the new delivery IDs created during stacking.
Tracking tip:
When tracking manually stacked packages, focus on the clientReference field created at delivery creation.
Since new delivery and job IDs are generated during stacking, using those IDs alone can make order tracking difficult — the client reference remains the reliable identifier across stacking operations.
Summary:
Manual stacking happens automatically — no client action required.
Webhook v2 still works but lacks newer enhancements.
We strongly recommend migrating to webhook v3, which includes the full, up-to-date manual stacking flow.
If you need help understanding or testing the v3 stacking webhook sequence, let me know — I’ll be glad to assist.
Thank you for your response. That has made things more clear.
However, you mention the V2 webhooks are deprecated but in handling manual stacking, you appear to be using V2 webhooks (job.create, delivery.create). I cannot see these events as V3 webhooks? Stuart API
Following up on your question about how manual stacking is handled in webhook v3, here’s a detailed explanation based on the observed event flow.
When two packages are manually stacked by our operations team, the system first cancels the original packages and then creates new ones that reflect the updated (stacked) delivery structure.
Then, two new package_created events are sent to represent the new stacked configuration:
package_created → New Package A (id: 308871882, reference: Test-stacking-1762765455)
package_created → New Package B (id: 308871881, reference: Test-stacking-1762765568)
Each new package keeps the same client reference as before stacking, which allows you to link pre- and post-stacking events reliably, even though the package IDs have changed.
We recommend always using the reference field as the main identifier for tracking, as the id values are regenerated when stacking occurs.
The v3 webhook structure ensures full visibility of this flow — cancellations for the initial packages, followed by the creation of new packages under the updated delivery grouping.
This behavior has been verified and is consistent across manual stacking cases.