naftiko: 1.0.0-alpha2 info: label: Cvent REST APIs — Speakers description: 'Cvent REST APIs — Speakers. 19 operations. Lead operation: Get Session Program Speakers. Self-contained Naftiko capability covering one business surface.' tags: - Cvent - Speakers created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: CVENT_API_KEY: CVENT_API_KEY capability: consumes: - type: http namespace: rest-speakers baseUri: https://api-platform.cvent.com/ea description: Cvent REST APIs — Speakers business capability. Self-contained, no shared references. resources: - name: program-items-speakers path: /program-items/speakers operations: - name: getsessionprogramspeakers method: GET description: Get Session Program Speakers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. These are the c' - name: program-items-speakers-filter path: /program-items/speakers/filter operations: - name: listsessionprogramspeakerspostfilters method: POST description: List Session Program Speakers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: program-items-programitemid-speakers-id path: /program-items/{programItemId}/speakers/{id} operations: - name: createsessionprogramspeaker method: PUT description: Add Session Program Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: programItemId in: path type: string description: Path parameter programItemId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getsessionprogramspeaker method: GET description: Get Session Program Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: programItemId in: path type: string description: Path parameter programItemId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: deletesessionprogramspeaker method: DELETE description: Delete Session Program Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: programItemId in: path type: string description: Path parameter programItemId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: speaker-categories path: /speaker-categories operations: - name: listspeakerscategories method: GET description: List Speakers Categories outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. The following c' - name: sort in: query type: string description: "Sorts the returned speaker categories in ascending or descending order by its name.\n\nThere are two orders:\n * ascending: ASC\n * descending: DESC\n\nThe following fields are sortable:\n * name\n" - name: addspeakercategory method: POST description: Create Speaker Category outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: speakers path: /speakers operations: - name: listspeakers method: GET description: List Speakers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. If the "match" f' - name: createspeaker method: POST description: Create Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: speakers-filter path: /speakers/filter operations: - name: listspeakerspostfilter method: POST description: List Speakers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: speakers-id path: /speakers/{id} operations: - name: updatespeaker method: PUT description: Update Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletespeaker method: DELETE description: Delete Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: speakers-id-docs path: /speakers/{id}/docs operations: - name: listspeakerdocs method: GET description: List Speaker's Documents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: "A filter string passed in the query parameter of the request.\n\nThere are two comparison types that can be used in filter expressions:\n * equal: eq\n * not equal: ne\n\nThe following field is filterable" - name: id in: path type: string description: Path parameter id. required: true - name: speakers-id-docs-fileid path: /speakers/{id}/docs/{fileId} operations: - name: getspeakerdoc method: GET description: Get a document for a speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fileId in: path type: string description: Path parameter fileId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: addspeakerdoc method: PUT description: Add Document To Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fileId in: path type: string description: Path parameter fileId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletespeakerdocument method: DELETE description: Delete Document From Speaker outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fileId in: path type: string description: Path parameter fileId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: speakers-id-profile-images path: /speakers/{id}/profile-images operations: - name: deletespeakerprofileimage method: DELETE description: Delete Speaker Profile Picture outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: assignspeakerprofileimage method: PUT description: Assign Speaker Profile Picture outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: speakers-id-sessions path: /speakers/{id}/sessions operations: - name: listspeakersessions method: GET description: List Speaker's Sessions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true exposes: - type: rest namespace: rest-speakers-rest port: 8080 description: REST adapter for Cvent REST APIs — Speakers. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/program-items/speakers name: program-items-speakers description: REST surface for program-items-speakers. operations: - method: GET name: getsessionprogramspeakers description: Get Session Program Speakers call: rest-speakers.getsessionprogramspeakers with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/program-items/speakers/filter name: program-items-speakers-filter description: REST surface for program-items-speakers-filter. operations: - method: POST name: listsessionprogramspeakerspostfilters description: List Session Program Speakers call: rest-speakers.listsessionprogramspeakerspostfilters with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/program-items/{programItemId}/speakers/{id} name: program-items-programitemid-speakers-id description: REST surface for program-items-programitemid-speakers-id. operations: - method: PUT name: createsessionprogramspeaker description: Add Session Program Speaker call: rest-speakers.createsessionprogramspeaker with: programItemId: rest.programItemId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getsessionprogramspeaker description: Get Session Program Speaker call: rest-speakers.getsessionprogramspeaker with: programItemId: rest.programItemId id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deletesessionprogramspeaker description: Delete Session Program Speaker call: rest-speakers.deletesessionprogramspeaker with: programItemId: rest.programItemId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/speaker-categories name: speaker-categories description: REST surface for speaker-categories. operations: - method: GET name: listspeakerscategories description: List Speakers Categories call: rest-speakers.listspeakerscategories with: filter: rest.filter sort: rest.sort outputParameters: - type: object mapping: $. - method: POST name: addspeakercategory description: Create Speaker Category call: rest-speakers.addspeakercategory with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/speakers name: speakers description: REST surface for speakers. operations: - method: GET name: listspeakers description: List Speakers call: rest-speakers.listspeakers with: filter: rest.filter outputParameters: - type: object mapping: $. - method: POST name: createspeaker description: Create Speaker call: rest-speakers.createspeaker with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/speakers/filter name: speakers-filter description: REST surface for speakers-filter. operations: - method: POST name: listspeakerspostfilter description: List Speakers call: rest-speakers.listspeakerspostfilter with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/speakers/{id} name: speakers-id description: REST surface for speakers-id. operations: - method: PUT name: updatespeaker description: Update Speaker call: rest-speakers.updatespeaker with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletespeaker description: Delete Speaker call: rest-speakers.deletespeaker with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/speakers/{id}/docs name: speakers-id-docs description: REST surface for speakers-id-docs. operations: - method: GET name: listspeakerdocs description: List Speaker's Documents call: rest-speakers.listspeakerdocs with: filter: rest.filter id: rest.id outputParameters: - type: object mapping: $. - path: /v1/speakers/{id}/docs/{fileId} name: speakers-id-docs-fileid description: REST surface for speakers-id-docs-fileid. operations: - method: GET name: getspeakerdoc description: Get a document for a speaker call: rest-speakers.getspeakerdoc with: fileId: rest.fileId id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: addspeakerdoc description: Add Document To Speaker call: rest-speakers.addspeakerdoc with: fileId: rest.fileId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletespeakerdocument description: Delete Document From Speaker call: rest-speakers.deletespeakerdocument with: fileId: rest.fileId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/speakers/{id}/profile-images name: speakers-id-profile-images description: REST surface for speakers-id-profile-images. operations: - method: DELETE name: deletespeakerprofileimage description: Delete Speaker Profile Picture call: rest-speakers.deletespeakerprofileimage with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: assignspeakerprofileimage description: Assign Speaker Profile Picture call: rest-speakers.assignspeakerprofileimage with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/speakers/{id}/sessions name: speakers-id-sessions description: REST surface for speakers-id-sessions. operations: - method: GET name: listspeakersessions description: List Speaker's Sessions call: rest-speakers.listspeakersessions with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: rest-speakers-mcp port: 9090 transport: http description: MCP adapter for Cvent REST APIs — Speakers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: cvent-getsessionprogramspeakers description: Get Session Program Speakers hints: readOnly: true destructive: false idempotent: true call: rest-speakers.getsessionprogramspeakers with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-listsessionprogramspeakerspostfilters description: List Session Program Speakers hints: readOnly: false destructive: false idempotent: false call: rest-speakers.listsessionprogramspeakerspostfilters with: body: tools.body outputParameters: - type: object mapping: $. - name: cvent-createsessionprogramspeaker description: Add Session Program Speaker hints: readOnly: false destructive: false idempotent: true call: rest-speakers.createsessionprogramspeaker with: programItemId: tools.programItemId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-getsessionprogramspeaker description: Get Session Program Speaker hints: readOnly: true destructive: false idempotent: true call: rest-speakers.getsessionprogramspeaker with: programItemId: tools.programItemId id: tools.id outputParameters: - type: object mapping: $. - name: cvent-deletesessionprogramspeaker description: Delete Session Program Speaker hints: readOnly: false destructive: true idempotent: true call: rest-speakers.deletesessionprogramspeaker with: programItemId: tools.programItemId id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listspeakerscategories description: List Speakers Categories hints: readOnly: true destructive: false idempotent: true call: rest-speakers.listspeakerscategories with: filter: tools.filter sort: tools.sort outputParameters: - type: object mapping: $. - name: cvent-addspeakercategory description: Create Speaker Category hints: readOnly: false destructive: false idempotent: false call: rest-speakers.addspeakercategory with: body: tools.body outputParameters: - type: object mapping: $. - name: cvent-listspeakers description: List Speakers hints: readOnly: true destructive: false idempotent: true call: rest-speakers.listspeakers with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-createspeaker description: Create Speaker hints: readOnly: false destructive: false idempotent: false call: rest-speakers.createspeaker with: body: tools.body outputParameters: - type: object mapping: $. - name: cvent-listspeakerspostfilter description: List Speakers hints: readOnly: false destructive: false idempotent: false call: rest-speakers.listspeakerspostfilter with: body: tools.body outputParameters: - type: object mapping: $. - name: cvent-updatespeaker description: Update Speaker hints: readOnly: false destructive: false idempotent: true call: rest-speakers.updatespeaker with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-deletespeaker description: Delete Speaker hints: readOnly: false destructive: true idempotent: true call: rest-speakers.deletespeaker with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listspeakerdocs description: List Speaker's Documents hints: readOnly: true destructive: false idempotent: true call: rest-speakers.listspeakerdocs with: filter: tools.filter id: tools.id outputParameters: - type: object mapping: $. - name: cvent-getspeakerdoc description: Get a document for a speaker hints: readOnly: true destructive: false idempotent: true call: rest-speakers.getspeakerdoc with: fileId: tools.fileId id: tools.id outputParameters: - type: object mapping: $. - name: cvent-addspeakerdoc description: Add Document To Speaker hints: readOnly: false destructive: false idempotent: true call: rest-speakers.addspeakerdoc with: fileId: tools.fileId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-deletespeakerdocument description: Delete Document From Speaker hints: readOnly: false destructive: true idempotent: true call: rest-speakers.deletespeakerdocument with: fileId: tools.fileId id: tools.id outputParameters: - type: object mapping: $. - name: cvent-deletespeakerprofileimage description: Delete Speaker Profile Picture hints: readOnly: false destructive: true idempotent: true call: rest-speakers.deletespeakerprofileimage with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-assignspeakerprofileimage description: Assign Speaker Profile Picture hints: readOnly: false destructive: false idempotent: true call: rest-speakers.assignspeakerprofileimage with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-listspeakersessions description: List Speaker's Sessions hints: readOnly: true destructive: false idempotent: true call: rest-speakers.listspeakersessions with: id: tools.id outputParameters: - type: object mapping: $.