Factset · Capability
FactSet Vermilion API — Tenant
FactSet Vermilion API — Tenant. 11 operations. Lead operation: Factset Lists All Datasources. Self-contained Naftiko capability covering one Factset business surface.
What You Can Do
GET
Getalldatasources
— Factset Lists All Datasources
/v1/v1/{tenant}/data-sources
GET
Getdatasourcebycode
— Factset Gets a Datasource
/v1/v1/{tenant}/data-sources/{datasourcecode}
GET
Getdatasourcedata
— Factset Gets the Data for the Datasource
/v1/v1/{tenant}/data-sources/{datasourcecode}/data
GET
Getentityvaluesbycode
— Factset Gets the Entity Values
/v1/v1/{tenant}/entities/{entitycode}/values
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-lists-all-datasources
Factset Lists All Datasources
read-only
idempotent
factset-gets-datasource
Factset Gets a Datasource
read-only
idempotent
factset-gets-data-datasource
Factset Gets the Data for the Datasource
read-only
idempotent
factset-gets-entity-values
Factset Gets the Entity Values
read-only
idempotent
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
naftiko: 1.0.0-alpha2
info:
label: FactSet Vermilion API — Tenant
description: 'FactSet Vermilion API — Tenant. 11 operations. Lead operation: Factset Lists All Datasources. Self-contained
Naftiko capability covering one Factset business surface.'
tags:
- Factset
- Tenant
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
FACTSET_API_KEY: FACTSET_API_KEY
capability:
consumes:
- type: http
namespace: vermilion-tenant
baseUri: ''
description: FactSet Vermilion API — Tenant business capability. Self-contained, no shared references.
resources:
- name: v1-tenant-data-sources
path: /v1/{tenant}/data-sources
operations:
- name: getalldatasources
method: GET
description: Factset Lists All Datasources
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. Append - to sort in descending order. If parameter is not given, no sorting
will be done
- name: _paginationLimit
in: query
type: integer
description: Non-negative maximum number of entries to return. Default is 25
- name: _paginationOffset
in: query
type: integer
description: Non-negative number of entries to skip. Default is 0
- name: v1-tenant-data-sources-dataSourceCode
path: /v1/{tenant}/data-sources/{dataSourceCode}
operations:
- name: getdatasourcebycode
method: GET
description: Factset Gets a Datasource
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tenant
in: path
type: string
description: The code of the tenancy
required: true
- name: dataSourceCode
in: path
type: string
description: The code of the datasource
required: true
- name: v1-tenant-data-sources-dataSourceCode-data
path: /v1/{tenant}/data-sources/{dataSourceCode}/data
operations:
- name: getdatasourcedata
method: GET
description: Factset Gets the Data for the Datasource
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tenant
in: path
type: string
description: The code of the tenancy
required: true
- name: dataSourceCode
in: path
type: string
description: The code of the datasource
required: true
- name: entityCodes
in: query
type: string
description: 'A series of query parameter used to filter the data for a datasource. This represents the entities
for the datasource. E.g.: entityCodes=ACCOUNT&entityCodes=FUN'
- name: entityKeys
in: query
type: string
description: 'A series of query parameter used to filter the data for a datasource. This is the entity key value
for an entity selection. E.g.: entityKeys=1&entityKeys=Test2'
- name: _paginationLimit
in: query
type: integer
description: Non-negative maximum number of entries to return. Default is 25
- name: _paginationOffset
in: query
type: integer
description: Non-negative number of entries to skip. Default is 0
- name: v1-tenant-entities-entityCode-values
path: /v1/{tenant}/entities/{entityCode}/values
operations:
- name: getentityvaluesbycode
method: GET
description: Factset Gets the Entity Values
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tenant
in: path
type: string
description: The code of the tenancy
required: true
- name: entityCode
in: path
type: string
description: The code of the entity
required: true
- name: _sort
in: query
type: array
description: The entity field to sort on. Can only be sorted on entity key, description or secondary key fields.
Append "-" to sort in descending order. If no parameter give
- name: _paginationLimit
in: query
type: integer
description: Non-negative maximum number of entries to return. Default is 25
- name: _paginationOffset
in: query
type: integer
description: Non-negative number of entries to skip. Default is 0
- name: showAll
in: query
type: integer
description: Whether to show all field values for each entity row. Value should either be 1 or 0. Default is 0 (false)
- 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-tenant-rest
port: 8080
description: REST adapter for FactSet Vermilion API — Tenant. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v1/{tenant}/data-sources
name: v1-tenant-data-sources
description: REST surface for v1-tenant-data-sources.
operations:
- method: GET
name: getalldatasources
description: Factset Lists All Datasources
call: vermilion-tenant.getalldatasources
with:
tenant: rest.tenant
_sort: rest._sort
_paginationLimit: rest._paginationLimit
_paginationOffset: rest._paginationOffset
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/{tenant}/data-sources/{datasourcecode}
name: v1-tenant-data-sources-datasourcecode
description: REST surface for v1-tenant-data-sources-dataSourceCode.
operations:
- method: GET
name: getdatasourcebycode
description: Factset Gets a Datasource
call: vermilion-tenant.getdatasourcebycode
with:
tenant: rest.tenant
dataSourceCode: rest.dataSourceCode
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/{tenant}/data-sources/{datasourcecode}/data
name: v1-tenant-data-sources-datasourcecode-data
description: REST surface for v1-tenant-data-sources-dataSourceCode-data.
operations:
- method: GET
name: getdatasourcedata
description: Factset Gets the Data for the Datasource
call: vermilion-tenant.getdatasourcedata
with:
tenant: rest.tenant
dataSourceCode: rest.dataSourceCode
entityCodes: rest.entityCodes
entityKeys: rest.entityKeys
_paginationLimit: rest._paginationLimit
_paginationOffset: rest._paginationOffset
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/{tenant}/entities/{entitycode}/values
name: v1-tenant-entities-entitycode-values
description: REST surface for v1-tenant-entities-entityCode-values.
operations:
- method: GET
name: getentityvaluesbycode
description: Factset Gets the Entity Values
call: vermilion-tenant.getentityvaluesbycode
with:
tenant: rest.tenant
entityCode: rest.entityCode
_sort: rest._sort
_paginationLimit: rest._paginationLimit
_paginationOffset: rest._paginationOffset
showAll: rest.showAll
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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.getreportdefinitionbycode
with:
tenant: rest.tenant
reportDefinitionCode: rest.reportDefinitionCode
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: vermilion-tenant-mcp
port: 9090
transport: http
description: MCP adapter for FactSet Vermilion API — Tenant. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: factset-lists-all-datasources
description: Factset Lists All Datasources
hints:
readOnly: true
destructive: false
idempotent: true
call: vermilion-tenant.getalldatasources
with:
tenant: tools.tenant
_sort: tools._sort
_paginationLimit: tools._paginationLimit
_paginationOffset: tools._paginationOffset
outputParameters:
- type: object
mapping: $.
- name: factset-gets-datasource
description: Factset Gets a Datasource
hints:
readOnly: true
destructive: false
idempotent: true
call: vermilion-tenant.getdatasourcebycode
with:
tenant: tools.tenant
dataSourceCode: tools.dataSourceCode
outputParameters:
- type: object
mapping: $.
- name: factset-gets-data-datasource
description: Factset Gets the Data for the Datasource
hints:
readOnly: true
destructive: false
idempotent: true
call: vermilion-tenant.getdatasourcedata
with:
tenant: tools.tenant
dataSourceCode: tools.dataSourceCode
entityCodes: tools.entityCodes
entityKeys: tools.entityKeys
_paginationLimit: tools._paginationLimit
_paginationOffset: tools._paginationOffset
outputParameters:
- type: object
mapping: $.
- name: factset-gets-entity-values
description: Factset Gets the Entity Values
hints:
readOnly: true
destructive: false
idempotent: true
call: vermilion-tenant.getentityvaluesbycode
with:
tenant: tools.tenant
entityCode: tools.entityCode
_sort: tools._sort
_paginationLimit: tools._paginationLimit
_paginationOffset: tools._paginationOffset
showAll: tools.showAll
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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.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-tenant.getreportdefinitionbycode
with:
tenant: tools.tenant
reportDefinitionCode: tools.reportDefinitionCode
outputParameters:
- type: object
mapping: $.