Sally API release notes
These release notes list every change to the Sally Public API v1.0, newest first. Each entry is marked as new, changed or breaking and says what you need to do in your integration.
A breaking change is one that can break an existing client, for example because a field disappears, a type changes or the version prefix changes.
Note
Version 1.0 is not frozen yet, so breaking changes can still land here. Once it is frozen, this list closes and the next version starts its own. See Versioning.
Show
October 6, 2026
- new
GET …/summaries/{recordingSummaryId}/documentreturns a summary as a finished file (pdf,docx,odt,txtormd), the same one the web app downloads. Passformat, optionallylanguageCode. See Get meeting summaries. - new
GET …/recordings/{recordingId}/transcription/documentreturns a transcript as a finished file (pdf,docx,xlsx,txt,md) or as subtitles (vtt,srt). See Get a full transcript. - new New error codes for the two file endpoints:
UNKNOWN_DOCUMENT_FORMAT,UNKNOWN_LANGUAGE_CODE,SUMMARY_DOWNLOAD_PREVENTED,TRANSCRIPT_DOWNLOAD_PREVENTED,SUMMARY_HAS_NO_CONTENTandTRANSCRIPT_NOT_AVAILABLE. These two endpoints do not support?fields=. See Errors. - new
GET …/task-categorieslists the task categories, and tasks carrytaskCategoryId, which you can also set when creating or changing a task. - new Finalizing an upload accepts
choice(copyorreplace) for an appointment that already has a recording. Without it, such an upload fails with 409 andRECORDING_EXISTS_CHOICE_REQUIRED. Sendchoiceif you upload to appointments that may already have a recording. - changed
sectionTypehas the new valuestable,appointmentandemail, with the new fieldstableVariant,tableData,followUpMeetingStartTime,followUpMeetingEndTime,followUpMeetingParticipantsandemailRecipients. Meeting template sections carrytableVariantandtableColumns. If your client checkssectionTypeagainst a fixed list, accept the new values or fall back tocontent, which carries a Markdown version of every section. - changed The summary search also finds text in the cells of structured tables.
- changed
GET …/meetingtemplatesnow also returns the caller's personal and team templates, not only the company-wide ones. - changed The task filters are described precisely:
my…covers every task the caller is responsible for or owns, whilemyForwardedandallForwardedlist only what the caller handed to someone else. Check whether your filter still returns what you expect.
September 23, 2026
- new Every endpoint accepts
?fields=and then returns only the fields you name. Without it, nothing changes. See Field selection.
September 22, 2026
- breaking The version is now addressed as
/v1.0. The sliding/v1prefix is gone. Change the prefix of all paths in your client. - breaking
GET /healthno longer carries a version prefix and answers at/health. Update your monitor. - new Recordings carry
isTranscriptionCompleted,isTranscriptionSucceededandtranscriptionCompletionReason, so a finished run can be told apart from a usable transcript. - new Summaries carry
isSummarizationCompleted,isSummarizationSucceededandsummarizationCompletionReason. - changed Webhooks: the event
manualcan now be selected. The two older events stay readable but can no longer be set. - changed The bearer requirement is declared on every documented operation, so generated clients send the token.
September 10, 2026
- changed Creating a webhook now uses the same scale as the rest of the system.
September 8, 2026
- new A recording can be imported from a URL with
POST …/recordings/from-url. See Upload a recording.
September 7, 2026
- new Appointments return the body text, the all-day flag and the iCal id.
- breaking Tags are assigned by id only. The free-text form
namesis gone. Create missing tags first and assign them withtagIds.
August 29, 2026
- new
GET …/tags/colorslists the available tag colors. - new A single summary can be fetched by its id.
- new The sections of a meeting template have their own endpoint.
- breaking
languageCodeis the full IETF language tag (de-DE), no longer the two-letter code. Adjust comparisons and mappings in your client. - breaking Custom insights were removed from summary responses and from search.
- changed Vocabulary entries no longer return the always-true field
isActive.