Factset · Capability

Factset FI API — Analytics

Factset FI API — Analytics. 7 operations. Lead operation: Factset Create and Run FI calculation. Self-contained Naftiko capability covering one Factset business surface.

Run with Naftiko FactsetAnalytics

What You Can Do

POST
Postandcalculate — Factset Create and Run FI calculation
/v1/analytics/engines/fi/v3/calculations
PUT
Putandcalculate — Factset Create or Update FI calculation and run it.
/v1/analytics/engines/fi/v3/calculations/{id}
GET
Getcalculationparameters — Factset Get FI calculation parameters by id
/v1/analytics/engines/fi/v3/calculations/{id}
DELETE
Cancelcalculationbyid — Factset Cancel FI calculation by id
/v1/analytics/engines/fi/v3/calculations/{id}
GET
Getcalculationresult — Factset Get FI calculation result by id
/v1/analytics/engines/fi/v3/calculations/{id}/result
GET
Getcalculationstatusbyid — Factset Get FI calculation status by id
/v1/analytics/engines/fi/v3/calculations/{id}/status
GET
Getallfidiscountcurves — Factset Get Discount Curves
/v1/analytics/engines/fi/v3/discount-curves

MCP Tools

factset-create-and-run-fi

Factset Create and Run FI calculation

factset-create-update-fi-calculation

Factset Create or Update FI calculation and run it.

idempotent
factset-get-fi-calculation-parameters

Factset Get FI calculation parameters by id

read-only idempotent
factset-cancel-fi-calculation-id

Factset Cancel FI calculation by id

idempotent
factset-get-fi-calculation-result

Factset Get FI calculation result by id

read-only idempotent
factset-get-fi-calculation-status

Factset Get FI calculation status by id

read-only idempotent
factset-get-discount-curves

Factset Get Discount Curves

read-only idempotent

Capability Spec

