Open FactSet Database (OFDB) API
Through Open FactSet Database (OFDB) API, users can create, modify and view non portfolio databases.
Through Open FactSet Database (OFDB) API, users can create, modify and view non portfolio databases.
openapi: 3.0.0
info:
description: OFDB API
version: 2.1.0
title: Factset OFDB API
termsOfService: TOS
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
tags:
- name: Database
servers:
- url: https://api.factset.com/analytics/ofdb/v2
security:
- FactSetApiKey: []
- FactSetOAuth2: []
paths:
/database/jobs/{id}/status:
get:
operationId: getStatus
tags:
- Database
description: >-
Returns the current status of a long running request. The full URL is
normally provided for you in the Location header of a long running
response.
parameters:
- $ref: '#/components/parameters/idPathParam'
responses:
'201':
$ref: '#/components/responses/201LongRunningResponse'
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/audit:
get:
operationId: getAudit
tags:
- Database
description: >-
Returns a list of the most recent "modificationTimes" in long datetime
format
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/audit/jobs/{id}:
get:
operationId: getResourceAudit
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200GetAudit'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/stats:
get:
operationId: getStats
tags:
- Database
description: Returns a summary of OFDB metadata and data points
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/stats/jobs/{id}:
get:
operationId: getResourceStats
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200GetStats'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/fields:
get:
operationId: getFields
tags:
- Database
description: Returns all the fields in the database(OFDB, OMS_OFDB, ECONOFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
post:
operationId: addFields
tags:
- Database
description: Allows users to add fields to existing OFDBs
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
requestBody:
description: Data for creating fields in the database.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddFields'
examples:
OFDB:
description: The field schemas to be added
value:
data:
- description: string
iteration: 2D
name: string
size: 0
splitDirection: NONE
type: INT
codePageFlag: ASCII
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/fields/jobs/{id}:
get:
operationId: getResourceFields
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200GetFields'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/delete:
post:
operationId: deleteBulkItems
tags:
- Database
description: >-
Allows users to delete various combinations of symbols, dates, and
fields from the desired OFDB
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDelete'
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/delete/jobs/{id}:
get:
operationId: getResourceBulkDelete
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200BulkDelete'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/symbols:
get:
operationId: getSymbols
tags:
- Database
description: Returns all the symbols in the database(OFDB, OMS_OFDB, ECONOFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- name: startsWith
in: query
description: Returns list of symbols which starts with mentioned string
schema:
type: string
- name: endsWith
in: query
description: Returns list of symbols which ends with mentioned string
schema:
type: string
- name: contains
in: query
description: Returns list of symbols which contains mentioned string
schema:
type: string
- name: equals
in: query
description: Returns symbol which matches mentioned string
schema:
type: string
- name: orderBy
in: query
description: >-
Returns symbols in the mentioned sorted order, should provide asc or
desc
schema:
type: string
enum:
- asc
- desc
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
post:
operationId: addSymbols
tags:
- Database
description: >-
Creates a new symbol with single/multiple dates for 3d database(OFDB).
Creates a symbol for 2d database(OFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
requestBody:
description: Data for creating symbol in the database
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddSymbols'
examples:
3dOFDB:
description: >-
Object in content is mandatory and must contain date with
atleast one iterative field
value:
data:
- symbol: FDS
content:
- date: 20220106
price: '333'
2dOFDB:
description: >-
Object in content is optional and should contain fields of the
OFDB
value:
data:
- symbol: FDS
content:
- description: Your desired information
price: '200'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
put:
operationId: updateSymbols
tags:
- Database
description: >-
Updates existing symbols for single/multiple dates or adds a new
symbol/date within a symbol if not present in 3d database(OFDB). Updates
an existing symbol field value or adds a new symbol if not present in
the 2d database(OFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
requestBody:
description: Data for updating symbol in the database
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSymbols'
examples:
3dOFDB:
description: >-
Object in content is mandatory and must contain the field date
and at least one iterative field
value:
data:
- symbol: FDS
content:
- date: 20200202
price: '999'
2dOFDB:
description: >-
Object in content is OPTIONAL and should contain fields
already existing within your OFDB
value:
data:
- symbol: FDS
content:
- country: USA
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/symbols/jobs/{id}:
get:
operationId: getResourceSymbols
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200GetSymbols'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/symbols/{symbol}:
put:
operationId: updateSymbol
tags:
- Database
description: >-
Updates an existing symbol field value for single/multiple dates or adds
a new symbol/date within a symbol if not present in 3d database(OFDB).
Updates an existing symbol field value or adds a new symbol if not
present in the 2d database(OFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/symbolPathParam'
requestBody:
description: Data for updating symbol in the database
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSymbol'
examples:
3dOFDB:
description: >-
Object in content is mandatory and must contain the field date
and at least one iterative field
value:
data:
- content:
- date: 20200202
price: '999'
2dOFDB:
description: >-
Object in content is OPTIONAL and should contain fields
already existing within your OFDB
value:
data:
- content:
- country: USA
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
delete:
operationId: deleteSymbol
tags:
- Database
description: >-
Deletes all data specific to the symbol in both 2d and 3d
database(OFDB). This includes all the dates related to that symbols in
3d database(OFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/symbolPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'204':
$ref: '#/components/responses/204Response'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/symbols/{symbol}/jobs/{id}:
get:
operationId: getResourceSymbol
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/symbolPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/PostRequestsSuccessCompleteResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates:
get:
operationId: getDates
tags:
- Database
description: Returns all the dates in the database(OFDB, OMS_OFDB, ECONOFDB)
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- name: between
in: query
description: >-
Returns list of dates which are between [start,end], dates should be
in the respective order of start and end
style: form
explode: false
schema:
type: string
- name: equals
in: query
description: Returns the date which matches given date
schema:
type: string
- name: before
in: query
description: Returns list of dates which are before mentioned date
schema:
type: string
- name: after
in: query
description: Returns list of dates which are after mentioned date
schema:
type: string
- name: orderBy
in: query
description: >-
Returns dates in the mentioned sorted order, should provide asc or
desc
schema:
type: string
enum:
- asc
- desc
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
post:
operationId: addDates
tags:
- Database
description: Creates a new date with single/multiple symbols for a 3d database(OFDB).
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
requestBody:
description: >-
Required data for creating date in the database. At least one
iterative field is required otherwise it will throw 400.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddDates'
example:
data:
- date: 20220107
content:
- symbol: FDS
price: 444
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
put:
operationId: updateDates
tags:
- Database
description: >-
Updates existing dates for single/multiple symbols or adds a new
date/symbol within a date if not present in 3d database(OFDB).
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
requestBody:
description: Required data for updating date in the database
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDates'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates/jobs/{id}:
get:
operationId: getResourceDates
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/200GetDates'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates/{date}:
put:
operationId: updateDate
tags:
- Database
description: >-
Updates an existing date field value for single/multiple symbols or adds
a new date/symbol within a date if not present in 3d database(OFDB).
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/datePathParam'
requestBody:
description: Required data for updating date in the database
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDate'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'413':
$ref: '#/components/responses/413Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
delete:
operationId: deleteDate
tags:
- Database
description: >-
Deletes all data specific to the date in 3d database(OFDB). This
includes all the symbols related to that date
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/datePathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'204':
$ref: '#/components/responses/204Response'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates/{date}/jobs/{id}:
get:
operationId: getResourceDate
tags:
- Database
description: >-
Returns the end results of a long running request. The full URL is
normally provided for you in the Location header of a finished long
running response.
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/datePathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/PostRequestsSuccessCompleteResponse'
'202':
$ref: '#/components/responses/202LongRunningResponse'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates/{date}/symbols/{symbol}:
delete:
operationId: deleteDateFromSymbol
tags:
- Database
description: Deletes data specific to the symbol and date from a 3d database(OFDB).
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/datePathParam'
- $ref: '#/components/parameters/symbolPathParam'
responses:
'202':
$ref: '#/components/responses/202LongRunningResponse'
'204':
$ref: '#/components/responses/204Response'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}/dates/{date}/symbols/{symbol}/jobs/{id}:
delete:
operationId: getResourceDateFromSymbol
tags:
- Database
description: Deletes data specific to the symbol and date from a 3d database(OFDB).
parameters:
- $ref: '#/components/parameters/databaseLocationPathParam'
- $ref: '#/components/parameters/datePathParam'
- $ref: '#/components/parameters/symbolPathParam'
- $ref: '#/components/parameters/idPathParam'
responses:
'200':
$ref: '#/components/responses/202LongRunningResponse'
'204':
$ref: '#/components/responses/204Response'
'400':
$ref: '#/components/responses/400Response'
'403':
$ref: '#/components/responses/403Response'
'404':
$ref: '#/components/responses/404Response'
'406':
$ref: '#/components/responses/406Response'
'429':
$ref: '#/components/responses/429Response'
'500':
$ref: '#/components/responses/500Response'
'503':
$ref: '#/components/responses/503Response'
/database/{path}:
get:
operationId: getData
tags:
- Database
description: >
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/ofdb-openapi-original.yml