Factset · Capability

FactSet Vermilion API — Reports

FactSet Vermilion API — Reports. 7 operations. Lead operation: Factset Gets a List of Report Instances. Self-contained Naftiko capability covering one Factset business surface.

Run with Naftiko FactsetReports

What You Can Do

GET
Getallreportinstances — Factset Gets a List of Report Instances
/v1/v1/{tenant}/report-instances
DELETE
Cancelreport — Factset Cancels a Report Generation
/v1/v1/{tenant}/report-instances/{reportinstanceid}
GET
Getreportinstancebyid — Factset Gets a Report Instance Based on the Id
/v1/v1/{tenant}/report-instances/{reportinstanceid}
GET
Getreportgenerationlogs — Factset Gets a List of Logs for the Report Instance Generation
/v1/v1/{tenant}/report-instances/{reportinstanceid}/logs
GET
Getreportfile — Factset Gets the Generated File
/v1/v1/{tenant}/report-instances/{reportinstanceid}/results/{reportfilename}
GET
Getallreportdefinitions — Factset Gets All Report Definitions
/v1/v1/{tenant}/reports
GET
Getreportdefinitionbycode — Factset Gets a Report Definition
/v1/v1/{tenant}/reports/{reportdefinitioncode}

MCP Tools

factset-gets-list-report-instances

Factset Gets a List of Report Instances

read-only idempotent
factset-cancels-report-generation

Factset Cancels a Report Generation

idempotent
factset-gets-report-instance-based

Factset Gets a Report Instance Based on the Id

read-only idempotent
factset-gets-list-logs-report

Factset Gets a List of Logs for the Report Instance Generation

read-only idempotent
factset-gets-generated-file

Factset Gets the Generated File

read-only idempotent
factset-gets-all-report-definitions

Factset Gets All Report Definitions

read-only idempotent
factset-gets-report-definition

Factset Gets a Report Definition

read-only idempotent

Capability Spec

