FactSet Portfolio
Through the Portfolio API, you can accomplish what-if analysis by uploading a paper portfolio to test out a new strategy or prospective opportunity.
Through the Portfolio API, you can accomplish what-if analysis by uploading a paper portfolio to test out a new strategy or prospective opportunity.
openapi: 3.0.1
info:
title: Factset ModelAccounts API
description: Allow clients to fetch ModelAccounts Analytics through APIs.
contact:
name: FactSet Research Systems
url: https://developer.factset.com/contact
email: [email protected]
license:
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '3'
servers:
- url: https://api.factset.com
paths:
/analytics/accounts/v3/models/{name}:
put:
tags:
- Analytics
summary: Factset Create or update an existing model account
operationId: createOrUpdateModelAccount
parameters:
- name: name
in: path
description: The path and filename of the model account to create or update
required: true
schema:
type: string
description: The path and filename of the model account to create or update
requestBody:
description: The object containing the input values
content:
application/json:
schema:
$ref: '#/components/schemas/ModelAccountFieldsRoot'
example:
data:
iterative:
'20191010':
FDS:
weight: '20'
price: '50'
priceiso: USD
GOOGL:
weight: '20'
price: '50'
priceiso: USD
nonIterative:
GOOGL:
taxable: 'false'
FDS:
taxable: 'false'
additionalFields:
- iteration: false
name: TAXABLE
type: STRING
description: Taxable
splitDirection: NONE
size: 0
meta:
description: Test desc
responses:
'200':
description: Expected response, updated model account
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'201':
description: Expected response, created model account
headers:
Location:
description: Location of the resource created
schema:
type: string
description: Location of the resource created
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'204':
description: Model account doesn't exist
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'400':
description: Invalid POST body.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'401':
description: Missing or invalid authentication.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'404':
description: Not Found
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'413':
description: Request body too large
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'415':
description: >-
Missing/Invalid Content-Type header. Header needs to be set to
application/json.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in sometime.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
delete:
tags:
- Analytics
summary: Factset Delete model account, takes an account path and name and deletes it.
operationId: deleteAModelAccount
parameters:
- name: name
in: path
description: The path and filename of model account to delete
required: true
schema:
type: string
description: The path and filename of model account to delete
responses:
'204':
description: Expected response, no content
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'400':
description: Invalid model account name or type parameter provided
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'401':
description: Missing or invalid authentication
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in sometime.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
get:
tags:
- Analytics
summary: Factset Get account endpoint, takes an account name and returns underlying data
operationId: getAccount
parameters:
- name: name
in: path
description: The path and filename of the account to get
required: true
schema:
type: string
description: The path and filename of the account to get
- name: format
in: query
description: >-
Optional format for the response, supported formats are JsonStach
and AccountModel
schema:
type: string
description: >-
Optional format for the response, supported formats are JsonStach
and AccountModel
default: JsonStach
responses:
'200':
description: >-
Expected response, returns JSON representation of the account's
dates, symbols and other fields.
headers:
Content-Encoding:
description: >-
Standard HTTP header. Header value based on Accept-Encoding
Request header.
schema:
type: string
description: >-
Standard HTTP header. Header value based on Accept-Encoding
Request header.
Content-Type:
description: Standard HTTP header.
schema:
type: string
description: Standard HTTP header.
Transfer-Encoding:
description: >-
Standard HTTP header. Header value will be set to Chunked if
Accept-Encoding header is specified.
schema:
type: string
description: >-
Standard HTTP header. Header value will be set to Chunked if
Accept-Encoding header is specified.
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/DataAndMetaModel'
'400':
description: Invalid account name or type parameter provided.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'401':
description: Missing or invalid authentication.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'404':
description: The provided account name does not exist at the location provided.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'406':
description: >-
Unsupported Accept header. Header needs to be set to
application/json.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in sometime.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
/analytics/accounts/v3/models/{name}/symbols/{symbol}:
delete:
tags:
- Analytics
summary: >-
Factset Delete all entries for a symbol or specific date entries for a symbol from a previously created account.
operationId: deleteModelAccountBySymbol
parameters:
- name: name
in: path
description: The filename of model account to delete
required: true
schema:
type: string
description: The filename of model account to delete
- name: symbol
in: path
description: The symbol from the given file name to delete
required: true
schema:
type: string
description: The symbol from the given file name to delete
- name: dates
in: query
description: >-
The dates from the given file name and symbol to delete (Maximum 10
dates are
# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/portfolio-openapi-original.yml