Siro Core API

The Core API from Siro — 23 operation(s) for core.

Operations 138

GET /v1/core/recordings/{id} Get recording
DELETE /v1/core/recordings/{id} Soft-delete a recording
GET /v1/core/recordings Get recordings
PUT /v1/core/recordings Create a new recording
PATCH /v1/core/recordings Update a recording
POST /v1/core/recordings Fetch a list of recordings by id
GET /v1/core/recordings/{id}/summaries Get recording summaries
GET /v1/core/users Get users
POST /v1/core/users Create user
GET /v1/core/users/{id} Get user
PUT /v1/core/users/{id} Update user
GET /v1/core/mobile-events Get mobile events for an org
GET /v1/core/mobile-events/{id} Get mobile event by ID
GET /v1/core/auth/caller-identity Get details about your current auth token
GET /v1/core/auth/tokens/{id} Get a single authentication token by ID
DELETE /v1/core/auth/tokens/{id} Delete a single authentication token by ID
GET /v1/core/auth/tokens List all tokens for a given org.
POST /v1/core/auth/tokens Create a new authentication token for an organization.
GET /v1/core/oauth/apps/{clientId} Get a specific OAuth app
DELETE /v1/core/oauth/apps/{clientId} Delete an OAuth application by id.
GET /v1/core/oauth/apps Get all OAuth apps for an organization
POST /v1/core/oauth/apps Create a new OAuth application for an organization
GET /v1/core/oauth/apps/{clientId}/access-token/{tokenId} Get a specific OAuth access token by id.
DELETE /v1/core/oauth/apps/{clientId}/access-token/{tokenId} Revoke an OAuth access token for a given OAuth app.
POST /v1/core/oauth/apps/{clientId}/access-token Create a new OAuth access token for a given OAuth app.
GET /v1/core/oauth/apps/{clientId}/access-token Get all OAuth access tokens for a given OAuth app.
GET /v1/core/organizations Get organizations
POST /v1/core/organizations Create an organization
GET /v1/core/organizations/{id} Get an organization
PATCH /v1/core/organizations/{id} Update an organization
GET /v1/core/integrations/connections Get all integration connections for a single org
POST /v1/core/integrations/connections Create a new integration connection for a given org
GET /v1/core/integrations/connections/{id} Get a single integration connection within a single org
PATCH /v1/core/integrations/connections/{id} Update a single integration connection within a given org
DELETE /v1/core/integrations/connections/{id} Delete a single integration connection within a single org
PUT /v1/core/integrations/salesforce Upsert Salesforce integration authentication details
GET /v1/core/organizations/{orgId}/teams Get all teams for an org
POST /v1/core/organizations/{orgId}/teams Create a new team for an org
GET /v1/core/organizations/{orgId}/teams/{teamId} Get a single team within a given org
PATCH /v1/core/organizations/{orgId}/teams/{teamId} Update a single team within a single org
DELETE /v1/core/organizations/{orgId}/teams/{teamId} Hard-delete a single team within a single org
PUT /v1/core/recordings/{id}/viewed Mark a recording as viewed
POST /v1/core/recordings/{id}/views Report a recording view duration
PUT /v1/core/recordings/{id}/listen Report recording listening time
GET /v1/core/recordings/{id}/utterances Get recording utterances
POST /v1/core/recordings/{id}/chats Ask Siro GPT about a recording
GET /v1/core/recordings/{id}/chats/available Check recording chat availability
GET /v1/core/recordings/{id}/deep-link/{tenant} Get deep link for recording
POST /v1/core/recordings/search Search recordings
PATCH /v1/core/recordings/{id}/transcription-language Update the transcription language for a recording
POST /v1/core/recordings/{id}/signedUrl Create signed URL for redacted recording audio (download)
GET /v1/core/recordings/{id}/summary Get the summary for the recording provided.
PUT /v1/core/recordings/{id}/link Create or replace the CRM link on a recording
DELETE /v1/core/recordings/{id}/link Remove the CRM link from a recording
GET /v1/core/folders Get all folders for a user
POST /v1/core/folders Create a new folder
DELETE /v1/core/folders Delete a folder
GET /v1/core/folders/{id}/items Get folder items
POST /v1/core/folders/{id}/items Add item to folder
DELETE /v1/core/folders/{id}/items Delete folder item
PATCH /v1/core/folders/{id} Update a folder
GET /v1/core/comments Get all comments the user is a recipient on
POST /v1/core/recordings/{id}/comments Create a new comment for a recording
GET /v1/core/recordings/{id}/comments Get all comments for a recording
GET /v1/core/recordings/{id}/threads Get all threads for a recording
GET /v1/core/threads Get all threads for a user
GET /v1/core/threads/unread Get all unread threads for a user
GET /v1/core/recordings/{id}/comments/{commentId} Get a single comment
PATCH /v1/core/recordings/{id}/comments/{commentId} Update a comment
DELETE /v1/core/recordings/{id}/comments/{commentId} Delete a comment
POST /v1/core/recordings/{id}/comments/{commentId}/rating Rate a Siro bot comment (thumbs up / thumbs down)
PATCH /v1/core/recordings/{recording_id}/threads/{thread_id} Update thread privacy
POST /v1/core/conversation-configurations Create a new conversation configuration
GET /v1/core/conversation-configurations Get conversation configurations
PATCH /v1/core/conversation-configurations/{id} Update conversation configuration
GET /v1/core/summary-prompts/industry Get summary prompts for the caller organization industries
GET /v1/core/conversation-configurations/{conversationTypeId}/summary-prompts Get summary prompts for a conversation configuration
POST /v1/core/conversation-configurations/{conversationTypeId}/summary-prompts Create summary prompts for a conversation configuration
PUT /v1/core/conversation-configurations/{conversationTypeId}/summary-prompts Replace summary prompts for a conversation configuration
GET /v1/core/teams/{teamId}/team-code-link Get team code link
GET /v1/core/bookmark-configs Get bookmark configurations
GET /v1/core/bookmark-groups Get bookmark groups
GET /v1/core/bookmark-models Get bookmark models
POST /v1/core/bookmark-models Create a bookmark model
PATCH /v1/core/bookmark-models/{modelId} Update a bookmark model
GET /v1/core/manual-labels Get manual labels
POST /v1/core/manual-labels Create a manual label
DELETE /v1/core/manual-labels/{manualLabelId} Delete a manual label
PATCH /v1/core/manual-labels/{manualLabelId}/toggle Toggle a manual label
GET /v1/core/bookmark-configs/{bookmarkConfigId}/labeled-recordings Get labeled recordings for a bookmark config
GET /v1/core/organizations/{id}/users Get all users for an organization
GET /v1/core/entities/extractions/{recordingId} Get entity extractions for a recording
GET /v1/core/scorecards/scorecard-metrics/values Get scorecard metrics values
GET /v1/core/scorecards/users/{userId}/weighted-score-history Get weighted scorecard score history
GET /v1/core/scorecards/teams/{teamId}/weighted-score-history Get weighted scorecard score history for a team
GET /v1/core/scorecards/scorecard-metrics/available Get available scorecard metrics
GET /v1/core/scorecards/scorecard-metrics/{id} Get scorecard metric configuration data
PATCH /v1/core/scorecards/scorecard-metrics/{id} Update scorecard metric prompt
DELETE /v1/core/scorecards/scorecard-metrics/{id} Delete scorecard metric
PUT /v1/core/scorecards/scorecard-metrics Create scorecard metric
PUT /v1/core/scorecards/instances Create scorecard instance
GET /v1/core/scorecards/instances Get scorecard instances
PATCH /v1/core/scorecards/instances/{id} Update scorecard instance
GET /v1/core/scorecards/instances/{id} Get scorecard instances
GET /v1/core/scorecards/color-configurations Get active scorecard color configurations
GET /v1/core/scorecards/instance-summaries Get scorecard instance summaries
GET /v1/core/scorecards/evaluated-instances/{id} Get evaluated scorecard instance
GET /v1/core/scorecards/evaluated-instances/{id}/populations Get evaluated scorecard instance for multiple populations
GET /v1/core/scorecards/standardized-prompts Get scorecard standardized prompts
GET /v1/core/followups Get followups
PATCH /v1/core/followups/{id} Update a followup
POST /v1/core/sdk-logging/siro-logs Submit SDK Siro log
GET /v1/core/companion-call/settings Get companion call settings
PUT /v1/core/companion-call/settings Update companion call settings
GET /v1/core/halftime/recordings/{recordingId}/transcript Poll live halftime transcript
GET /v1/core/outcomes/outcome-definitions Get outcome definitions for a user
GET /v1/core/outcomes/outcome-definitions/{conversationConfigId} Get outcome definitions for conversation type
POST /v1/core/outcomes/outcome-definitions/{conversationConfigId} Create or update outcome definition
POST /v1/core/outcomes/set-multiple/{conversationConfigId} Set multiple outcomes
GET /v1/core/recordings/{recordingId}/outcomes Get a recording’s possible and selected outcomes
PATCH /v1/core/recordings/{recordingId}/outcomes Edit a recording’s selected outcomes
POST /v2/core/recordings/search Search recordings
POST /v2/core/recordings/search/slim Search recordings (slim)
POST /v2/core/recordings/list-decorations Batch list decorations
POST /v2/core/recordings/{id}/signed-url Create a signed URL for a recording
POST /v2/core/recordings/users/{userId}/list List recordings for a user
GET /v2/core/recordings/{id}/summary Get the summary for the recording provided.
GET /v2/core/bookmark-configs Get bookmark configurations (v2)
PATCH /v2/core/bookmark-configs/{id} Update a bookmark configuration (v2)
GET /v2/core/bookmark-groups Get bookmark groups (v2)
POST /v2/core/bookmark-groups Create a bookmark group (v2)
PATCH /v2/core/bookmark-groups/{id} Update a bookmark group (v2)
GET /v2/core/industries Get industries (v2)
POST /v2/core/industries Create an industry (v2)
GET /v2/core/industries/{id} Get an industry (v2)
PATCH /v2/core/industries/{id} Update an industry (v2)
POST /v1/core/recordings/upload Create a recording from a phone call
POST /v1/core/recordings/signed-urls Get a signed URL for uploading a recording

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/siro-core-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

