naftiko: 1.0.0-alpha2 info: label: FactSet Vermilion API — Instance description: 'FactSet Vermilion API — Instance. 4 operations. Lead operation: Factset Cancels a Report Generation. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Instance created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: vermilion-instance baseUri: '' description: FactSet Vermilion API — Instance business capability. Self-contained, no shared references. resources: - name: v1-tenant-report-instances-reportInstanceId path: /v1/{tenant}/report-instances/{reportInstanceId} operations: - name: cancelreport method: DELETE description: Factset Cancels a Report Generation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: reportInstanceId in: path type: string description: The id of the report instance required: true - name: getreportinstancebyid method: GET description: Factset Gets a Report Instance Based on the Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: reportInstanceId in: path type: string description: The ID of the report instance required: true - name: tenant in: path type: string description: The code of the tenancy required: true - name: v1-tenant-report-instances-reportInstanceId-logs path: /v1/{tenant}/report-instances/{reportInstanceId}/logs operations: - name: getreportgenerationlogs method: GET description: Factset Gets a List of Logs for the Report Instance Generation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: reportInstanceId in: path type: string description: Used to validate that report file name belongs to the report instance passed required: true - name: errorsOnly in: query type: string description: 'If the parameter is set to true the endpoint should return just errors and warnings E.g: errorsOnly=true' - name: _sort in: query type: array description: The column to sort on. Can add - to sort - name: _paginationLimit in: query type: integer description: Non-negative maximum number of entries to return - name: _paginationOffset in: query type: integer description: Non-negative number of entries to skip - name: v1-tenant-report-instances-reportInstanceId-results-reportFileName path: /v1/{tenant}/report-instances/{reportInstanceId}/results/{reportFileName} operations: - name: getreportfile method: GET description: Factset Gets the Generated File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: reportInstanceId in: path type: string description: Used to validate that report file name belongs to the report instance passed required: true - name: reportFileName in: path type: string description: 'The report file name that has to be retrieved. report file name. E.g: xyz.pdf' required: true authentication: type: bearer token: '{{env.FACTSET_API_KEY}}' exposes: - type: rest namespace: vermilion-instance-rest port: 8080 description: REST adapter for FactSet Vermilion API — Instance. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/{tenant}/report-instances/{reportinstanceid} name: v1-tenant-report-instances-reportinstanceid description: REST surface for v1-tenant-report-instances-reportInstanceId. operations: - method: DELETE name: cancelreport description: Factset Cancels a Report Generation call: vermilion-instance.cancelreport with: tenant: rest.tenant reportInstanceId: rest.reportInstanceId outputParameters: - type: object mapping: $. - method: GET name: getreportinstancebyid description: Factset Gets a Report Instance Based on the Id call: vermilion-instance.getreportinstancebyid with: reportInstanceId: rest.reportInstanceId tenant: rest.tenant outputParameters: - type: object mapping: $. - path: /v1/v1/{tenant}/report-instances/{reportinstanceid}/logs name: v1-tenant-report-instances-reportinstanceid-logs description: REST surface for v1-tenant-report-instances-reportInstanceId-logs. operations: - method: GET name: getreportgenerationlogs description: Factset Gets a List of Logs for the Report Instance Generation call: vermilion-instance.getreportgenerationlogs with: tenant: rest.tenant reportInstanceId: rest.reportInstanceId errorsOnly: rest.errorsOnly _sort: rest._sort _paginationLimit: rest._paginationLimit _paginationOffset: rest._paginationOffset outputParameters: - type: object mapping: $. - path: /v1/v1/{tenant}/report-instances/{reportinstanceid}/results/{reportfilename} name: v1-tenant-report-instances-reportinstanceid-results-reportfilename description: REST surface for v1-tenant-report-instances-reportInstanceId-results-reportFileName. operations: - method: GET name: getreportfile description: Factset Gets the Generated File call: vermilion-instance.getreportfile with: tenant: rest.tenant reportInstanceId: rest.reportInstanceId reportFileName: rest.reportFileName outputParameters: - type: object mapping: $. - type: mcp namespace: vermilion-instance-mcp port: 9090 transport: http description: MCP adapter for FactSet Vermilion API — Instance. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-cancels-report-generation description: Factset Cancels a Report Generation hints: readOnly: false destructive: true idempotent: true call: vermilion-instance.cancelreport with: tenant: tools.tenant reportInstanceId: tools.reportInstanceId outputParameters: - type: object mapping: $. - name: factset-gets-report-instance-based description: Factset Gets a Report Instance Based on the Id hints: readOnly: true destructive: false idempotent: true call: vermilion-instance.getreportinstancebyid with: reportInstanceId: tools.reportInstanceId tenant: tools.tenant outputParameters: - type: object mapping: $. - name: factset-gets-list-logs-report description: Factset Gets a List of Logs for the Report Instance Generation hints: readOnly: true destructive: false idempotent: true call: vermilion-instance.getreportgenerationlogs with: tenant: tools.tenant reportInstanceId: tools.reportInstanceId errorsOnly: tools.errorsOnly _sort: tools._sort _paginationLimit: tools._paginationLimit _paginationOffset: tools._paginationOffset outputParameters: - type: object mapping: $. - name: factset-gets-generated-file description: Factset Gets the Generated File hints: readOnly: true destructive: false idempotent: true call: vermilion-instance.getreportfile with: tenant: tools.tenant reportInstanceId: tools.reportInstanceId reportFileName: tools.reportFileName outputParameters: - type: object mapping: $.