Changelog
New and changed REST API endpoints and fields, Chat SDK releases, and developer tooling, newest first. Breaking changes are marked.
API entries are dated by when the endpoint or field was added to the public API reference. Some of them describe behavior that was already live but undocumented, so you can rely on them from that date onward.
November 2026
Chat handoff and brand address updates
November 2
POST /v2.1/chat/handoffaccepts an optionaltrackingIdand an optionalsubStatus. See Import a bot conversation.- Brand address mappings accept an
allBrandsflag, which shares an address across every brand.PATCHnow acceptsallBrandsas well asisDefault.
October 2026
New developer docs
October 21
This site replaces the previous developer portal.
- The API reference covers 447 operations across 10 APIs, each with a request builder and samples for cURL, Node, Python, Go and kusty.
- New guides cover app definitions, workflows, webhooks and the event catalog, and the AI and automations API.
- The Chat SDK docs have been rewritten for iOS 8.3, Android 4.6 and React Native 6.3. The previous React Native pages still described React Native 0.63–0.73 and iOS 12.4.
- New kusty CLI and MCP server docs.
- Every page is available as Markdown, alongside llms.txt. See Docs for AI.
API: limit email From addresses by brand
October 20
Admins can now restrict which email accounts each permission set may send from, based on the brands those addresses belong to.
- Role groups accept
meta.outboundBrandVisibilitywithbrandIdsandincludeUnassigned. Sendnullto clear it. An empty list withincludeUnassigned: falsehides every address, which is different from leaving the setting unconfigured. GET /v1/outboundAccounts?applyOutboundBrandVisibility=truereturns only the accounts the caller may use. A user's visible brands are the union across all their permission sets, including those from teams. Users who can edit role groups are never filtered. Without the parameter, the endpoint ignores the setting.
API: brand address mappings
October 16
New endpoints link support email addresses to brands. An address can belong to several brands, and isDefault marks one of them as its default. Addresses are stored trimmed and lowercased.
- List, with an optional
addressfilter, and create mappings. Creating a mapping that already exists returns the existing one. - Update or delete one mapping, or remove every mapping for an address or for a brand.
API: read chat history and import conversations
October 14 to 16
The server-side chat API can now read existing chats and import conversations from another system.
GET /v2.1/chat/sessionslists a customer's sessions bycustomerId,trackingIdor both, most recent activity first, with optionalactiveandbrandIdfilters.GET /v2.1/chat/sessions/{id}/messagesreturns a session's messages, paginated, with optionalfieldsto trim the payload.POST /v2.1/chat/handoffcreates a session together with 2 to 100 historical messages, which must include at least one inbound and one outbound message. SetexternalIdto link back to the original thread,active: falseto import it already closed, andcustomfor custom attributes.
iOS Chat SDK 8.3.0 (breaking)
October 14
- Breaking: JWTDecode is now 4.0.x. If your app pins JWTDecode 3.x, raise the pin to 4.0.0 or remove it.
- Breaking: the Swift Package Manager package needs a Swift 6 toolchain (tools version 6.0).
- Breaking: SnapKit is no longer a transitive dependency. If your app uses SnapKit, add it to your own dependencies. The public
KustomerChatAPI is unchanged. - Fixed: tapping an AI agent's suggested answer could leave a duplicate customer message.
iOS 7.2.10, released the same day, carries the same fix for apps that must stay on iOS 14. 8.x remains the recommended line. See iOS.
React Native Chat SDK 6.3.6
October 14
Updates the iOS SDK to 8.3.0 and the Android SDK to 4.6.2. On iOS, this brings in the JWTDecode 4.0 requirement and removes SnapKit as a transitive pod. See React Native.
API: external attachments
October 13
POST /v1/attachments accepts externalUrl to register a file you host instead of uploading it. Only HTTPS URLs are accepted, and URLs with embedded credentials are rejected. Kustomer doesn't fetch, scan, store or delete the file, so keeping the URL valid is up to you. Add renderMode: metadata_only to keep the URL out of every client response, so agents and customers see a non-interactive placeholder instead of a link.
Android Chat SDK 4.6.2
October 13
The published libraries no longer force core library desugaring on your app. Only apps with minSdk 24 or 25 need to turn it on. See Android.
API: spam senders by ID
October 7
Get and update a single spam sender. Senders now report automated: true when spam detection added them rather than a person. createdBy is null for those senders, and modifiedBy is null when the latest change was automatic.
iOS Chat SDK 8.2.4
October 7
- Fixed: tapping a suggested answer could show the customer's reply twice.
- Fixed: on iOS 26 and 27, the chat navigation bar could start in a compact layout.
API: email aliases and the chat auto flag
October 2 to 5
- Outbound accounts list
aliases: receive-only addresses on SES, Gmail and Postmark accounts, used to pre-select the From address when replying. - Outbound agent chat messages accept
auto: trueto mark a message as written by AI or automation. Those messages don't count toward first response time when the SLA only counts human replies.
iOS Chat SDK 8.2.1 to 8.2.3
September 30 to October 1
- Chat now uses one long-lived real-time connection instead of two, which reduces idle traffic. No code changes are needed.
- Opening chat or the knowledge base and the setup completion callback now always run on the main thread, even if your code finishes on a background queue.
- Reconnect recovery after an unexpected disconnect now waits for the connection to settle.
September 2026
Android Chat SDK 4.6.1
September 30
Uses a single real-time client internally. No API changes.
API: assistant greeting on session create
September 29
POST /v2.1/chat/sessions accepts assistant. Kustomer then posts that assistant's greeting into the new session and readies it for the customer's first reply, so you no longer need to send a placeholder inbound message to start the flow. If the greeting fails, the session is still created.
API: Next Reply SLA metrics
September 24 to 25
- SLA versions can set Next Reply targets per priority.
firstResponseandnextReplytakebasedOnHumanInteraction: when it'strue, only messages sent by a person satisfy the metric. When it's omitted, any customer-visible outbound message counts, as before. - Conversations report
attributes.sla.metrics.nextReplywith the current cycle'sbreachAt,satisfiedAtandremainingTime, plus lifetimeonTimeCountandlateCounttallies.
iOS Chat SDK 8.2.0 and React Native 6.3.0
September 23
- The iOS SDK now uses PubNub Swift 10.2.0. If your app also depends on PubNub directly, align it to 10.2.0.
- More reliable reconnects: catch-up runs only after a successful reconnect, and auth refreshes are gentler.
- Link previews and the new-conversation controls have stable accessibility identifiers for UI tests and VoiceOver.
React Native 6.3.0 picks up these changes on iOS.
React Native Chat SDK 6.2.0 (breaking)
September 22
Updates to the Android SDK 4.6 line. Your Android app now needs Kotlin 2.2 or later and core library desugaring. Since Android 4.6.2 (in React Native 6.3.6), desugaring is only needed when minSdk is 24 or 25. React Native 0.77 apps need a few more Gradle settings, which the React Native guide lists.
Android Chat SDK 4.6.0 (breaking)
September 21
- Breaking: apps need Kotlin 2.2 or later. The SDK moved from Kotlin 1.9 to 2.2.21, with PubNub 13.4.3 and OkHttp 5.3.2.
- No public API changes. The minimum SDK is still 24.
iOS Chat SDK 8.1.0
September 18
Official iOS 27 support, built with Xcode 27. The supported range is iOS 15.0 through iOS 27. No API changes.
iOS Chat SDK 8.0.0 and React Native 6.0.0 (breaking)
September 17
- Breaking: the minimum iOS version is now 15.0. Apps that must support iOS 14 can stay on the 7.2.x maintenance line.
- Logging in or out now clears the previous identity's conversations and chat UI, including the move from anonymous to identified. The completion runs after that reset, so it's safe to open chat from it. Android and web already behaved this way.
- React Native 6.0.0 ships iOS 8.0.0 and is built and tested against React Native 0.77.
API: attachments on article versions
September 15
Knowledge base article versions include read-only relationships.attachments, built from the data-media-id attributes in htmlBody. They're returned by every version endpoint, but you can't set them in a request.
API: company hierarchy
September 8
New endpoints build parent and child relationships between companies: create or delete an edge, set a company's parent, and read a node or its direct parent.
August 2026
API: manage satisfaction surveys
August 19
You can now create, update and reorder satisfaction surveys through the API, including channel, scale, delay and form type. The order, up to 500 surveys, decides which enabled survey is used for each channel, since they're evaluated in sequence.
API: server-side chat
August 7
The Chat API documents the v2.1 endpoints for running chat from your backend with an API key: create sessions, post customer, agent and assistant messages, show typing indicators and record satisfaction. See the server-side chat API guide.