naftiko: 1.0.0-alpha2 info: label: Factset PA Engine API — Templated description: 'Factset PA Engine API — Templated. 5 operations. Lead operation: Factset Create Templated Pa Component. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Templated created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: pa-engine-templated baseUri: https://api.factset.com description: Factset PA Engine API — Templated business capability. Self-contained, no shared references. resources: - name: analytics-engines-pa-v3-templated-components path: /analytics/engines/pa/v3/templated-components operations: - name: createtemplatedpacomponents method: POST description: Factset Create Templated Pa Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: gettemplatedpacomponentsinpath method: GET description: Factset Get Templated Pa Components in Path outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: directory in: query type: string description: Get templated PA components in path required: true - name: analytics-engines-pa-v3-templated-components-id path: /analytics/engines/pa/v3/templated-components/{id} operations: - name: updatetemplatedpacomponents method: PUT description: Factset Update Templated Pa Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Unique identifier for a templated PA component required: true - name: body in: body type: object description: Request body (JSON). required: true - name: gettemplatedpacomponentbyid method: GET description: Factset Get Templated Pa Component by Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Unique identifier for a templated PA component required: true - name: deletetemplatedpacomponents method: DELETE description: Factset Delete Templated Pa Component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Unique identifier for a templated PA component required: true authentication: type: bearer token: '{{env.FACTSET_API_KEY}}' exposes: - type: rest namespace: pa-engine-templated-rest port: 8080 description: REST adapter for Factset PA Engine API — Templated. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/analytics/engines/pa/v3/templated-components name: analytics-engines-pa-v3-templated-components description: REST surface for analytics-engines-pa-v3-templated-components. operations: - method: POST name: createtemplatedpacomponents description: Factset Create Templated Pa Component call: pa-engine-templated.createtemplatedpacomponents with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: gettemplatedpacomponentsinpath description: Factset Get Templated Pa Components in Path call: pa-engine-templated.gettemplatedpacomponentsinpath with: directory: rest.directory outputParameters: - type: object mapping: $. - path: /v1/analytics/engines/pa/v3/templated-components/{id} name: analytics-engines-pa-v3-templated-components-id description: REST surface for analytics-engines-pa-v3-templated-components-id. operations: - method: PUT name: updatetemplatedpacomponents description: Factset Update Templated Pa Component call: pa-engine-templated.updatetemplatedpacomponents with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: gettemplatedpacomponentbyid description: Factset Get Templated Pa Component by Id call: pa-engine-templated.gettemplatedpacomponentbyid with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deletetemplatedpacomponents description: Factset Delete Templated Pa Component call: pa-engine-templated.deletetemplatedpacomponents with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: pa-engine-templated-mcp port: 9090 transport: http description: MCP adapter for Factset PA Engine API — Templated. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-create-templated-pa-component description: Factset Create Templated Pa Component hints: readOnly: false destructive: false idempotent: false call: pa-engine-templated.createtemplatedpacomponents with: body: tools.body outputParameters: - type: object mapping: $. - name: factset-get-templated-pa-components description: Factset Get Templated Pa Components in Path hints: readOnly: true destructive: false idempotent: true call: pa-engine-templated.gettemplatedpacomponentsinpath with: directory: tools.directory outputParameters: - type: object mapping: $. - name: factset-update-templated-pa-component description: Factset Update Templated Pa Component hints: readOnly: false destructive: false idempotent: true call: pa-engine-templated.updatetemplatedpacomponents with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: factset-get-templated-pa-component description: Factset Get Templated Pa Component by Id hints: readOnly: true destructive: false idempotent: true call: pa-engine-templated.gettemplatedpacomponentbyid with: id: tools.id outputParameters: - type: object mapping: $. - name: factset-delete-templated-pa-component description: Factset Delete Templated Pa Component hints: readOnly: false destructive: true idempotent: true call: pa-engine-templated.deletetemplatedpacomponents with: id: tools.id outputParameters: - type: object mapping: $.