naftiko: 1.0.0-alpha2 info: label: Factset Universal Screening API — Job description: 'Factset Universal Screening API — Job. 5 operations. Lead operation: Job. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Job created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: universal-screening-job-2 baseUri: https://api.factset.com/universal-screening description: Factset Universal Screening API — Job business capability. Self-contained, no shared references. resources: - name: v2-job-archive path: /v2/job/archive operations: - name: submitarchiveofdb method: POST description: Begins archive of screen to OFDB. Subject to rate limiting by serial. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v2-job-calculate path: /v2/job/calculate operations: - name: submitcalculate method: POST description: Begins calculation of screen. Subject to rate limiting by serial. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v2-job-id path: /v2/job/{id} operations: - name: deleteactivejob method: DELETE description: Delete a specified job started by the requester's username-serial outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getcalculateresults method: GET description: Retrieve results of complete screen calculation. Screens with more than 10,000 rows will be returned in a paginated format. Results may be fetched in pages of 1,000 - 100,000 results with 10,000 being the default page size. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-job-id-status path: /v2/job/{id}/status operations: - name: pollcalculate method: GET description: Polls the job with a given screen ID and returns job status outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.FACTSET_USER}}' password: '{{env.FACTSET_PASS}}' exposes: - type: rest namespace: universal-screening-job-2-rest port: 8080 description: REST adapter for Factset Universal Screening API — Job. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/job/archive name: v2-job-archive description: REST surface for v2-job-archive. operations: - method: POST name: submitarchiveofdb description: Begins archive of screen to OFDB. Subject to rate limiting by serial. call: universal-screening-job-2.submitarchiveofdb with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/job/calculate name: v2-job-calculate description: REST surface for v2-job-calculate. operations: - method: POST name: submitcalculate description: Begins calculation of screen. Subject to rate limiting by serial. call: universal-screening-job-2.submitcalculate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/job/{id} name: v2-job-id description: REST surface for v2-job-id. operations: - method: DELETE name: deleteactivejob description: Delete a specified job started by the requester's username-serial call: universal-screening-job-2.deleteactivejob outputParameters: - type: object mapping: $. - method: GET name: getcalculateresults description: Retrieve results of complete screen calculation. Screens with more than 10,000 rows will be returned in a paginated format. Results may be fetched in pages of 1,000 - 100,000 results with 10,000 being the default page size. call: universal-screening-job-2.getcalculateresults outputParameters: - type: object mapping: $. - path: /v1/v2/job/{id}/status name: v2-job-id-status description: REST surface for v2-job-id-status. operations: - method: GET name: pollcalculate description: Polls the job with a given screen ID and returns job status call: universal-screening-job-2.pollcalculate outputParameters: - type: object mapping: $. - type: mcp namespace: universal-screening-job-2-mcp port: 9090 transport: http description: MCP adapter for Factset Universal Screening API — Job. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: begins-archive-screen-ofdb-subject description: Begins archive of screen to OFDB. Subject to rate limiting by serial. hints: readOnly: false destructive: false idempotent: false call: universal-screening-job-2.submitarchiveofdb with: body: tools.body outputParameters: - type: object mapping: $. - name: begins-calculation-screen-subject-rate description: Begins calculation of screen. Subject to rate limiting by serial. hints: readOnly: false destructive: false idempotent: false call: universal-screening-job-2.submitcalculate with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-specified-job-started-requester-s description: Delete a specified job started by the requester's username-serial hints: readOnly: false destructive: true idempotent: true call: universal-screening-job-2.deleteactivejob outputParameters: - type: object mapping: $. - name: retrieve-results-complete-screen-calculation description: Retrieve results of complete screen calculation. Screens with more than 10,000 rows will be returned in a paginated format. Results may be fetched in pages of 1,000 - 100,000 results with 10,000 being the default page size. hints: readOnly: true destructive: false idempotent: true call: universal-screening-job-2.getcalculateresults outputParameters: - type: object mapping: $. - name: polls-job-given-screen-id description: Polls the job with a given screen ID and returns job status hints: readOnly: true destructive: false idempotent: true call: universal-screening-job-2.pollcalculate outputParameters: - type: object mapping: $.