vermilion-reports.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FactSet Vermilion API — Reports
  description: 'FactSet Vermilion API — Reports. 7 operations. Lead operation: Factset Gets a List of Report Instances. Self-contained
    Naftiko capability covering one Factset business surface.'
  tags:
  - Factset
  - Reports
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FACTSET_API_KEY: FACTSET_API_KEY
capability:
  consumes:
  - type: http
    namespace: vermilion-reports
    baseUri: ''
    description: FactSet Vermilion API — Reports business capability. Self-contained, no shared references.
    resources:
    - name: v1-tenant-report-instances
      path: /v1/{tenant}/report-instances
      operations:
      - name: getallreportinstances
        method: GET
        description: Factset Gets a List of Report Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: reportDefinitionCode
          in: query
          type: string
          description: Acts as a filter for the retrieval process. Filters the report instances that match the report definition
            code
        - name: entityCodes
          in: query
          type: string
          description: 'A series of query parameters used to filter the report instances by entity code. E.g: entityCode=DATE&entityCode=SYSTEM_LANG'
        - name: entityKeys
          in: query
          type: string
          description: 'A series of query parameters used to filter the report instances by entity keys. E.g: entityKey=en-gb'
        - name: sectionFilter
          in: query
          type: string
          description: Acts as a filter for the retrieval process. Filters the report instances that match the section filter
        - name: outputFormat
          in: query
          type: string
          description: Acts as a filter for the retrieval process. Filters the report instances that match the output format
        - name: _sort
          in: query
          type: array
          description: The column to sort on. Append - to sort in descending order. If parameter is not given, sorting will
            be based on the report instance id in descending order
        - name: _paginationLimit
          in: query
          type: integer
          description: Non-negative maximum number of entries to return
        - name: _paginationOffset
          in: query
          type: integer
          description: Non-negative number of entries to skip
    - name: v1-tenant-report-instances-reportInstanceId
      path: /v1/{tenant}/report-instances/{reportInstanceId}
      operations:
      - name: cancelreport
        method: DELETE
        description: Factset Cancels a Report Generation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: reportInstanceId
          in: path
          type: string
          description: The id of the report instance
          required: true
      - name: getreportinstancebyid
        method: GET
        description: Factset Gets a Report Instance Based on the Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: reportInstanceId
          in: path
          type: string
          description: The ID of the report instance
          required: true
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
    - name: v1-tenant-report-instances-reportInstanceId-logs
      path: /v1/{tenant}/report-instances/{reportInstanceId}/logs
      operations:
      - name: getreportgenerationlogs
        method: GET
        description: Factset Gets a List of Logs for the Report Instance Generation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: reportInstanceId
          in: path
          type: string
          description: Used to validate that report file name belongs to the report instance passed
          required: true
        - name: errorsOnly
          in: query
          type: string
          description: 'If the parameter is set to true the endpoint should return just errors and warnings E.g: errorsOnly=true'
        - name: _sort
          in: query
          type: array
          description: The column to sort on. Can add - to sort
        - name: _paginationLimit
          in: query
          type: integer
          description: Non-negative maximum number of entries to return
        - name: _paginationOffset
          in: query
          type: integer
          description: Non-negative number of entries to skip
    - name: v1-tenant-report-instances-reportInstanceId-results-reportFileName
      path: /v1/{tenant}/report-instances/{reportInstanceId}/results/{reportFileName}
      operations:
      - name: getreportfile
        method: GET
        description: Factset Gets the Generated File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: reportInstanceId
          in: path
          type: string
          description: Used to validate that report file name belongs to the report instance passed
          required: true
        - name: reportFileName
          in: path
          type: string
          description: 'The report file name that has to be retrieved. report file name. E.g: xyz.pdf'
          required: true
    - name: v1-tenant-reports
      path: /v1/{tenant}/reports
      operations:
      - name: getallreportdefinitions
        method: GET
        description: Factset Gets All Report Definitions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: _sort
          in: query
          type: array
          description: The column to sort on. Can add - to sort
        - name: _paginationLimit
          in: query
          type: integer
          description: Non-negative maximum number of entries to return
        - name: _paginationOffset
          in: query
          type: integer
          description: Non-negative number of entries to skip
    - name: v1-tenant-reports-reportDefinitionCode
      path: /v1/{tenant}/reports/{reportDefinitionCode}
      operations:
      - name: getreportdefinitionbycode
        method: GET
        description: Factset Gets a Report Definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tenant
          in: path
          type: string
          description: The code of the tenancy
          required: true
        - name: reportDefinitionCode
          in: path
          type: string
          description: The code of the report definition
          required: true
    authentication:
      type: bearer
      token: '{{env.FACTSET_API_KEY}}'
  exposes:
  - type: rest
    namespace: vermilion-reports-rest
    port: 8080
    description: REST adapter for FactSet Vermilion API — Reports. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/{tenant}/report-instances
      name: v1-tenant-report-instances
      description: REST surface for v1-tenant-report-instances.
      operations:
      - method: GET
        name: getallreportinstances
        description: Factset Gets a List of Report Instances
        call: vermilion-reports.getallreportinstances
        with:
          tenant: rest.tenant
          reportDefinitionCode: rest.reportDefinitionCode
          entityCodes: rest.entityCodes
          entityKeys: rest.entityKeys
          sectionFilter: rest.sectionFilter
          outputFormat: rest.outputFormat
          _sort: rest._sort
          _paginationLimit: rest._paginationLimit
          _paginationOffset: rest._paginationOffset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{tenant}/report-instances/{reportinstanceid}
      name: v1-tenant-report-instances-reportinstanceid
      description: REST surface for v1-tenant-report-instances-reportInstanceId.
      operations:
      - method: DELETE
        name: cancelreport
        description: Factset Cancels a Report Generation
        call: vermilion-reports.cancelreport
        with:
          tenant: rest.tenant
          reportInstanceId: rest.reportInstanceId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getreportinstancebyid
        description: Factset Gets a Report Instance Based on the Id
        call: vermilion-reports.getreportinstancebyid
        with:
          reportInstanceId: rest.reportInstanceId
          tenant: rest.tenant
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{tenant}/report-instances/{reportinstanceid}/logs
      name: v1-tenant-report-instances-reportinstanceid-logs
      description: REST surface for v1-tenant-report-instances-reportInstanceId-logs.
      operations:
      - method: GET
        name: getreportgenerationlogs
        description: Factset Gets a List of Logs for the Report Instance Generation
        call: vermilion-reports.getreportgenerationlogs
        with:
          tenant: rest.tenant
          reportInstanceId: rest.reportInstanceId
          errorsOnly: rest.errorsOnly
          _sort: rest._sort
          _paginationLimit: rest._paginationLimit
          _paginationOffset: rest._paginationOffset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{tenant}/report-instances/{reportinstanceid}/results/{reportfilename}
      name: v1-tenant-report-instances-reportinstanceid-results-reportfilename
      description: REST surface for v1-tenant-report-instances-reportInstanceId-results-reportFileName.
      operations:
      - method: GET
        name: getreportfile
        description: Factset Gets the Generated File
        call: vermilion-reports.getreportfile
        with:
          tenant: rest.tenant
          reportInstanceId: rest.reportInstanceId
          reportFileName: rest.reportFileName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{tenant}/reports
      name: v1-tenant-reports
      description: REST surface for v1-tenant-reports.
      operations:
      - method: GET
        name: getallreportdefinitions
        description: Factset Gets All Report Definitions
        call: vermilion-reports.getallreportdefinitions
        with:
          tenant: rest.tenant
          _sort: rest._sort
          _paginationLimit: rest._paginationLimit
          _paginationOffset: rest._paginationOffset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/{tenant}/reports/{reportdefinitioncode}
      name: v1-tenant-reports-reportdefinitioncode
      description: REST surface for v1-tenant-reports-reportDefinitionCode.
      operations:
      - method: GET
        name: getreportdefinitionbycode
        description: Factset Gets a Report Definition
        call: vermilion-reports.getreportdefinitionbycode
        with:
          tenant: rest.tenant
          reportDefinitionCode: rest.reportDefinitionCode
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: vermilion-reports-mcp
    port: 9090
    transport: http
    description: MCP adapter for FactSet Vermilion API — Reports. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: factset-gets-list-report-instances
      description: Factset Gets a List of Report Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getallreportinstances
      with:
        tenant: tools.tenant
        reportDefinitionCode: tools.reportDefinitionCode
        entityCodes: tools.entityCodes
        entityKeys: tools.entityKeys
        sectionFilter: tools.sectionFilter
        outputFormat: tools.outputFormat
        _sort: tools._sort
        _paginationLimit: tools._paginationLimit
        _paginationOffset: tools._paginationOffset
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-cancels-report-generation
      description: Factset Cancels a Report Generation
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: vermilion-reports.cancelreport
      with:
        tenant: tools.tenant
        reportInstanceId: tools.reportInstanceId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-report-instance-based
      description: Factset Gets a Report Instance Based on the Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getreportinstancebyid
      with:
        reportInstanceId: tools.reportInstanceId
        tenant: tools.tenant
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-list-logs-report
      description: Factset Gets a List of Logs for the Report Instance Generation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getreportgenerationlogs
      with:
        tenant: tools.tenant
        reportInstanceId: tools.reportInstanceId
        errorsOnly: tools.errorsOnly
        _sort: tools._sort
        _paginationLimit: tools._paginationLimit
        _paginationOffset: tools._paginationOffset
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-generated-file
      description: Factset Gets the Generated File
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getreportfile
      with:
        tenant: tools.tenant
        reportInstanceId: tools.reportInstanceId
        reportFileName: tools.reportFileName
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-all-report-definitions
      description: Factset Gets All Report Definitions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getallreportdefinitions
      with:
        tenant: tools.tenant
        _sort: tools._sort
        _paginationLimit: tools._paginationLimit
        _paginationOffset: tools._paginationOffset
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-gets-report-definition
      description: Factset Gets a Report Definition
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vermilion-reports.getreportdefinitionbycode
      with:
        tenant: tools.tenant
        reportDefinitionCode: tools.reportDefinitionCode
      outputParameters:
      - type: object
        mapping: $.