Skip to main content
GET
Get recording
Returns a single recording by its Siro internal id. By default the response contains the recording’s core fields; opt into the enrichment blocks below to also pull CRM links, the AI summary, entity extractions, and followups in the same request.

Deleted recordings

Every recording carries two core fields (always present, no opt-in required) that tell you whether it has been deleted in Siro: A deleted recording is still returned by this endpoint (it does not 404) — it comes back with deleted: true. Treat that as a signal to hide or remove the recording on your side; the Siro app already hides these from its Recordings view.

Enriching the response

The org-scoped recordings endpoints can optionally hydrate extra blocks of data, each behind an opt-in query flag: They are off by default and additive — omit them and the response is unchanged. Pass =true to enable. When showCrmLinks=true, crm contains the external IDs of the CRM records the recording is linked to. Every linked object is returned as a pair:
  • id — Siro’s internal ID for the object
  • externalId — that object’s ID in your CRM (use this to join)
This is the same shape emitted by the integrations.recordingProcessed webhook, so pull-based polling and push-based webhooks give you identical CRM references.
crm is null when the recording has no confirmed CRM link yet. Because links can be established after a recording is created, poll the list endpoint with the updatedAt filters to pick up recordings as they become linked.
engagement (the appointment) is only populated when the recording is linked to a CRM-sourced engagement. Recordings linked only to a Siro-side calendar event return engagement: null while still returning account / contact. To map on the appointment ID, ensure your appointments sync to Siro as CRM engagements. Any field with no linked record is null.

summary

When showSummary=true, summary is the recording’s AI summary as an ordered array of sections: Returns [] if the recording has no summary yet.

entityExtractions

When showEntityExtractions=true, entityExtractions is a flat list of the values extracted from the conversation, including the CRM field each maps to: Only successfully completed extractions are included; in-progress or failed extractions are omitted. Returns [] if there are none. Use mappings to write each value to the corresponding field on the CRM record from the crm block.

followups

When showFollowups=true, followups is an array of AI-generated followups tied to the recording. The payload differs by endpoint: List (GET /v1/core/recordings) returns slim summaries: Use Get recording with showFollowups=true when you need the full followup payload for a specific recording. Single recording (GET /v1/core/recordings/{id}) returns the full followup payload, including:

Example

Authorizations

Authorization
string
header
default:<organization-api-token>
required

Organization integration token from Siro admin (Person icon → API Tokens). Send Authorization: Bearer . This is not the OAuth access token used with api.siro.ai user-scoped endpoints.

Path Parameters

id
string
required

Query Parameters

Include CRM link IDs for the recording (integration connection, users, engagement, opportunity, contacts, account, lead).

Available options:
true,
false
showSummary
enum<string>

Include the recording summary results.

Available options:
true,
false
showEntityExtractions
enum<string>

Include the recording entity extractions.

Available options:
true,
false
showEvaluationScore
enum<string>

Include the scorecard evaluation score for the recording.

Available options:
true,
false
showFollowups
enum<string>

Include followups for the recording. List returns id/score summaries; GET by id returns the full followup payload.

Available options:
true,
false

Response

200 - application/json

Get recording

id
string
required
organizationId
string
required
userId
string
required
title
string
required
durationInMilliseconds
number
required
latitude
number
required
longitude
number
required
result
enum<string>
required
Available options:
OPEN,
WON,
LOST
createdAt
string
required
updatedAt
string
required
deleted
boolean
required

Whether the recording has been deleted. Deleted recordings are still returned so consumers can reconcile them; check this flag (and deletedAt) to handle them.

rootDataPurgedAt
string | null
deletedAt
string | null

When the recording was deleted, if it has been deleted.

isProcessingDone
boolean
isEntityExtractionDone
boolean
isSummaryDone
boolean
crm
object
summary
object[]
entityExtractions
object[]
evaluationScore
number

Scorecard evaluation score for the recording

followups
object[]

Array of follow-up actions and communications generated from the recording