Siro Core API

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

OpenAPI Specification

siro-core-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Swagger Audit Core API
servers:
- url: https://functions.siro.ai/api-externalApi
  description: Siro API external API endpoint
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
                    nullable: true
                  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
                    nullable: true
                    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
                          - nullable: true
                          - type: array
                            items:
                              anyOf:
                              - type: string
                              - type: number
                              - type: boolean
                              - nullable: true
                              - nullable: true
                          - nullable: true
                        mappings:
                          type: array
                          nullable: true
                          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
                          nullable: true
                          description: Followup recording title
                        repName:
                          type: string
                          description: Followup rep name
                        repId:
                          type: string
                          description: Followup rep id
                        teamName:
                          type: string
                          nullable: true
                          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
                          nullable: true
                          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
                          nullable: true
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Followup history id
                              updatedBy:
                                type: string
                                description: Followup history updated by
                              updatedByUserId:
                                type: string
                                nullable: true
                                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
                          nullable: true
                          description: URL to the customer in the linked CRM (DEPRECATED)
                        crmCustomer:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: string
                              description: Customer ID
                            name:
                              type: string
                              nullable: true
                              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
                              nullable: true
                              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
                              nullable: true
                              format: date-time
                              description: Date the Customer was closed (applicable to Opportunities)
                            emailAddress:
                              type: string
                              nullable: true
                              description: Customer email addresses
                            phoneNumber:
                              type: string
                              nullable: true
                              description: Customer phone numbers
                            externalId:
                              type: string
                              nullable: true
                              description: Customer external ID
                            amount:
                              type: number
                              nullable: true
                              description: Dollar amount associated with a Customer deal
                            disposition:
                              type: string
                              nullable: true
                              description: 'Disposition for the Customer deal: "WON" | "LOST" | "OPEN"'
                            recordingId:
                              type: string
                              nullable: true
                              description: ID of the most recent recording linked to this customer
                            lastRecordingDate:
                              type: string
                              nullable: true
                              format: date-time
                              description: Datetime of the most recent recording linked to this customer
                            numRecordings:
                              type: number
                              nullable: true
                              description: Total number of recordings linked to this customer
                            matchingSource:
                              type: string
                              nullable: true
                              enum:
                              - DIRECT
                              - FUZZY
                              - NOT_FOUND
                              description: Source of matching
                            accountId:
                              type: string
                              nullable: true
                              description: Account ID
                            opportunityAccountName:
                              type: string
                              nullable: true
                              description: Account Name associated with the Opportunity
                            contactId:
                              type: string
                              nullable: true
                              description: Contact ID
                            opportunityContactName:
                              type: string
                              nullable: true
                              description: Contact Name associated with the Opportunity
                            opportunityId:
                              type: string
                              nullable: true
                              description: Opportunity ID
                            engagementId:
                              type: string
                              nullable: true
                              description: Engagement ID
                            opportunity:
                              type: object
                              nullable: true
                              properties:
                                id:
                                  type: string
                                externalId:
                                  type: string
                                  description: The ID of the opportunity in the external system (e.g. Salesforce)
                                name:
                                  type: string
                                  nullable: true
                                  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:
                                  nullable: true
                                opportunityUsers:
                                  type: array
                                  items:
                                    nullable: true
                              required:
                              - id
                              - externalId
                              - createdAt
                              - updatedAt
                              - organizationId
                              description: Opportunity
                            opportunities:
                              type: object
                              nullable: true
                              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
                                        nullable: true
                                        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:
                                        nullable: true
                                      opportunityUsers:
                                        type: array
                                        items:
                                          nullable: true
                                    required:
                                    - id
                                    - externalId
                                    - createdAt
                                    - updatedAt
                                    - organizationId
                                cursor:
                                  type: string
                                  nullable: true
                              required:
                              - data
                              description: Optional first page of related opportunities for Accounts or Contacts
                            opportunityUsers:
                              type: array
                              nullable: true
                              items:
                                nullable: true
                              description: Users associated with the opportunity
                            contactAccount:
                              type: object
                              nullable: true
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                                  nullable: true
                                  description: The name of the account
                                externalId:
                                  type: string
                                  nullable: true
                                  description: The ID of the account in the external system (e.g. Salesforce)
                              required:
                              - id
                              description: Contact Account
                            address:
                              type: string
                              nullable: true
                              description: Address
                            organizationId:
                              type: string
                              description: Organization ID
                            integrationConnectionId:
                              type: string
                              nullable: true
                              description: Integration Connection ID
                            integrationPlatform:
                              type: string
                              nullable: true
                              enum:
                              - MERGE
                              - SIRO_CUSTOM_INPUT
                              - SERVICE_TITAN
                              - COMPANY_CAM
                              - INGAGE
                              - LEAD_PERFECTION
                              - SPOTIO
                              description: Integration Platform
                            integrationName:
                              type: string
                              nullable: true
                              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
                          nullable: true
                          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
                          nullable: true
                          description: Followup completed by. Deprecated in favor of FollowupHistory.
                        completedAt:
                          type: string
                          nullable: true
                          description: Followup completed at. ISO 8601 UTC timestamp. Deprecated in favor of FollowupHistory.
                      required:
                      - recordingId
                      - recordingTitle
                      - repName
                      - repId
                      - teamName
                      - teamId
                      - followupId
                      - dateCreated
                      - followupType
                      - score
                      - followupAction
                      - context
                      - updatedAt
                      - metadata
                      - starred
                      - status
                      - thinking
                      - crmCustomer
                      - hasFollowupComment
                      - note
                      - completed
                      - completedBy
                      - completedAt
                    description: Array of follow-up actions and communications generated from the recording
                required:
                - id
                - organizationId
                - userId
                - title
                - durationInMilliseconds
                - latitude
                - longitude
                - result
                - createdAt
                - updatedAt
                - deleted
                - links
      security:
      - bearerAuth: []
      tags:
      - Core
  /v1/core/recordings:
    get:
      summary: Get recordings
      description: Get recordings
      parameters:
      - schema:
          type: string
          nullable: true
          descr

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