v.2.6.0
2026-06-23 - Live
2026-06-09 - Test Environment
Added
Tokenized Assets: EXPIRED Order Status
The WAWEX (tokenized asset) order status enum gains a new terminal status for orders that expire before being filled - completing the lifecycle alongside PARTIALLY_FILLED_EXPIRED introduced in v.2.5.0.
- Documentation Location: API REFERENCE → Trading → Tokenized Assets
- Affected Schema:
OrderStatusonGET /wawex/orders/{orderId}and related WAWEX order responses - Added:
EXPIRED- order expired before any execution took place - Note: Partners using strict enum validation on WAWEX order responses must add
EXPIREDto their accepted set alongside the existing values.
Changed
Savings Plans: startDate / endDate Lifecycle
Savings plans now carry explicit start and end dates. startDate is required on creation and determines when the first execution occurs; the optional endDate causes the plan to be transitioned to DELETED by the nightly expiry job once it passes.
- Documentation Location: API REFERENCE → Trading → Savings Plans / API REFERENCE → Webhooks
- Endpoints:
POST /savings-plans,GET /savings-plans/{savingsPlanId}, savings plans webhook - Added required field on
POST /savings-plansrequest:startDate(string,date) - must be today or a future date - Added optional field:
endDate(string,date) - must be strictly afterstartDate - Added fields on
SavingsPlanresponse andSavingsPlansNotificationwebhook payload:startDate,endDate - Note: This refines the savings plans contract before any partner has integrated against it on Live. Partners that began wiring against the v.2.4.x / v.2.5.0 Pretest spec must include
startDateon every newPOST /savings-plansrequest and accept the two new fields on the GET response and webhook.
Savings Plans: savingPlanId → savingsPlanId Rename and Type Tightening
Spec cleanup pass: the savings-plans contract is now internally consistent on field naming, enum types, and currency references.
- Documentation Location: API REFERENCE → Trading → Savings Plans
- Endpoints:
POST /savings-plans,GET /savings-plans/{savingsPlanId},PATCH /savings-plans/{savingsPlanId},DELETE /savings-plans/{savingsPlanId},GET /customers/{customerId}/savings-plans - Path parameter renamed:
{savingPlanId}→{savingsPlanId} - Response field renamed:
savingPlanId→savingsPlanIdonSavingsPlan(required field) - Type change:
intervalDayis nowintegerwith enum values1,16(previouslystringwith'1','16') - Schema change:
currencynow referencesCurrencyEnum(previously a free-form ISO 4217 string) - Enum typing:
InstrumentTypeEnum,SavingsPlanIntervalPeriodEnum,SavingsPlanIntervalDayEnumnow declare explicittype: string/type: integerfor stricter client codegen - Note: This refines the savings plans contract before any partner has integrated against it on Live. Partners that started wiring against the v.2.5.0 Pretest spec must (a) use
savingsPlanIdconsistently in path and body, (b) send/parseintervalDayas an integer, and (c) restrictcurrencytoCurrencyEnumvalues.
Savings Plans: Requestor-ID Header Required on Write Endpoints
Write operations on savings plans now require the standard Requestor-ID header, aligning the API with the rest of the Tradevest Partner API write surface.
- Documentation Location: API REFERENCE → Trading → Savings Plans
- Endpoints:
POST /savings-plans,PATCH /savings-plans/{savingsPlanId},DELETE /savings-plans/{savingsPlanId} - Added header (required):
Requestor-ID- UUID identifying the natural person initiating the action - Note: This refines the savings plans contract before any partner has integrated against it on Live. Partners must include
Requestor-IDon every write call to savings plans; calls without the header will be rejected with400 Bad Request.
Tokenized Assets: side → tradeSide Rename
The order-direction field on WAWEX orders is renamed for consistency with the rest of the Tradevest Partner API (tradeSide is already used elsewhere in the trading domain).
- Documentation Location: API REFERENCE → Trading → Tokenized Assets
- Endpoints:
POST /wawex/orders(request),GET /wawex/orders/{orderId}(response), related WAWEX order responses - Renamed (required field):
side→tradeSide(values fromTradeSideEnumunchanged:BUY,SELL) - Note: This refines the WAWEX contract before any partner has integrated against it on Live. Partners that began wiring against the v.2.5.0 Pretest spec must rename
side→tradeSidein both request payloads and response parsers.
Digital & Traditional Assets: savingsPlan → savingsPlansEligible Rename
The savings-plan eligibility flag on the asset list endpoints is renamed to be self-describing, and the unused savingsPlanMinAmount field is dropped.
- Documentation Location: API REFERENCE → Trading → Traditional Assets / API REFERENCE → Trading → Digital Assets
- Endpoints:
GET /digital-assets,GET /traditional-assets - Query parameter renamed:
savingsPlan→savingsPlansEligible - Response field renamed (required):
savingsPlan→savingsPlansEligibleonDigitalAssetandTraditionalAsset - Removed field:
savingsPlanMinAmount(was unused - minimum amounts are returned via the dedicated savings-plans configuration) - Note: This refines the savings-plan eligibility surface before any partner has integrated against it on Live. Partners that used the previous
savingsPlanfilter or response field must switch tosavingsPlansEligible.
Corporate Actions: responseDeadline Format Now date-time
The responseDeadline field on corporate actions now carries a full timestamp (date + time + zone) instead of just a date - required to express the cut-off down to the hour for tender (TEND) instructions.
- Documentation Location: API REFERENCE → Trading → Corporate Actions
- Endpoints:
GET /corporate-actions/,GET /corporate-actions/customers/{customerId}(and the per-id detail endpoint) - Changed field:
responseDeadline-format: date→format: date-time(e.g.2024-01-14T12:31:13.000Zinstead of2024-01-14) - Required Partner Action: If a partner parses
responseDeadlineagainst a strictdateparser, update the parser to accept ISO-8601date-time. Existing date-only values will no longer appear in responses.
Corporate Actions: postedCash → fractionalCashAmount Rename and Conditional-Field Clarifications
The cash-in-lieu-of-fractional-shares field is renamed to be self-describing. Several optional fields now document the corporate-action subtypes that actually require them.
- Documentation Location: API REFERENCE → Trading → Corporate Actions
- Endpoints:
GET /corporate-actions/,GET /corporate-actions/customers/{customerId}(request schema and customer-event response schema) - Renamed field:
postedCash→fractionalCashAmounton both the corporate-action and corporate-action-customer-event schemas - Description clarifications (no schema change):
grossAmount- Required for DVCAratioFrom,ratioTo- Required for SPLF / BONU / DVSEresponseDeadline- Required for TEND
- Required Partner Action: Partners parsing the
postedCashfield must rename tofractionalCashAmount. The conditional-field documentation describes existing server behavior - no client change is required.
Documents & Entities: Documentation Refinements
Two doc-only updates to clarify partner-facing behavior that was previously implicit.
- Documentation Location: API REFERENCE → Documents / API REFERENCE → Entities
- Contact (
PATCH) semantics: BothContactandContactUpdateschemas now carry an explicit notice that thecontactobject requires a full representation onPATCH. Omitted optional fields (e.g.fax,website) are persisted asnull. Partners must include all current contact values on update to preserve them. - Document-type matrix:
documents.yamlnow listsW_8BENandW_8IMYalongsideW_8BEN_Ein the Tax-documents row forLEGAL_ENTITY(the enum values themselves were already added in v.2.5.0).