Skip to main content

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 20, 2026​

  • new GET …/appointments/{appointmentId}/agenda returns the planned agenda of an appointment, with appointmentAgendaItemId, title, note and sortOrder per item. The agenda belongs to the online meeting, so every participant's appointment returns the same one.
  • new Summaries carry agendaResults, the evaluated agenda with one entry per item (agendaCoverage as discussed, touched or notDiscussed, plus summary, content and timeStamps), and isAgendaEvaluationOutdated. Nothing changes for existing clients. To show the agenda, resolve appointmentAgendaItemId through the agenda endpoint.
  • new Meeting templates carry isSmallTalkInclusionEnabled and isPrivateTopicsInclusionEnabled, and their sections carry smallTalk and privateTopics (inherit, include or exclude). If you evaluate templates, read inherit as the value of the template.

October 7, 2026​

  • changed POST …/summaries/search searches word by word: the words of the term are combined with OR, words of four or more characters also match inside longer words and inflected forms, and umlaut spellings are interchangeable. Table sections are also searched by person names, email addresses and column names, and snippet now shows the excerpt around the first match. A term with several words can return more hits than before, so send keywords and check filters that relied on exact substrings. See Get meeting summaries.

October 6, 2026​

  • new GET …/summaries/{recordingSummaryId}/document returns a summary as a finished file (pdf, docx, odt, txt or md), the same one the web app downloads. Pass format, optionally languageCode. See Get meeting summaries.
  • new GET …/recordings/{recordingId}/transcription/document returns 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_CONTENT and TRANSCRIPT_NOT_AVAILABLE. These two endpoints do not support ?fields=. See Errors.
  • new GET …/task-categories lists the task categories, and tasks carry taskCategoryId, which you can also set when creating or changing a task.
  • new Finalizing an upload accepts choice (copy or replace) for an appointment that already has a recording. Without it, such an upload fails with 409 and RECORDING_EXISTS_CHOICE_REQUIRED. Send choice if you upload to appointments that may already have a recording.
  • changed sectionType has the new values table, appointment and email, with the new fields tableVariant, tableData, followUpMeetingStartTime, followUpMeetingEndTime, followUpMeetingParticipants and emailRecipients. Meeting template sections carry tableVariant and tableColumns. If your client checks sectionType against a fixed list, accept the new values or fall back to content, which carries a Markdown version of every section.
  • changed The summary search also finds text in the cells of structured tables.
  • changed GET …/meetingtemplates now 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, while myForwarded and allForwarded list 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 /v1 prefix is gone. Change the prefix of all paths in your client.
  • breaking GET /health no longer carries a version prefix and answers at /health. Update your monitor.
  • new Recordings carry isTranscriptionCompleted, isTranscriptionSucceeded and transcriptionCompletionReason, so a finished run can be told apart from a usable transcript.
  • new Summaries carry isSummarizationCompleted, isSummarizationSucceeded and summarizationCompletionReason.
  • changed Webhooks: the event manual can 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 names is gone. Create missing tags first and assign them with tagIds.

August 29, 2026​

  • new GET …/tags/colors lists 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 languageCode is 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.