naftiko: 1.0.0-alpha2 info: label: Webex Meetings — Transcripts description: 'Webex Meetings — Transcripts. 7 operations. Lead operation: List Meeting Transcripts For Compliance Officer. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Transcripts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: meeting-transcripts baseUri: '' description: Webex Meetings — Transcripts business capability. Self-contained, no shared references. resources: - name: admin-meetingTranscripts path: /admin/meetingTranscripts operations: - name: listmeetingtranscriptsforcomplianceofficer method: GET description: List Meeting Transcripts For Compliance Officer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: from in: query type: string description: Starting date and time (inclusive) for transcripts to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. `from` cannot be after - name: to in: query type: string description: Ending date and time (exclusive) for List transcripts to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. `to` cannot be befo - name: max in: query type: number description: Maximum number of transcripts to return in a single page. `max` must be equal to or greater than `1` and equal to or less than `100`. - name: siteUrl in: query type: string description: URL of the Webex site from which the API lists transcripts. required: true - name: meetingTranscripts path: /meetingTranscripts operations: - name: listmeetingtranscripts method: GET description: List Meeting Transcripts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: max in: query type: number description: Maximum number of transcripts to return in a single page. `max` must be equal to or greater than `1` and equal to or less than `100`. - name: from in: query type: string description: Starting date and time (inclusive) for transcripts to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. `from` cannot be after - name: to in: query type: string description: Ending date and time (exclusive) for List transcripts to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. `to` cannot be befo - name: meetingId in: query type: string description: Unique identifier for the [meeting instance](/docs/meetings#meeting-series-scheduled-meetings-and-meeting-instances) to which the transcript belongs. Please not - name: hostEmail in: query type: string description: Email address for the meeting host. This parameter is only used if the user or application calling the API has the `admin-level` scopes. If set, the admin may s - name: siteUrl in: query type: string description: URL of the Webex site from which the API lists transcripts. If not specified, the API lists transcripts from user's preferred site. All available Webex sites an - name: meetingTranscripts-transcriptId path: /meetingTranscripts/{transcriptId} operations: - name: deleteatranscript method: DELETE description: Delete a Transcript outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: transcriptId in: path type: string description: Unique identifier for the meeting transcript. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: meetingTranscripts-transcriptId-download path: /meetingTranscripts/{transcriptId}/download operations: - name: downloadameetingtranscript method: GET description: Download a Meeting Transcript outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: transcriptId in: path type: string description: Unique identifier for the meeting transcript. required: true - name: format in: query type: string description: Format for the downloaded meeting transcript. - name: hostEmail in: query type: string description: Email address for the meeting host. This parameter is only used if the user or application calling the API has the `admin-level` scopes. If set, the admin may s - name: meetingTranscripts-transcriptId-snippets path: /meetingTranscripts/{transcriptId}/snippets operations: - name: listsnippetsofameetingtranscript method: GET description: List Snippets of a Meeting Transcript outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: transcriptId in: path type: string description: Unique identifier for the meeting transcript to which the snippets belong. required: true - name: max in: query type: string description: Maximum snippet items to be returned for this query, to support pagination. - name: meetingTranscripts-transcriptId-snippets-snippetId path: /meetingTranscripts/{transcriptId}/snippets/{snippetId} operations: - name: getatranscriptsnippet method: GET description: Get a Transcript Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: transcriptId in: path type: string description: Unique identifier for the meeting transcript to which the requested snippet belongs. required: true - name: snippetId in: path type: string description: Unique identifier for the snippet being requested. required: true - name: updateatranscriptsnippet method: PUT description: Update a Transcript Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: transcriptId in: path type: string description: Unique identifier for the meeting transcript to which the snippet to be updated belongs. required: true - name: snippetId in: path type: string description: Unique identifier for the snippet being updated. required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: meeting-transcripts-rest port: 8080 description: REST adapter for Webex Meetings — Transcripts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/admin/meetingtranscripts name: admin-meetingtranscripts description: REST surface for admin-meetingTranscripts. operations: - method: GET name: listmeetingtranscriptsforcomplianceofficer description: List Meeting Transcripts For Compliance Officer call: meeting-transcripts.listmeetingtranscriptsforcomplianceofficer with: from: rest.from to: rest.to max: rest.max siteUrl: rest.siteUrl outputParameters: - type: object mapping: $. - path: /v1/meetingtranscripts name: meetingtranscripts description: REST surface for meetingTranscripts. operations: - method: GET name: listmeetingtranscripts description: List Meeting Transcripts call: meeting-transcripts.listmeetingtranscripts with: max: rest.max from: rest.from to: rest.to meetingId: rest.meetingId hostEmail: rest.hostEmail siteUrl: rest.siteUrl outputParameters: - type: object mapping: $. - path: /v1/meetingtranscripts/{transcriptid} name: meetingtranscripts-transcriptid description: REST surface for meetingTranscripts-transcriptId. operations: - method: DELETE name: deleteatranscript description: Delete a Transcript call: meeting-transcripts.deleteatranscript with: transcriptId: rest.transcriptId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/meetingtranscripts/{transcriptid}/download name: meetingtranscripts-transcriptid-download description: REST surface for meetingTranscripts-transcriptId-download. operations: - method: GET name: downloadameetingtranscript description: Download a Meeting Transcript call: meeting-transcripts.downloadameetingtranscript with: transcriptId: rest.transcriptId format: rest.format hostEmail: rest.hostEmail outputParameters: - type: object mapping: $. - path: /v1/meetingtranscripts/{transcriptid}/snippets name: meetingtranscripts-transcriptid-snippets description: REST surface for meetingTranscripts-transcriptId-snippets. operations: - method: GET name: listsnippetsofameetingtranscript description: List Snippets of a Meeting Transcript call: meeting-transcripts.listsnippetsofameetingtranscript with: transcriptId: rest.transcriptId max: rest.max outputParameters: - type: object mapping: $. - path: /v1/meetingtranscripts/{transcriptid}/snippets/{snippetid} name: meetingtranscripts-transcriptid-snippets-snippetid description: REST surface for meetingTranscripts-transcriptId-snippets-snippetId. operations: - method: GET name: getatranscriptsnippet description: Get a Transcript Snippet call: meeting-transcripts.getatranscriptsnippet with: transcriptId: rest.transcriptId snippetId: rest.snippetId outputParameters: - type: object mapping: $. - method: PUT name: updateatranscriptsnippet description: Update a Transcript Snippet call: meeting-transcripts.updateatranscriptsnippet with: transcriptId: rest.transcriptId snippetId: rest.snippetId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: meeting-transcripts-mcp port: 9090 transport: http description: MCP adapter for Webex Meetings — Transcripts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-meeting-transcripts-compliance-officer description: List Meeting Transcripts For Compliance Officer hints: readOnly: true destructive: false idempotent: true call: meeting-transcripts.listmeetingtranscriptsforcomplianceofficer with: from: tools.from to: tools.to max: tools.max siteUrl: tools.siteUrl outputParameters: - type: object mapping: $. - name: list-meeting-transcripts description: List Meeting Transcripts hints: readOnly: true destructive: false idempotent: true call: meeting-transcripts.listmeetingtranscripts with: max: tools.max from: tools.from to: tools.to meetingId: tools.meetingId hostEmail: tools.hostEmail siteUrl: tools.siteUrl outputParameters: - type: object mapping: $. - name: delete-transcript description: Delete a Transcript hints: readOnly: false destructive: true idempotent: true call: meeting-transcripts.deleteatranscript with: transcriptId: tools.transcriptId body: tools.body outputParameters: - type: object mapping: $. - name: download-meeting-transcript description: Download a Meeting Transcript hints: readOnly: true destructive: false idempotent: true call: meeting-transcripts.downloadameetingtranscript with: transcriptId: tools.transcriptId format: tools.format hostEmail: tools.hostEmail outputParameters: - type: object mapping: $. - name: list-snippets-meeting-transcript description: List Snippets of a Meeting Transcript hints: readOnly: true destructive: false idempotent: true call: meeting-transcripts.listsnippetsofameetingtranscript with: transcriptId: tools.transcriptId max: tools.max outputParameters: - type: object mapping: $. - name: get-transcript-snippet description: Get a Transcript Snippet hints: readOnly: true destructive: false idempotent: true call: meeting-transcripts.getatranscriptsnippet with: transcriptId: tools.transcriptId snippetId: tools.snippetId outputParameters: - type: object mapping: $. - name: update-transcript-snippet description: Update a Transcript Snippet hints: readOnly: false destructive: false idempotent: true call: meeting-transcripts.updateatranscriptsnippet with: transcriptId: tools.transcriptId snippetId: tools.snippetId body: tools.body outputParameters: - type: object mapping: $.