{
  "openapi": "3.0.1",
  "info": {
    "title": "Call Recording Transcription & AI Call Analysis",
    "description": "Transcribe sales and support call recordings with speaker diarization (who spoke when: agent, customer), then get an AI call summary, outcome, sentiment, action items, objections, talk-time stats and a QA scorecard. MP3, WAV, M4A or MP4 links, Google Drive or Dropbox. No API key. Pay per minute.",
    "version": "0.1",
    "x-build-id": "ct5hA49J9dB7wze1y"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/bossless~call-transcription-analyzer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-bossless-call-transcription-analyzer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/bossless~call-transcription-analyzer/runs": {
      "post": {
        "operationId": "runs-sync-bossless-call-transcription-analyzer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/bossless~call-transcription-analyzer/run-sync": {
      "post": {
        "operationId": "run-sync-bossless-call-transcription-analyzer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "recordingUrls"
        ],
        "properties": {
          "recordingUrls": {
            "title": "Recording links",
            "type": "array",
            "description": "Links to call or meeting recordings: direct audio/video files (mp3, wav, m4a, ogg, webm, mp4...) from your phone system, cloud storage or website, or Google Drive / Dropbox file links shared as 'Anyone with the link'. One recording per line. Folders and pages that need a login don't work.",
            "items": {
              "type": "string"
            }
          },
          "callType": {
            "title": "Call type",
            "enum": [
              "auto",
              "sales",
              "support",
              "interview",
              "meeting",
              "other"
            ],
            "type": "string",
            "description": "Helps the analysis focus (objections for sales, resolution for support...). Auto works for most calls.",
            "default": "auto"
          },
          "analysis": {
            "title": "AI call analysis",
            "type": "boolean",
            "description": "Summary, outcome, sentiment, topics, action items, objections, pain points, competitors mentioned, key moments and a 0-10 quality score with coaching notes. Charged per call (see pricing). Turn off for a speaker-labelled transcript only.",
            "default": true
          },
          "scorecardQuestions": {
            "title": "QA scorecard questions",
            "type": "array",
            "description": "Optional yes/no checklist answered for every call, with the quote and time that prove it. Up to 20 questions, for example 'Did the agent confirm the customer's email?' or 'Was a next step agreed?'. Needs AI call analysis on.",
            "items": {
              "type": "string"
            }
          },
          "analysisLanguage": {
            "title": "Analysis language",
            "enum": [
              "en",
              "same",
              "es",
              "fr",
              "de",
              "pt",
              "it",
              "nl",
              "pl",
              "ja",
              "zh"
            ],
            "type": "string",
            "description": "Language of the summary and other analysis text. The transcript always stays in the language spoken.",
            "default": "en"
          },
          "expectedSpeakers": {
            "title": "Number of speakers (optional)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "If you know how many people speak (2 for most calls), say so: it makes speaker labels more reliable. 0 = detect automatically.",
            "default": 0
          },
          "redactPII": {
            "title": "Redact contact and payment details",
            "type": "boolean",
            "description": "Mask email addresses, phone numbers and other long digit strings (such as account numbers), payment card numbers, US social security numbers and IBANs in the transcript, subtitles and analysis. Amounts, dates and times stay.",
            "default": false
          },
          "maxMinutesPerRecording": {
            "title": "Max minutes per recording",
            "minimum": 1,
            "maximum": 240,
            "type": "integer",
            "description": "Longer recordings are transcribed up to this length and marked truncated. Caps the cost of an unexpectedly long file.",
            "default": 120
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}