naftiko: 1.0.0-alpha2 info: label: Factset VRS API documentation — Data Sources description: 'Factset VRS API documentation — Data Sources. 3 operations. Lead operation: Factset Lists all datasources. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Data Sources created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: vermilion-data-sources baseUri: '' description: Factset VRS API documentation — Data Sources business capability. Self-contained, no shared references. resources: - name: v1-tenant-data-sources path: /v1/{tenant}/data-sources operations: - name: getalldatasources method: GET description: Factset Lists all datasources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: _sort in: query type: array description: The column to sort on. Append - to sort in descending order. If parameter is not given, no sorting will be done - name: _paginationLimit in: query type: integer description: Non-negative maximum number of entries to return. Default is 25 - name: _paginationOffset in: query type: integer description: Non-negative number of entries to skip. Default is 0 - name: v1-tenant-data-sources-dataSourceCode path: /v1/{tenant}/data-sources/{dataSourceCode} operations: - name: getdatasourcebycode method: GET description: Factset Gets a datasource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: dataSourceCode in: path type: string description: The code of the datasource required: true - name: v1-tenant-data-sources-dataSourceCode-data path: /v1/{tenant}/data-sources/{dataSourceCode}/data operations: - name: getdatasourcedata method: GET description: Factset Gets the data for the datasource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant in: path type: string description: The code of the tenancy required: true - name: dataSourceCode in: path type: string description: The code of the datasource required: true - name: entityCodes in: query type: string description: 'A series of query parameter used to filter the data for a datasource. This represents the entities for the datasource. E.g.: entityCodes=ACCOUNT&entityCodes=FUN' - name: entityKeys in: query type: string description: 'A series of query parameter used to filter the data for a datasource. This is the entity key value for an entity selection. E.g.: entityKeys=1&entityKeys=Test2' - name: _paginationLimit in: query type: integer description: Non-negative maximum number of entries to return. Default is 25 - name: _paginationOffset in: query type: integer description: Non-negative number of entries to skip. Default is 0 authentication: type: bearer token: '{{env.FACTSET_API_KEY}}' exposes: - type: rest namespace: vermilion-data-sources-rest port: 8080 description: REST adapter for Factset VRS API documentation — Data Sources. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/{tenant}/data-sources name: v1-tenant-data-sources description: REST surface for v1-tenant-data-sources. operations: - method: GET name: getalldatasources description: Factset Lists all datasources call: vermilion-data-sources.getalldatasources with: tenant: rest.tenant _sort: rest._sort _paginationLimit: rest._paginationLimit _paginationOffset: rest._paginationOffset outputParameters: - type: object mapping: $. - path: /v1/v1/{tenant}/data-sources/{datasourcecode} name: v1-tenant-data-sources-datasourcecode description: REST surface for v1-tenant-data-sources-dataSourceCode. operations: - method: GET name: getdatasourcebycode description: Factset Gets a datasource call: vermilion-data-sources.getdatasourcebycode with: tenant: rest.tenant dataSourceCode: rest.dataSourceCode outputParameters: - type: object mapping: $. - path: /v1/v1/{tenant}/data-sources/{datasourcecode}/data name: v1-tenant-data-sources-datasourcecode-data description: REST surface for v1-tenant-data-sources-dataSourceCode-data. operations: - method: GET name: getdatasourcedata description: Factset Gets the data for the datasource call: vermilion-data-sources.getdatasourcedata with: tenant: rest.tenant dataSourceCode: rest.dataSourceCode entityCodes: rest.entityCodes entityKeys: rest.entityKeys _paginationLimit: rest._paginationLimit _paginationOffset: rest._paginationOffset outputParameters: - type: object mapping: $. - type: mcp namespace: vermilion-data-sources-mcp port: 9090 transport: http description: MCP adapter for Factset VRS API documentation — Data Sources. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-lists-all-datasources description: Factset Lists all datasources hints: readOnly: true destructive: false idempotent: true call: vermilion-data-sources.getalldatasources with: tenant: tools.tenant _sort: tools._sort _paginationLimit: tools._paginationLimit _paginationOffset: tools._paginationOffset outputParameters: - type: object mapping: $. - name: factset-gets-datasource description: Factset Gets a datasource hints: readOnly: true destructive: false idempotent: true call: vermilion-data-sources.getdatasourcebycode with: tenant: tools.tenant dataSourceCode: tools.dataSourceCode outputParameters: - type: object mapping: $. - name: factset-gets-data-datasource description: Factset Gets the data for the datasource hints: readOnly: true destructive: false idempotent: true call: vermilion-data-sources.getdatasourcedata with: tenant: tools.tenant dataSourceCode: tools.dataSourceCode entityCodes: tools.entityCodes entityKeys: tools.entityKeys _paginationLimit: tools._paginationLimit _paginationOffset: tools._paginationOffset outputParameters: - type: object mapping: $.