naftiko: 1.0.0-alpha2 info: label: FactSet IRN Meetings API — Meetings description: 'FactSet IRN Meetings API — Meetings. 19 operations. Lead operation: Factset Get All the Meetings in the Specified Date Range Filtered on the Given Identifiers. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Meetings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: irn-meetings-meetings baseUri: https://api.factset.com/research/irn description: FactSet IRN Meetings API — Meetings business capability. Self-contained, no shared references. resources: - name: v1-meetings path: /v1/meetings operations: - name: getmeetings method: GET description: Factset Get All the Meetings in the Specified Date Range Filtered on the Given Identifiers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start in: query type: string description: StartDate - name: end in: query type: string description: EndDate - name: identifiers in: query type: array description: Set of identifiers to filter on - name: limit in: query type: integer description: Limit on the number of meetings retrieved - name: modifiedSince in: query type: string description: Only return meetings which have been modified or created since a particular time - name: includeRelatedEntities in: query type: boolean description: When set to true fetches meetings tagged with all the entities related to identifiers param - name: X-IRN-Include-Deleted in: header type: boolean description: Includes deleted meetings in results when set to true - name: createmeeting method: POST description: Factset Create a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-meetings-meetingId path: /v1/meetings/{meetingId} operations: - name: getmeeting method: GET description: Factset Get Details of a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: updatemeeting method: PUT description: Factset Update Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletemeeting method: DELETE description: Factset Delete a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: v1-meetings-meetingId-attachments path: /v1/meetings/{meetingId}/attachments operations: - name: getattachments method: GET description: Factset Get All the Attachments Belonging to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: createattachment method: POST description: Factset Create an Attachment for a Existing Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-meetings-meetingId-attachments-attachmentId path: /v1/meetings/{meetingId}/attachments/{attachmentId} operations: - name: softdeletemeetingattachment method: DELETE description: Factset Delete Attachment From Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: attachmentId in: path type: string description: Attachment Id required: true - name: v1-meetings-meetingId-attachments-attachmentId-download path: /v1/meetings/{meetingId}/attachments/{attachmentId}/download operations: - name: downloadattachment method: GET description: Factset Download an Attachment From a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: attachmentId in: path type: string required: true - name: v1-meetings-meetingId-comments path: /v1/meetings/{meetingId}/comments operations: - name: getcomments method: GET description: Factset Get All Comments for a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: createcomment method: POST description: Factset Create a Comment to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-meetings-meetingId-comments-commentId path: /v1/meetings/{meetingId}/comments/{commentId} operations: - name: getcomment method: GET description: Factset Get Details of a Comment Belonging to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: patchcomment method: PATCH description: Factset Edit a Comment for a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletecomment method: DELETE description: Factset Delete a Comment From a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: v1-meetings-meetingId-comments-commentId-attachments path: /v1/meetings/{meetingId}/comments/{commentId}/attachments operations: - name: getcommentattachments method: GET description: Factset Get Attachments Summary of a Comment Belonging to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: createcommentattachment method: POST description: Factset Create a Comment Attachment to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-meetings-meetingId-comments-commentId-attachments-attachmentId-download path: /v1/meetings/{meetingId}/comments/{commentId}/attachments/{attachmentId}/download operations: - name: downloadcommentattachmentforcomment method: GET description: Factset Download Single Attachment Detail of a Comment Belonging to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string required: true - name: commentId in: path type: string required: true - name: attachmentId in: path type: string required: true - name: v1-meetings-meetingId-events path: /v1/meetings/{meetingId}/events operations: - name: getevents method: GET description: Factset Get All the Record Events That Belong to a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting ID required: true - name: v1-meetings-meetingId-events-recordEventId path: /v1/meetings/{meetingId}/events/{recordEventId} operations: - name: getrecordevent method: GET description: Factset Get Details of a Record Event of a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: Meeting Id required: true - name: recordEventId in: path type: string description: Record Event Id required: true authentication: type: basic username: '{{env.FACTSET_USER}}' password: '{{env.FACTSET_PASS}}' exposes: - type: rest namespace: irn-meetings-meetings-rest port: 8080 description: REST adapter for FactSet IRN Meetings API — Meetings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/meetings name: v1-meetings description: REST surface for v1-meetings. operations: - method: GET name: getmeetings description: Factset Get All the Meetings in the Specified Date Range Filtered on the Given Identifiers call: irn-meetings-meetings.getmeetings with: start: rest.start end: rest.end identifiers: rest.identifiers limit: rest.limit modifiedSince: rest.modifiedSince includeRelatedEntities: rest.includeRelatedEntities X-IRN-Include-Deleted: rest.X-IRN-Include-Deleted outputParameters: - type: object mapping: $. - method: POST name: createmeeting description: Factset Create a Meeting call: irn-meetings-meetings.createmeeting with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid} name: v1-meetings-meetingid description: REST surface for v1-meetings-meetingId. operations: - method: GET name: getmeeting description: Factset Get Details of a Meeting call: irn-meetings-meetings.getmeeting with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - method: PUT name: updatemeeting description: Factset Update Meeting call: irn-meetings-meetings.updatemeeting with: meetingId: rest.meetingId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemeeting description: Factset Delete a Meeting call: irn-meetings-meetings.deletemeeting with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/attachments name: v1-meetings-meetingid-attachments description: REST surface for v1-meetings-meetingId-attachments. operations: - method: GET name: getattachments description: Factset Get All the Attachments Belonging to a Meeting call: irn-meetings-meetings.getattachments with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - method: POST name: createattachment description: Factset Create an Attachment for a Existing Meeting call: irn-meetings-meetings.createattachment with: meetingId: rest.meetingId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/attachments/{attachmentid} name: v1-meetings-meetingid-attachments-attachmentid description: REST surface for v1-meetings-meetingId-attachments-attachmentId. operations: - method: DELETE name: softdeletemeetingattachment description: Factset Delete Attachment From Meeting call: irn-meetings-meetings.softdeletemeetingattachment with: meetingId: rest.meetingId attachmentId: rest.attachmentId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/attachments/{attachmentid}/download name: v1-meetings-meetingid-attachments-attachmentid-download description: REST surface for v1-meetings-meetingId-attachments-attachmentId-download. operations: - method: GET name: downloadattachment description: Factset Download an Attachment From a Meeting call: irn-meetings-meetings.downloadattachment with: meetingId: rest.meetingId attachmentId: rest.attachmentId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/comments name: v1-meetings-meetingid-comments description: REST surface for v1-meetings-meetingId-comments. operations: - method: GET name: getcomments description: Factset Get All Comments for a Meeting call: irn-meetings-meetings.getcomments with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - method: POST name: createcomment description: Factset Create a Comment to a Meeting call: irn-meetings-meetings.createcomment with: meetingId: rest.meetingId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/comments/{commentid} name: v1-meetings-meetingid-comments-commentid description: REST surface for v1-meetings-meetingId-comments-commentId. operations: - method: GET name: getcomment description: Factset Get Details of a Comment Belonging to a Meeting call: irn-meetings-meetings.getcomment with: meetingId: rest.meetingId commentId: rest.commentId outputParameters: - type: object mapping: $. - method: PATCH name: patchcomment description: Factset Edit a Comment for a Meeting call: irn-meetings-meetings.patchcomment with: meetingId: rest.meetingId commentId: rest.commentId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecomment description: Factset Delete a Comment From a Meeting call: irn-meetings-meetings.deletecomment with: meetingId: rest.meetingId commentId: rest.commentId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/comments/{commentid}/attachments name: v1-meetings-meetingid-comments-commentid-attachments description: REST surface for v1-meetings-meetingId-comments-commentId-attachments. operations: - method: GET name: getcommentattachments description: Factset Get Attachments Summary of a Comment Belonging to a Meeting call: irn-meetings-meetings.getcommentattachments with: meetingId: rest.meetingId commentId: rest.commentId outputParameters: - type: object mapping: $. - method: POST name: createcommentattachment description: Factset Create a Comment Attachment to a Meeting call: irn-meetings-meetings.createcommentattachment with: meetingId: rest.meetingId commentId: rest.commentId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/comments/{commentid}/attachments/{attachmentid}/download name: v1-meetings-meetingid-comments-commentid-attachments-attachmentid-download description: REST surface for v1-meetings-meetingId-comments-commentId-attachments-attachmentId-download. operations: - method: GET name: downloadcommentattachmentforcomment description: Factset Download Single Attachment Detail of a Comment Belonging to a Meeting call: irn-meetings-meetings.downloadcommentattachmentforcomment with: meetingId: rest.meetingId commentId: rest.commentId attachmentId: rest.attachmentId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/events name: v1-meetings-meetingid-events description: REST surface for v1-meetings-meetingId-events. operations: - method: GET name: getevents description: Factset Get All the Record Events That Belong to a Meeting call: irn-meetings-meetings.getevents with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - path: /v1/v1/meetings/{meetingid}/events/{recordeventid} name: v1-meetings-meetingid-events-recordeventid description: REST surface for v1-meetings-meetingId-events-recordEventId. operations: - method: GET name: getrecordevent description: Factset Get Details of a Record Event of a Meeting call: irn-meetings-meetings.getrecordevent with: meetingId: rest.meetingId recordEventId: rest.recordEventId outputParameters: - type: object mapping: $. - type: mcp namespace: irn-meetings-meetings-mcp port: 9090 transport: http description: MCP adapter for FactSet IRN Meetings API — Meetings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-get-all-meetings-specified description: Factset Get All the Meetings in the Specified Date Range Filtered on the Given Identifiers hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getmeetings with: start: tools.start end: tools.end identifiers: tools.identifiers limit: tools.limit modifiedSince: tools.modifiedSince includeRelatedEntities: tools.includeRelatedEntities X-IRN-Include-Deleted: tools.X-IRN-Include-Deleted outputParameters: - type: object mapping: $. - name: factset-create-meeting description: Factset Create a Meeting hints: readOnly: false destructive: false idempotent: false call: irn-meetings-meetings.createmeeting with: body: tools.body outputParameters: - type: object mapping: $. - name: factset-get-details-meeting description: Factset Get Details of a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getmeeting with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: factset-update-meeting description: Factset Update Meeting hints: readOnly: false destructive: false idempotent: true call: irn-meetings-meetings.updatemeeting with: meetingId: tools.meetingId body: tools.body outputParameters: - type: object mapping: $. - name: factset-delete-meeting description: Factset Delete a Meeting hints: readOnly: false destructive: true idempotent: true call: irn-meetings-meetings.deletemeeting with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: factset-get-all-attachments-belonging description: Factset Get All the Attachments Belonging to a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getattachments with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: factset-create-attachment-existing-meeting description: Factset Create an Attachment for a Existing Meeting hints: readOnly: false destructive: false idempotent: false call: irn-meetings-meetings.createattachment with: meetingId: tools.meetingId body: tools.body outputParameters: - type: object mapping: $. - name: factset-delete-attachment-meeting description: Factset Delete Attachment From Meeting hints: readOnly: false destructive: true idempotent: true call: irn-meetings-meetings.softdeletemeetingattachment with: meetingId: tools.meetingId attachmentId: tools.attachmentId outputParameters: - type: object mapping: $. - name: factset-download-attachment-meeting description: Factset Download an Attachment From a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.downloadattachment with: meetingId: tools.meetingId attachmentId: tools.attachmentId outputParameters: - type: object mapping: $. - name: factset-get-all-comments-meeting description: Factset Get All Comments for a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getcomments with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: factset-create-comment-meeting description: Factset Create a Comment to a Meeting hints: readOnly: false destructive: false idempotent: false call: irn-meetings-meetings.createcomment with: meetingId: tools.meetingId body: tools.body outputParameters: - type: object mapping: $. - name: factset-get-details-comment-belonging description: Factset Get Details of a Comment Belonging to a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getcomment with: meetingId: tools.meetingId commentId: tools.commentId outputParameters: - type: object mapping: $. - name: factset-edit-comment-meeting description: Factset Edit a Comment for a Meeting hints: readOnly: false destructive: false idempotent: true call: irn-meetings-meetings.patchcomment with: meetingId: tools.meetingId commentId: tools.commentId body: tools.body outputParameters: - type: object mapping: $. - name: factset-delete-comment-meeting description: Factset Delete a Comment From a Meeting hints: readOnly: false destructive: true idempotent: true call: irn-meetings-meetings.deletecomment with: meetingId: tools.meetingId commentId: tools.commentId outputParameters: - type: object mapping: $. - name: factset-get-attachments-summary-comment description: Factset Get Attachments Summary of a Comment Belonging to a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getcommentattachments with: meetingId: tools.meetingId commentId: tools.commentId outputParameters: - type: object mapping: $. - name: factset-create-comment-attachment-meeting description: Factset Create a Comment Attachment to a Meeting hints: readOnly: false destructive: false idempotent: false call: irn-meetings-meetings.createcommentattachment with: meetingId: tools.meetingId commentId: tools.commentId body: tools.body outputParameters: - type: object mapping: $. - name: factset-download-single-attachment-detail description: Factset Download Single Attachment Detail of a Comment Belonging to a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.downloadcommentattachmentforcomment with: meetingId: tools.meetingId commentId: tools.commentId attachmentId: tools.attachmentId outputParameters: - type: object mapping: $. - name: factset-get-all-record-events description: Factset Get All the Record Events That Belong to a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getevents with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: factset-get-details-record-event description: Factset Get Details of a Record Event of a Meeting hints: readOnly: true destructive: false idempotent: true call: irn-meetings-meetings.getrecordevent with: meetingId: tools.meetingId recordEventId: tools.recordEventId outputParameters: - type: object mapping: $.