Skip to main content
API contract changes are listed newest first. Breaking entries include the fields and client updates required to migrate.

July 17, 2026

Canonical list responses and webhook event casing

Breaking change
Update clients that read the removed response aliases before calling the affected endpoints after this release.
We completed the response-pattern migration introduced on July 9. The following endpoints now return list items only under data and pagination only through nextCursor:
  • GET /v2/wallets/yield-sources
  • GET /v2/activity
  • GET /v2/webhooks
  • GET /v2/webhooks/events
  • GET /v2/webhooks/{id}/events

List envelope migration

All affected list responses now use this shape:
When nextCursor is non-null, pass it as the next request’s cursor query parameter. A null value means there are no more pages.

Webhook event field migration

Webhook event feed items and their nested latestEmission object now use camelCase exclusively. Update clients to read:
  • registrationId, eventType, attemptCount, deliveredAt, lastError, createdAt, and updatedAt on each event;
  • eventId, attemptNumber, requestedAt, completedAt, responseStatus, responseMs, and errorMessage from latestEmission.
The equivalent snake_case fields are no longer returned.

Required client changes

  1. Read every affected list from response.data.
  2. Replace response.hasMore checks with response.nextCursor !== null.
  3. Replace snake_case webhook event and delivery-attempt field access with the camelCase names above.