naftiko: 1.0.0-alpha2 info: label: Factset IRN API v1 — Meetings description: 'Factset IRN API v1 — 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-2 baseUri: https://api.factset.com/research/irn description: Factset IRN API v1 — 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-2-rest port: 8080 description: REST adapter for Factset IRN API v1 — 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-2.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-2.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-2.getmeeting with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - method: PUT name: updatemeeting description: Factset Update meeting call: irn-meetings-meetings-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.getrecordevent with: meetingId: rest.meetingId recordEventId: rest.recordEventId outputParameters: - type: object mapping: $. - type: mcp namespace: irn-meetings-meetings-2-mcp port: 9090 transport: http description: MCP adapter for Factset IRN API v1 — 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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.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-2.getrecordevent with: meetingId: tools.meetingId recordEventId: tools.recordEventId outputParameters: - type: object mapping: $.