Factset · Capability
FactSet Vermilion API — Instances
FactSet Vermilion API — Instances. 6 operations. Lead operation: Factset Generates a Report. Self-contained Naftiko capability covering one Factset business surface.
What You Can Do
POST
Generatereport
— Factset Generates a Report
/v1/v1/report-instances/generate
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}
MCP Tools
factset-generates-report
Factset Generates a Report
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
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: FactSet Vermilion API — Instances
description: 'FactSet Vermilion API — Instances. 6 operations. Lead operation: Factset Generates a Report. Self-contained
Naftiko capability covering one Factset business surface.'
tags:
- Factset
- Instances
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
FACTSET_API_KEY: FACTSET_API_KEY
capability:
consumes:
- type: http
namespace: vermilion-instances
baseUri: ''
description: FactSet Vermilion API — Instances business capability. Self-contained, no shared references.
resources:
- name: v1-report-instances-generate
path: /v1/report-instances/generate
operations:
- name: generatereport
method: POST
description: Factset Generates a Report
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- 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
authentication:
type: bearer
token: '{{env.FACTSET_API_KEY}}'
exposes:
- type: rest
namespace: vermilion-instances-rest
port: 8080
description: REST adapter for FactSet Vermilion API — Instances. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v1/report-instances/generate
name: v1-report-instances-generate
description: REST surface for v1-report-instances-generate.
operations:
- method: POST
name: generatereport
description: Factset Generates a Report
call: vermilion-instances.generatereport
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- 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-instances.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-instances.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-instances.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-instances.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-instances.getreportfile
with:
tenant: rest.tenant
reportInstanceId: rest.reportInstanceId
reportFileName: rest.reportFileName
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: vermilion-instances-mcp
port: 9090
transport: http
description: MCP adapter for FactSet Vermilion API — Instances. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: factset-generates-report
description: Factset Generates a Report
hints:
readOnly: false
destructive: false
idempotent: false
call: vermilion-instances.generatereport
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: factset-gets-list-report-instances
description: Factset Gets a List of Report Instances
hints:
readOnly: true
destructive: false
idempotent: true
call: vermilion-instances.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-instances.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-instances.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-instances.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-instances.getreportfile
with:
tenant: tools.tenant
reportInstanceId: tools.reportInstanceId
reportFileName: tools.reportFileName
outputParameters:
- type: object
mapping: $.