Factset · Capability

FactSet Publisher API — Analytics

FactSet Publisher API — Analytics. 9 operations. Lead operation: Factset Create and Run Pub Calculation. Self-contained Naftiko capability covering one Factset business surface.

Run with Naftiko FactsetAnalytics

What You Can Do

POST
Postandcalculate — Factset Create and Run Pub Calculation
/v1/analytics/engines/pub/v3/calculations
PUT
Putandcalculate — Factset Create or Update Pub Calculation and Run It.
/v1/analytics/engines/pub/v3/calculations/{id}
GET
Getcalculationparameters — Factset Get Pub Calculation Parameters by Id
/v1/analytics/engines/pub/v3/calculations/{id}
DELETE
Cancelcalculationbyid — Factset Cancel Pub Calculation by Id
/v1/analytics/engines/pub/v3/calculations/{id}
GET
Getcalculationstatusbyid — Factset Get Pub Calculation Status by Id
/v1/analytics/engines/pub/v3/calculations/{id}/status
GET
Getcalculationunitresultbyid — Factset Get Pub Calculation Result by Id
/v1/analytics/engines/pub/v3/calculations/{id}/units/{unitid}/result
GET
Getpubdocuments — Factset Gets Publisher Documents and Sub-directories in a Directory
/v1/analytics/engines/pub/v3/documents/{path}
GET
Getaccounts — Factset Get Accounts and Sub-directories in a Directory
/v1/analytics/lookups/v3/accounts/{path}
GET
Getcurrencies — Factset Get Currencies
/v1/analytics/lookups/v3/currencies

MCP Tools

factset-create-and-run-pub

Factset Create and Run Pub Calculation

factset-create-update-pub-calculation

Factset Create or Update Pub Calculation and Run It.

idempotent
factset-get-pub-calculation-parameters

Factset Get Pub Calculation Parameters by Id

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

Factset Cancel Pub Calculation by Id

idempotent
factset-get-pub-calculation-status

Factset Get Pub Calculation Status by Id

read-only idempotent
factset-get-pub-calculation-result

Factset Get Pub Calculation Result by Id

read-only idempotent
factset-gets-publisher-documents-and

Factset Gets Publisher Documents and Sub-directories in a Directory

read-only idempotent
factset-get-accounts-and-sub

Factset Get Accounts and Sub-directories in a Directory

read-only idempotent
factset-get-currencies

Factset Get Currencies

read-only idempotent

Capability Spec