siro-core-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Siro Core API
  version: 1.0.0
  description: 'Operations tagged Core across 4 of this provider''s published API definitions: siro-external-api-openapi.json, siro-openapi-original.json, siro-platform-api-openapi.json, siro-recordings-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://functions.siro.ai/api-externalApi
  description: Siro API external API endpoint
- url: https://api.siro.ai/
  description: Siro API Gateway
tags:
- name: Core
paths:
  /v1/core/recordings/{id}:
    get:
      summary: Get recording
      description: Get a recording by id
      parameters:
      - schema:
          type: string
        required: true
        name: id
        in: path
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          description: Include CRM link IDs for the recording (integration connection, users, engagement, opportunity, contacts, account, lead).
        required: false
        description: Include CRM link IDs for the recording (integration connection, users, engagement, opportunity, contacts, account, lead).
        name: showCrmLinks
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          description: Include the recording summary results.
        required: false
        description: Include the recording summary results.
        name: showSummary
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          description: Include the recording entity extractions.
        required: false
        description: Include the recording entity extractions.
        name: showEntityExtractions
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          description: Include the scorecard evaluation score for the recording.
        required: false
        description: Include the scorecard evaluation score for the recording.
        name: showEvaluationScore
        in: query
      - schema:
          type: string
          enum:
          - 'true'
          - 'false'
          description: Include followups for the recording. List returns id/score summaries; GET by id returns the full followup payload.
        required: false
        description: Include followups for the recording. List returns id/score summaries; GET by id returns the full followup payload.
        name: showFollowups
        in: query
      responses:
        '200':
          description: Get recording
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  organizationId:
                    type: string
                  userId:
                    type: string
                  title:
                    type: string
                  durationInMilliseconds:
                    type: number
                  latitude:
                    type: number
                  longitude:
                    type: number
                  result:
                    type: string
                    enum:
                    - OPEN
                    - WON
                    - LOST
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  rootDataPurgedAt:
                    type:
                    - string
                    - 'null'
                  deleted:
                    type: boolean
                    description: Whether the recording has been deleted. Deleted recordings are still returned so consumers can reconcile them; check this flag (and deletedAt) to handle them.
                  deletedAt:
                    type:
                    - string
                    - 'null'
                    description: When the recording was deleted, if it has been deleted.
                  links:
                    type: object
                    properties:
                      web:
                        type: object
                        properties:
                          self:
                            type: string
                        required:
                        - self
                    required:
                    - web
                  isProcessingDone:
                    type: boolean
                  isEntityExtractionDone:
                    type: boolean
                  isSummaryDone:
                    type: boolean
                  crm:
                    type: object
                    properties:
                      integrationConnectionId:
                        type: string
                        description: Siro internal IntegrationConnection id for the CRM connection
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Internal Siro ID for the external object
                            externalId:
                              type: string
                              description: External ID for the external object in the CRM
                          required:
                          - id
                          - externalId
                        description: CRM Engagement User(s) owning the recording
                      engagement:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Internal Siro ID for the external object
                          externalId:
                            type: string
                            description: External ID for the external object in the CRM
                        required:
                        - id
                        - externalId
                        description: CRM Engagement tied to the recording
                      opportunity:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Internal Siro ID for the external object
                          externalId:
                            type: string
                            description: External ID for the external object in the CRM
                        required:
                        - id
                        - externalId
                        description: CRM Opportunity tied to the recording
                      contacts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Internal Siro ID for the external object
                            externalId:
                              type: string
                              description: External ID for the external object in the CRM
                          required:
                          - id
                          - externalId
                        description: CRM Contact(s) tied to the recording
                      account:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Internal Siro ID for the external object
                          externalId:
                            type: string
                            description: External ID for the external object in the CRM
                        required:
                        - id
                        - externalId
                        description: CRM Account tied to the recording
                      lead:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Internal Siro ID for the external object
                          externalId:
                            type: string
                            description: External ID for the external object in the CRM
                        required:
                        - id
                        - externalId
                        description: CRM Lead tied to the recording
                    required:
                    - integrationConnectionId
                  summary:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        content:
                          type: string
                      required:
                      - id
                      - name
                      - content
                  entityExtractions:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                          - type: string
                          - type: number
                          - type: boolean
                          - {}
                          - type: array
                            items:
                              anyOf:
                              - type: string
                              - type: number
                              - type: boolean
                              - {}
                              - {}
                          - {}
                        mappings:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              crmModelName:
                                type: string
                              crmFieldName:
                                type: string
                            required:
                            - crmModelName
                            - crmFieldName
                      required:
                      - name
                  evaluationScore:
                    type: number
                    description: Scorecard evaluation score for the recording
                  followups:
                    type: array
                    items:
                      type: object
                      properties:
                        recordingId:
                          type: string
                          description: Followup recording id
                        recordingTitle:
                          type:
                          - string
                          - 'null'
                          description: Followup recording title
                        repName:
                          type: string
                          description: Followup rep name
                        repId:
                          type: string
                          description: Followup rep id
                        teamName:
                          type:
                          - string
                          - 'null'
                          description: Followup team name
                        teamId:
                          type: string
                          description: Followup team id
                        followupId:
                          type: string
                          description: Followup id
                        dateCreated:
                          type: string
                          description: Followup date created. ISO 8601 UTC timestamp.
                        followupType:
                          type: string
                          enum:
                          - REHASH
                          - CROSS_SELL
                          description: Followup type. Can be REHASH or CROSS_SELL.
                        score:
                          type: number
                          description: Followup score. Can be between 1 and 5.
                        followupAction:
                          type:
                          - string
                          - 'null'
                          description: Followup action
                        context:
                          type: array
                          items:
                            type: object
                            properties:
                              header:
                                type: string
                                description: Followup context header. Can be MAIN_OBJECTION, EMOTIONAL_TIE, OVERALL_COST, SCOPE, FOLLOW_UP_TIME, SECONDARY_OBJECTION, SCOPE_COST_SUMMARY, OBJECTION_SUMMARY, FOLLOW_UP_SUMMARY, FIRST_PRICE_QUOTE, FINAL_PRICE_QUOTE, PRICING_OPTIONS, FINANCING, COMMITMENT.
                              value:
                                type: string
                                description: Followup context value
                            required:
                            - header
                            - value
                          description: Followup context
                        updatedAt:
                          type: string
                          description: Followup updated at. ISO 8601 UTC timestamp.
                        metadata:
                          type: array
                          items:
                            type: object
                            additionalProperties:
                              type: string
                          description: Followup metadata
                        starred:
                          type: boolean
                          description: Followup starred state. Can be true or false.
                        status:
                          type: string
                          enum:
                          - TO_DO
                          - IN_PROGRESS
                          - COMPLETE
                          description: Followup status. Can be TO_DO, IN_PROGRESS, or COMPLETE.
                        thinking:
                          type: string
                          description: Followup thinking and score breakdown
                        history:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Followup history id
                              updatedBy:
                                type: string
                                description: Followup history updated by
                              updatedByUserId:
                                type:
                                - string
                                - 'null'
                                description: Followup history updated by user id. Null if the updated by is a Siro system action.
                              createdAt:
                                type: string
                                description: Followup history created at. ISO 8601 UTC timestamp.
                              note:
                                type: string
                                description: Followup history note
                              status:
                                type: string
                                enum:
                                - TO_DO
                                - IN_PROGRESS
                                - COMPLETE
                                description: Followup history status
                            required:
                            - id
                            - updatedBy
                            - updatedByUserId
                            - createdAt
                          description: Followup history. Returns all status changes and notes for the followup.
                        crmUrl:
                          type:
                          - string
                          - 'null'
                          description: URL to the customer in the linked CRM (DEPRECATED)
                        crmCustomer:
                          type:
                          - object
                          - 'null'
                          properties:
                            id:
                              type: string
                              description: Customer ID
                            name:
                              type:
                              - string
                              - 'null'
                              description: Customer name
                            crmUrl:
                              type: string
                              description: URL to this customer in the linked CRM
                            customerType:
                              type: string
                              enum:
                              - ACCOUNT
                              - LEAD
                              - OPPORTUNITY
                              - ENGAGEMENT
                              - CONTACT
                              - DMS_OPPORTUNITY
                            lastActivityAt:
                              type:
                              - string
                              - 'null'
                              description: Last activity date
                            createdAt:
                              type: string
                              format: date-time
                              description: Date the Customer record was created in Siro
                            updatedAt:
                              type: string
                              format: date-time
                              description: Date the Customer record was last updated in Siro
                            closedAt:
                              type:
                              - string
                              - 'null'
                              format: date-time
                              description: Date the Customer was closed (applicable to Opportunities)
                            emailAddress:
                              type:
                              - string
                              - 'null'
                              description: Customer email addresses
                            phoneNumber:
                              type:
                              - string
                              - 'null'
                              description: Customer phone numbers
                            externalId:
                              type:
                              - string
                              - 'null'
                              description: Customer external ID
                            amount:
                              type:
                              - number
                              - 'null'
                              description: Dollar amount associated with a Customer deal
                            disposition:
                              type:
                              - string
                              - 'null'
                              description: 'Disposition for the Customer deal: "WON" | "LOST" | "OPEN"'
                            recordingId:
                              type:
                              - string
                              - 'null'
                              description: ID of the most recent recording linked to this customer
                            lastRecordingDate:
                              type:
                              - string
                              - 'null'
                              format: date-time
                              description: Datetime of the most recent recording linked to this customer
                            numRecordings:
                              type:
                              - number
                              - 'null'
                              description: Total number of recordings linked to this customer
                            matchingSource:
                              type:
                              - string
                              - 'null'
                              enum:
                              - DIRECT
                              - FUZZY
                              - NOT_FOUND
                              description: Source of matching
                            accountId:
                              type:
                              - string
                              - 'null'
                              description: Account ID
                            opportunityAccountName:
                              type:
                              - string
                              - 'null'
                              description: Account Name associated with the Opportunity
                            contactId:
                              type:
                              - string
                              - 'null'
                              description: Contact ID
                            opportunityContactName:
                              type:
                              - string
                              - 'null'
                              description: Contact Name associated with the Opportunity
                            opportunityId:
                              type:
                              - string
                              - 'null'
                              description: Opportunity ID
                            engagementId:
                              type:
                              - string
                              - 'null'
                              description: Engagement ID
                            opportunity:
                              type:
                              - object
                              - 'null'
                              properties:
                                id:
                                  type: string
                                externalId:
                                  type: string
                                  description: The ID of the opportunity in the external system (e.g. Salesforce)
                                name:
                                  type:
                                  - string
                                  - 'null'
                                  description: The name of the opportunity
                                amount:
                                  type: number
                                  description: The dollar amount of the opportunity
                                closedAt:
                                  type: string
                                  description: The closure date of the opportunity
                                disposition:
                                  type: string
                                  description: '"WON" | "LOST" | "OPEN"'
                                createdAt:
                                  type: string
                                  description: The date the opportunity was created
                                updatedAt:
                                  type: string
                                  description: The date the opportunity was last updated
                                recordingId:
                                  type: string
                                  description: The ID of the recording associated to the opportunity
                                accountId:
                                  type: string
                                organizationId:
                                  type: string
                                account: {}
                                opportunityUsers:
                                  type: array
                                  items: {}
                              required:
                              - id
                              - externalId
                              - createdAt
                              - updatedAt
                              - organizationId
                              description: Opportunity
                            opportunities:
                              type:
                              - object
                              - 'null'
                              properties:
                                data:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      externalId:
                                        type: string
                                        description: The ID of the opportunity in the external system (e.g. Salesforce)
                                      name:
                                        type:
                                        - string
                                        - 'null'
                                        description: The name of the opportunity
                                      amount:
                                        type: number
                                        description: The dollar amount of the opportunity
                                      closedAt:
                                        type: string
                                        description: The closure date of the opportunity
                                      disposition:
                                        type: string
                                        description: '"WON" | "LOST" | "OPEN"'
                                      createdAt:
                                        type: string
                                        description: The date the opportunity was created
                                      updatedAt:
                                        type: string
                                        description: The date the opportunity was last updated
                                      recordingId:
                                        type: string
                                        description: The ID of the recording associated to the opportunity
                                      accountId:
                                        type: string
                                      organizationId:
                                        type: string
                                      account: {}
                                      opportunityUsers:
                                        type: array
                                        items: {}
                                    required:
                                    - id
                                    - externalId
                                    - createdAt
                                    - updatedAt
                                    - organizationId
                                cursor:
                                  type:
                                  - string
                                  - 'null'
                              required:
                              - data
                              description: Optional first page of related opportunities for Accounts or Contacts
                            opportunityUsers:
                              type:
                              - array
                              - 'null'
                              items: {}
                              description: Users associated with the opportunity
                            contactAccount:
                              type:
                              - object
                              - 'null'
                              properties:
                                id:
                                  type: string
                                name:
                                  type:
                                  - string
                                  - 'null'
                                  description: The name of the account
                                externalId:
                                  type:
                                  - string
                                  - 'null'
                                  description: The ID of the account in the external system (e.g. Salesforce)
                              required:
                              - id
                              description: Contact Account
                            address:
                              type:
                              - string
                              - 'null'
                              description: Address
                            organizationId:
                              type: string
                              description: Organization ID
                            integrationConnectionId:
                              type:
                              - string
                              - 'null'
                              description: Integration Connection ID
                            integrationPlatform:
                              type:
                              - string
                              - 'null'
                              enum:
                              - MERGE
                              - SIRO_CUSTOM_INPUT
                              - SERVICE_TITAN
                              - COMPANY_CAM
                              - INGAGE
                              - LEAD_PERFECTION
                              - SPOTIO
                              description: Integration Platform
                            integrationName:
                              type:
                              - string
                              - 'null'
                              description: Integration Name
                          required:
                          - id
                          - createdAt
                          - updatedAt
                          - organizationId
                          description: Followup CRM customer. Includes the CRM customer if the followup is associated with a CRM customer.
                        hasFollowupComment:
                          type: boolean
                          description: Whether the followup has a followup specific comment on the associated recording.
                        note:
                          type:
                          - string
                          - 'null'
                          description: Followup note. Deprecated in favor of FollowupHistory.
                        completed:
                          type: boolean
                          description: Followup completed state. Deprecated in favor of status, which is included in FollowupHistory.
                        completedBy:
                          type:
                          - string
                          - 'null'
                          description: Followup completed by. Deprecated in favor of FollowupHistory.
                        completedAt:
                          type:
                          - string
                          - 'null'
                          description: Followup completed at. ISO 8601 UTC timestamp. Deprecated in favor of FollowupHistory.
                      required:
                      - recordingId
                      - recordingTitle
                      - repName
                      - repId
                      - teamName
                      - teamId
                      - followupId
                      - dateCreated
                      - followupType
                      - score
       

# --- truncated at 32 KB (1630 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/siro/refs/heads/main/openapi/siro-core-api-openapi.yml