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 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.