publisher-analytics.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FactSet Publisher API — Analytics
  description: 'FactSet Publisher API — Analytics. 9 operations. Lead operation: Factset Create and Run Pub 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: publisher-analytics
    baseUri: https://api.factset.com
    description: FactSet Publisher API — Analytics business capability. Self-contained, no shared references.
    resources:
    - name: analytics-engines-pub-v3-calculations
      path: /analytics/engines/pub/v3/calculations
      operations:
      - name: postandcalculate
        method: POST
        description: Factset Create and Run Pub 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 when only one unit is passed in the POST body.
        - name: Cache-Control
          in: header
          type: string
          description: Standard HTTP header.  Accepts no-cache, no-store, max-age, max-stale.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: analytics-engines-pub-v3-calculations-id
      path: /analytics/engines/pub/v3/calculations/{id}
      operations:
      - name: putandcalculate
        method: PUT
        description: Factset Create or Update Pub 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 Pub calculation endpoint
          required: true
        - name: X-FactSet-Api-Long-Running-Deadline
          in: header
          type: integer
          description: Long running deadline in seconds when only one unit is passed in the PUT body.
        - name: Cache-Control
          in: header
          type: string
          description: Standard HTTP header.  Accepts no-cache, no-store, max-age, max-stale.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcalculationparameters
        method: GET
        description: Factset Get Pub 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 Pub calculation endpoint
          required: true
      - name: cancelcalculationbyid
        method: DELETE
        description: Factset Cancel Pub 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 Pub calculation endpoint
          required: true
    - name: analytics-engines-pub-v3-calculations-id-status
      path: /analytics/engines/pub/v3/calculations/{id}/status
      operations:
      - name: getcalculationstatusbyid
        method: GET
        description: Factset Get Pub 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 Pub calculation endpoint
          required: true
    - name: analytics-engines-pub-v3-calculations-id-units-unitId-result
      path: /analytics/engines/pub/v3/calculations/{id}/units/{unitId}/result
      operations:
      - name: getcalculationunitresultbyid
        method: GET
        description: Factset Get Pub 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 Pub calculation status by id endpoint
          required: true
        - name: unitId
          in: path
          type: string
          description: from url, provided from the location header in the Get Pub calculation status by id endpoint
          required: true
        - name: Accept
          in: header
          type: string
          description: Standard HTTP header. Value can be gzip, compress, deflate, br, identity and/or *
    - name: analytics-engines-pub-v3-documents-path
      path: /analytics/engines/pub/v3/documents/{path}
      operations:
      - name: getpubdocuments
        method: GET
        description: Factset Gets Publisher Documents and Sub-directories in a Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: path
          type: string
          description: The directory to get the documents in
          required: true
    - name: analytics-lookups-v3-accounts-path
      path: /analytics/lookups/v3/accounts/{path}
      operations:
      - name: getaccounts
        method: GET
        description: Factset Get Accounts and Sub-directories in a Directory
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: path
          type: string
          description: The directory to get the accounts and sub-directories in
          required: true
    - name: analytics-lookups-v3-currencies
      path: /analytics/lookups/v3/currencies
      operations:
      - name: getcurrencies
        method: GET
        description: Factset Get Currencies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: basic
      username: '{{env.FACTSET_USER}}'
      password: '{{env.FACTSET_PASS}}'
  exposes:
  - type: rest
    namespace: publisher-analytics-rest
    port: 8080
    description: REST adapter for FactSet Publisher API — Analytics. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/analytics/engines/pub/v3/calculations
      name: analytics-engines-pub-v3-calculations
      description: REST surface for analytics-engines-pub-v3-calculations.
      operations:
      - method: POST
        name: postandcalculate
        description: Factset Create and Run Pub Calculation
        call: publisher-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/pub/v3/calculations/{id}
      name: analytics-engines-pub-v3-calculations-id
      description: REST surface for analytics-engines-pub-v3-calculations-id.
      operations:
      - method: PUT
        name: putandcalculate
        description: Factset Create or Update Pub Calculation and Run It.
        call: publisher-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 Pub Calculation Parameters by Id
        call: publisher-analytics.getcalculationparameters
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: cancelcalculationbyid
        description: Factset Cancel Pub Calculation by Id
        call: publisher-analytics.cancelcalculationbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/pub/v3/calculations/{id}/status
      name: analytics-engines-pub-v3-calculations-id-status
      description: REST surface for analytics-engines-pub-v3-calculations-id-status.
      operations:
      - method: GET
        name: getcalculationstatusbyid
        description: Factset Get Pub Calculation Status by Id
        call: publisher-analytics.getcalculationstatusbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/pub/v3/calculations/{id}/units/{unitid}/result
      name: analytics-engines-pub-v3-calculations-id-units-unitid-result
      description: REST surface for analytics-engines-pub-v3-calculations-id-units-unitId-result.
      operations:
      - method: GET
        name: getcalculationunitresultbyid
        description: Factset Get Pub Calculation Result by Id
        call: publisher-analytics.getcalculationunitresultbyid
        with:
          id: rest.id
          unitId: rest.unitId
          Accept: rest.Accept
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/engines/pub/v3/documents/{path}
      name: analytics-engines-pub-v3-documents-path
      description: REST surface for analytics-engines-pub-v3-documents-path.
      operations:
      - method: GET
        name: getpubdocuments
        description: Factset Gets Publisher Documents and Sub-directories in a Directory
        call: publisher-analytics.getpubdocuments
        with:
          path: rest.path
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/lookups/v3/accounts/{path}
      name: analytics-lookups-v3-accounts-path
      description: REST surface for analytics-lookups-v3-accounts-path.
      operations:
      - method: GET
        name: getaccounts
        description: Factset Get Accounts and Sub-directories in a Directory
        call: publisher-analytics.getaccounts
        with:
          path: rest.path
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/analytics/lookups/v3/currencies
      name: analytics-lookups-v3-currencies
      description: REST surface for analytics-lookups-v3-currencies.
      operations:
      - method: GET
        name: getcurrencies
        description: Factset Get Currencies
        call: publisher-analytics.getcurrencies
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: publisher-analytics-mcp
    port: 9090
    transport: http
    description: MCP adapter for FactSet Publisher API — Analytics. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: factset-create-and-run-pub
      description: Factset Create and Run Pub Calculation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: publisher-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-pub-calculation
      description: Factset Create or Update Pub Calculation and Run It.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: publisher-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-pub-calculation-parameters
      description: Factset Get Pub Calculation Parameters by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getcalculationparameters
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-cancel-pub-calculation-id
      description: Factset Cancel Pub Calculation by Id
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: publisher-analytics.cancelcalculationbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-pub-calculation-status
      description: Factset Get Pub Calculation Status by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getcalculationstatusbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-pub-calculation-result
      description: Factset Get Pub Calculation Result by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getcalculationunitresultbyid
      with:
        id: tools.id
        unitId: tools.unitId
        Accept: tools.Accept
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-publisher-documents-and
      description: Factset Gets Publisher Documents and Sub-directories in a Directory
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getpubdocuments
      with:
        path: tools.path
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-accounts-and-sub
      description: Factset Get Accounts and Sub-directories in a Directory
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getaccounts
      with:
        path: tools.path
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-currencies
      description: Factset Get Currencies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: publisher-analytics.getcurrencies
      outputParameters:
      - type: object
        mapping: $.