← Back to What's New

API naming and null handling made consistent

Improvement

Week of October 22, 2026

We went through the Stoked API end to end and made the places that did the same thing differently match. Most of this is invisible, but a few names changed. If your integration reads any of the fields below, update it.

Renamed

  • Waiver submissions: the template relationship is now waiver_template, and filter[template] is now filter[waiver_template], matching private events. Each answer in fields has field_type instead of type.
  • Custom fields: response_type is now field_type and options is now response_options, on the Custom Fields API and in advocates’ meta.custom_fields. Waiver template fields already used these names.
  • Reply speed: records have "type": "analytics_reply_speeds" instead of "analytics-reply-speeds", so every type name now uses underscores. The other analytics types changed the same way.
  • Wallet transactions: now need their own Wallet transactions permission instead of Advocates. Responses also carry meta.wallets.

Null instead of missing

  • A message’s sender_name is now always present, and null when the advocate or prospect sent it.
  • A beat’s subject relationship is now always present, and {"data": null} when the beat’s subject has no endpoint.

Stricter analytics filters

  • An unknown filter[period] or filter[metric] on the analytics events, aggregates and reports endpoints now returns a 400 error instead of quietly using the default. So does a last-N-days period longer than 366 days, which used to be cut short without warning.

Documented

  • Which lists aren’t paginated, and which records are deleted outright rather than marked, so an incremental sync knows when to re-read a full list.

Related: API overview



© 2024-2026 Stoked — Real conversations. Real trust.