naftiko: 1.0.0-alpha2 info: label: Factset FPE API — Analytics description: 'Factset FPE API — Analytics. 6 operations. Lead operation: Factset Starts a new script calculation. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Analytics created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: programmatic-environment-analytics-2 baseUri: https://api.factset.com description: Factset FPE API — Analytics business capability. Self-contained, no shared references. resources: - name: analytics-quant-fpe-v1-calculations path: /analytics/quant/fpe/v1/calculations operations: - name: post method: POST description: Factset Starts a new script calculation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: analytics-quant-fpe-v1-calculations-id path: /analytics/quant/fpe/v1/calculations/{id} operations: - name: get method: GET description: Factset Get calculation status by id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: From url, provided by location header or response body in the calculation start endpoint required: true - name: analytics-quant-fpe-v1-calculations-id-log path: /analytics/quant/fpe/v1/calculations/{id}/log operations: - name: get method: GET description: Factset Get calculation log for a specific calculation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: From url, provided by location header or response body in the calculation start endpoint required: true - name: analytics-quant-fpe-v1-calculations-id-output path: /analytics/quant/fpe/v1/calculations/{id}/output operations: - name: get method: GET description: Factset Get calculation output for a specific calculation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: From url, provided by location header or response body in the calculation start endpoint required: true - name: analytics-quant-fpe-v1-files-uploads-id path: /analytics/quant/fpe/v1/files/uploads/{id} operations: - name: get method: GET description: Factset Get upload status by id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: From url, provided by location header or response body in the upload start endpoint required: true - name: analytics-quant-fpe-v1-files-server-file path: /analytics/quant/fpe/v1/files/{server}/{file} operations: - name: post method: POST description: Factset Starts a file upload outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: server in: path type: string description: The server to upload the file to. Either `interactive` or `batch`. required: true - name: file in: path type: string description: The file name to upload the file to. Existing directory can be specified. required: true - name: body in: body type: object description: Request body (JSON). required: false exposes: - type: rest namespace: programmatic-environment-analytics-2-rest port: 8080 description: REST adapter for Factset FPE API — Analytics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/analytics/quant/fpe/v1/calculations name: analytics-quant-fpe-v1-calculations description: REST surface for analytics-quant-fpe-v1-calculations. operations: - method: POST name: post description: Factset Starts a new script calculation call: programmatic-environment-analytics-2.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/analytics/quant/fpe/v1/calculations/{id} name: analytics-quant-fpe-v1-calculations-id description: REST surface for analytics-quant-fpe-v1-calculations-id. operations: - method: GET name: get description: Factset Get calculation status by id call: programmatic-environment-analytics-2.get with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/analytics/quant/fpe/v1/calculations/{id}/log name: analytics-quant-fpe-v1-calculations-id-log description: REST surface for analytics-quant-fpe-v1-calculations-id-log. operations: - method: GET name: get description: Factset Get calculation log for a specific calculation call: programmatic-environment-analytics-2.get with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/analytics/quant/fpe/v1/calculations/{id}/output name: analytics-quant-fpe-v1-calculations-id-output description: REST surface for analytics-quant-fpe-v1-calculations-id-output. operations: - method: GET name: get description: Factset Get calculation output for a specific calculation call: programmatic-environment-analytics-2.get with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/analytics/quant/fpe/v1/files/uploads/{id} name: analytics-quant-fpe-v1-files-uploads-id description: REST surface for analytics-quant-fpe-v1-files-uploads-id. operations: - method: GET name: get description: Factset Get upload status by id call: programmatic-environment-analytics-2.get with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/analytics/quant/fpe/v1/files/{server}/{file} name: analytics-quant-fpe-v1-files-server-file description: REST surface for analytics-quant-fpe-v1-files-server-file. operations: - method: POST name: post description: Factset Starts a file upload call: programmatic-environment-analytics-2.post with: server: rest.server file: rest.file body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: programmatic-environment-analytics-2-mcp port: 9090 transport: http description: MCP adapter for Factset FPE API — Analytics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-starts-new-script-calculation description: Factset Starts a new script calculation hints: readOnly: false destructive: false idempotent: false call: programmatic-environment-analytics-2.post with: body: tools.body outputParameters: - type: object mapping: $. - name: factset-get-calculation-status-id description: Factset Get calculation status by id hints: readOnly: true destructive: false idempotent: true call: programmatic-environment-analytics-2.get with: id: tools.id outputParameters: - type: object mapping: $. - name: factset-get-calculation-log-specific description: Factset Get calculation log for a specific calculation hints: readOnly: true destructive: false idempotent: true call: programmatic-environment-analytics-2.get with: id: tools.id outputParameters: - type: object mapping: $. - name: factset-get-calculation-output-specific description: Factset Get calculation output for a specific calculation hints: readOnly: true destructive: false idempotent: true call: programmatic-environment-analytics-2.get with: id: tools.id outputParameters: - type: object mapping: $. - name: factset-get-upload-status-id description: Factset Get upload status by id hints: readOnly: true destructive: false idempotent: true call: programmatic-environment-analytics-2.get with: id: tools.id outputParameters: - type: object mapping: $. - name: factset-starts-file-upload description: Factset Starts a file upload hints: readOnly: false destructive: false idempotent: false call: programmatic-environment-analytics-2.post with: server: tools.server file: tools.file body: tools.body outputParameters: - type: object mapping: $.