fixed-income-calculation-analytics.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Factset FI API — Analytics
  description: 'Factset FI API — Analytics. 7 operations. Lead operation: Factset Create and Run FI 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: fixed-income-calculation-analytics
    baseUri: https://api.factset.com
    description: Factset FI API — Analytics business capability. Self-contained, no shared references.
    resources:
    - name: analytics-engines-fi-v3-calculations
      path: /analytics/engines/fi/v3/calculations
      operations:
      - name: postandcalculate
        method: POST
        description: Factset Create and Run FI calculation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-FactSet-Api-Long-Running-Deadline
          in: header
          type: integer
          description: Long running deadline in seconds.
        - name: Cache-Control
          in: header
          type: string
          description: Standard HTTP header.  Accepts max-stale.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: analytics-engines-fi-v3-calculations-id
      path: /analytics/engines/fi/v3/calculations/{id}
      operations:
      - name: putandcalculate
        method: PUT
        description: Factset Create or Update FI calculation and run it.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: from url, provided from the location header in the Create and Run FI calculation endpoint
          required: true
        - name: X-FactSet-Api-Long-Running-Deadline
          in: header
          type: integer
          description: Long running deadline in seconds.
        - name: Cache-Control
          in: header
          type: string
          description: Standard HTTP header.  Accepts max-stale.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcalculationparameters
        method: GET
        description: Factset Get FI calculation parameters by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: from url, provided from the location header in the Create and Run FI calculation endpoint
          required: true
      - name: cancelcalculationbyid
        method: DELETE
        description: Factset Cancel FI calculation by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: from url, provided from the location header in the Create and Run FI calculation endpoint
          required: true
    - name: analytics-engines-fi-v3-calculations-id-result
      path: /analytics/engines/fi/v3/calculations/{id}/result
      operations:
      - name: getcalculationresult
        method: GET
        description: Factset Get FI calculation result by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: from url, provided from the location header in the Get FI calculation status by id endpoint
          required: true
    - name: analytics-engines-fi-v3-calculations-id-status
      path: /analytics/engines/fi/v3/calculations/{id}/status
      operations:
      - name: getcalculationstatusbyid
        method: GET
        description: Factset Get FI calculation status by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: from url, provided from the location header in the Create and Run FI calculation endpoint
          required: true
    - name: analytics-engines-fi-v3-discount-curves
      path: /analytics/engines/fi/v3/discount-curves
      operations:
      - name: getallfidiscountcurves
        method: GET
        description: Factset Get Discount Curves
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: currency
          in: query
          type: string
    authentication:
      type: bearer
      token: '{{env.FACTSET_API_KEY}}'
  exposes:
  - type: rest
    namespace: fixed-income-calculation-analytics-rest
    port: 8080
    description: REST adapter for Factset FI API — Analytics. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/analytics/engines/fi/v3/calculations
      name: analytics-engines-fi-v3-calculations
      description: REST surface for analytics-engines-fi-v3-calculations.
      operations:
      - method: POST
        name: postandcalculate
        description: Factset Create and Run FI calculation
        call: fixed-income-calculation-analytics.postandcalculate
        with:
          X-FactSet-Api-Long-Running-Deadline: rest.X-FactSet-Api-Long-Running-Deadline
          Cache-Control: rest.Cache-Control
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/fi/v3/calculations/{id}
      name: analytics-engines-fi-v3-calculations-id
      description: REST surface for analytics-engines-fi-v3-calculations-id.
      operations:
      - method: PUT
        name: putandcalculate
        description: Factset Create or Update FI calculation and run it.
        call: fixed-income-calculation-analytics.putandcalculate
        with:
          id: rest.id
          X-FactSet-Api-Long-Running-Deadline: rest.X-FactSet-Api-Long-Running-Deadline
          Cache-Control: rest.Cache-Control
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcalculationparameters
        description: Factset Get FI calculation parameters by id
        call: fixed-income-calculation-analytics.getcalculationparameters
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: cancelcalculationbyid
        description: Factset Cancel FI calculation by id
        call: fixed-income-calculation-analytics.cancelcalculationbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/fi/v3/calculations/{id}/result
      name: analytics-engines-fi-v3-calculations-id-result
      description: REST surface for analytics-engines-fi-v3-calculations-id-result.
      operations:
      - method: GET
        name: getcalculationresult
        description: Factset Get FI calculation result by id
        call: fixed-income-calculation-analytics.getcalculationresult
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/fi/v3/calculations/{id}/status
      name: analytics-engines-fi-v3-calculations-id-status
      description: REST surface for analytics-engines-fi-v3-calculations-id-status.
      operations:
      - method: GET
        name: getcalculationstatusbyid
        description: Factset Get FI calculation status by id
        call: fixed-income-calculation-analytics.getcalculationstatusbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/fi/v3/discount-curves
      name: analytics-engines-fi-v3-discount-curves
      description: REST surface for analytics-engines-fi-v3-discount-curves.
      operations:
      - method: GET
        name: getallfidiscountcurves
        description: Factset Get Discount Curves
        call: fixed-income-calculation-analytics.getallfidiscountcurves
        with:
          currency: rest.currency
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: fixed-income-calculation-analytics-mcp
    port: 9090
    transport: http
    description: MCP adapter for Factset FI API — Analytics. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: factset-create-and-run-fi
      description: Factset Create and Run FI calculation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fixed-income-calculation-analytics.postandcalculate
      with:
        X-FactSet-Api-Long-Running-Deadline: tools.X-FactSet-Api-Long-Running-Deadline
        Cache-Control: tools.Cache-Control
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-create-update-fi-calculation
      description: Factset Create or Update FI calculation and run it.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fixed-income-calculation-analytics.putandcalculate
      with:
        id: tools.id
        X-FactSet-Api-Long-Running-Deadline: tools.X-FactSet-Api-Long-Running-Deadline
        Cache-Control: tools.Cache-Control
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-fi-calculation-parameters
      description: Factset Get FI calculation parameters by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fixed-income-calculation-analytics.getcalculationparameters
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-cancel-fi-calculation-id
      description: Factset Cancel FI calculation by id
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: fixed-income-calculation-analytics.cancelcalculationbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-fi-calculation-result
      description: Factset Get FI calculation result by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fixed-income-calculation-analytics.getcalculationresult
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-fi-calculation-status
      description: Factset Get FI calculation status by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fixed-income-calculation-analytics.getcalculationstatusbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-discount-curves
      description: Factset Get Discount Curves
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fixed-income-calculation-analytics.getallfidiscountcurves
      with:
        currency: tools.currency
      outputParameters:
      - type: object
        mapping: $.