openapi: 3.0.0
info:
title: FactSet Options API
version: 1.0.0
description: >
The Option Prices database provides pricing data such as mid bid-ask price,
reference data (e.g., strike price), and risk measures (e.g., Greeks and
implied volatility). Visit [Options Overview OA Page #
14925](https://my.apps.factset.com/oa/pages/14925) for details on database
coverage. U.S. exchange-traded option bid and ask quotes are continuously
updated throughout the day even when no trades have occurred on the option
(zero volume). The end-of-day closing bid and ask quotes are always in line
with the underlying closing price.
**Note**
* Currently in Beta only **OPRA** exchanges are supported.
contact:
name: FactSet Research Systems
email: [email protected]
servers:
- url: https://api.factset.com/content
security:
- BasicAuth: []
tags:
- name: Factset Options
paths:
/factset-options/v1/chains:
post:
tags:
- Factset Options
summary: >-
Factset Returns all the underlying option identifiers for the specified underlying Security identifier
operationId: getOptionsChainsForList
description: >
Returns all the underlying option identifiers for the underlying
security identifier. Specify the date and or exhcange for the list of
options associated to the id.
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/chainsRequest'
description: Options Chains Request Object
responses:
'200':
description: Options Chain Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/chainsResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/option-screening:
post:
tags:
- Factset Options
summary: >-
Factset Returns all the option identifiers based on the conditions provided as input in the request
description: >
Returns all the option identifiers based on the conditions provided as
input in the request. Conditions are as follows and will follow "AND"
logic if more than one condition is applied and allows up to **three
conditions** using AND Logic.If a condition is used the accompanying
value MUST be used -
|conditions|description|
|||
|P_OPT_UNDERLYING_SECURITY_E|Underlying Security Equal To|
|P_OPT_STRIKE_PRICE_E|Strike Price Equal To|
|P_OPT_EXP_DATEN_E|Expiration Date (YYYYMMDD) Equal To|
|P_OPT_VOLUME_G|Volume Greater Than|
|P_OPT_VOLUME_GE|Volume Greater Than or Equal To|
|P_OPT_VOLUME_L|Volume Less Than|
|P_OPT_VOLUME_LE|Volume Less Than or Equal To|
|P_OPT_VOLUME_E|Volume Equal To|
|P_OPT_OPTION_TYPE_E|Option Type (1= Equity, 2=Index)|
|P_OPT_CALL_OR_PUT_E|Call or Put (0=Call, 1=Put)|
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
operationId: getOptionsScreeningForList
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/optionScreeningRequest'
description: >
Option Screening Request. Example request asks for Put Options where
Underlying Security is AAPL and Volume is greater than 0 as of
2021-03-31.
responses:
'200':
description: Option Screening Response
content:
application/json:
schema:
$ref: '#/components/schemas/optionScreeningResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/snapshot:
post:
tags:
- Factset Options
summary: >-
Factset Returns all the profile information for the list of identifiers as of a specific date
operationId: getOptionsSnapshotForList
description: >
Returns all the profile information for the list of identifiers for a
specific date. The data includes -
* Expiration Date
* Greek - Delta
* Implied Volatility
* Price
* Style
* Type
* Underlying Security
* Underlying Security Price
* Open Interest
* Name
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/snapshotRequest'
description: Snapshot Request Object
responses:
'200':
description: Snapshot Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/snapshotResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/references:
post:
tags:
- Factset Options
summary: >-
Factset Returns basic reference details for the options such as currency, exchange, symbols, flags and more
description: >
Returns basic reference details for the options. Data items include -
* Name
* Exchange
* Call or Put Flag
* Call or Put Pair Symbol
* Other symbols such as OPRA17 and OCC21
* Currency
* Underlying Security Symbols
* Expiration Month, Dates, and Frequency
*For details or definitions of all available response fields visit the
associated schema.*
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
operationId: getOptionsReferencesForList
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/optionsReferencesRequest'
description: Options Reference Request Body
responses:
'200':
description: Options Reference Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/optionsReferencesResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/dates:
post:
tags:
- Factset Options
summary: Factset Returns option security dates such as expiration and trade.
description: >
Returns all relevant dates such as for the specified Option identifier.
Data Items include -
* Expiration Date
* First Dates for Ask, Bid, Settlement, and Trade
* Last Dates for Ask, Bid, Settlement, and Trade
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
operationId: getOptionsDatesForList
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/optionsDatesRequest'
responses:
'200':
description: Options Dates Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/optionsDatesResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/prices:
post:
tags:
- Factset Options
summary: >-
Factset Returns the pricing related information for the specified option identifier
operationId: getOptionsPricesForList
description: >
Returns the pricing related information for the specified option
identifier. Items include -
* Ask
* Bid
* Mid
* Mid Bid Ask
* Settlement
* Last Price Type (Settlement or MidBidAsk)
* Last Price
* Strike Price
* Underlying Security Price
* 52 Week High/Low
* Open, High, Low for day. Note securities must be trading for day
requested.
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/optionsPricesRequest'
description: Options Prices Request Body
responses:
'200':
description: Options Prices Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/optionsPricesResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/underlying-volume:
post:
tags:
- Factset Options
summary: >-
Factset Returns the aggregate volume and open interest for the list of the options under the specified security identifier
operationId: getUnderlyingVolumeForList
description: >
Return the Volume and Open Interest details for list of the options for
the specified underlying security identifier. The data is aggregated for
all options contracts associated to the underlying id, or specified in
the request only the contracts listed on a specific exchange. Data
Includes -
* Put Call Ratio
* Total Put Volume & Open Interest
* Total Call Volume & Open Interest
* Total Put & Call Volume & Open Interest
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/underlyingVolumeRequest'
description: Underlying Volume Request Body
responses:
'200':
description: Underlying Volume and Open Interest Response
content:
application/json:
schema:
$ref: '#/components/schemas/underlyingVolumeResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/volume:
post:
tags:
- Factset Options
summary: Factset Returns the volume details for the specified option identifier
description: >
Returns the volume details for the specified option identifier for a
specified exchange. Data items include -
* Open Interest
* Volume
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
operationId: getOptionsVolumeForList
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/optionsVolumeRequest'
description: Volume Request Object
responses:
'200':
description: Volume Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/optionsVolumeResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/greeks:
post:
tags:
- Factset Options
summary: Factset Returns all the Greeks details for the specified option identifier
operationId: getOptionsGreeksForList
description: >
Returns all the greeks details for the specified option identifier.
Greeks provide quantifiable factors for measuring the option's price
sensativity. Greeks include -
|Greek|Description|
|||
|Delta| The ratio comparing the change in the price of the underlying
asset to the corresponding change in the price of a derivative.
Sometimes referred to as the "hedge ratio". For example, with respect to
call options, a delta of 0.7 means that for every $1 the underlying
stock increases, the call option will increase by $0.70. Put option
deltas, on the other hand, will be negative, because as the underlying
security increases, the value of the option will decrease. So a put
option with a delta of -0.7 will decrease by $0.70 for every $1 the
underlying increases in price. As an in-the-money call option nears
expiration, it will approach a delta of 1.00, and as an in-the-money put
option nears expiration, it will approach a delta of -1.00.|
|Gamma| The rate of change for delta with respect to the underlying
asset's price. Mathematically, gamma is the first derivative of delta
and is used when trying to gauge the price of an option relative to the
amount it is in or out of the money. When the option being measured is
deep in or out of the money, gamma is small. When the option is near the
money, gamma is largest.|
|Rho|The rate at which the price of a derivative changes relative to a
change in the risk-free rate of interest. Rho measures the sensitivity
of an option or options portfolio to a change in interest rate.|
|Theta|A measure of the rate of decline in the value of an option due to
the passage of time. Theta can also be referred to as the time decay on
the value of an option. If everything is held constant, then the option
will lose value as time moves closer to the maturity of the option. For
example, if the strike price of an option is $1,150 and theta is 53.80,
then in theory the value of the option will drop $53.80 per day. The
measure of theta quantifies the risk that time imposes on options as
options are only exercisable for a certain period of time.|
|Vega|The amount that the price of an option changes compared to a 1%
change in volatility. Vega changes when there are large price movements
in the underlying asset and vega falls as the option gets closer to
maturity. Vega can change even if there is no change in the price of the
underlying asset, this would happen if there is a change in expected
volatility. For example, if the vega of an option is -96.94 and if
implied volatility were to rise by 1% then the option value would fall
by $96.94.|
Note
* Each step in the binomial model represents a change in time, therefore, point estimates of the Greeks can be calculated for American options. The following can be used to calculate the Greeks for the Binomial Option Pricing Model (BOPM) pricing model, using the notation fstep,node so f1,1 represents the option price at the first step, top node (nodes are counted at each step starting with 0 at the bottom. See [Constructing the Tree](https://my.apps.factset.com/oa/pages/17735#tree) for more information).
For more detials on calculation methodologies, visit [OA
14933](https://my.apps.factset.com/oa/pages/14933).
*Currently only OPRA Exchange is supported with exchange ISO "USA"*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/greeksRequest'
description: Greeks Request Object
responses:
'200':
description: Options Greeks Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/greeksResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/implied-volatility:
post:
tags:
- Factset Options
summary: >-
Factset Returns the implied volatility information for the specified option identifier
description: >
Returns the Implied Volatility for the specified option across European
and American contracts. For more details regarding Implied Volatility
calculations visit - [OA
14932](https://my.apps.factset.com/oa/pages/14932)
*Currently the following exchanges are not supported for API use cases -
CME, CMEE, CBT, CBTE, NYM, NYME*
operationId: getOptionsVolatilityForList
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/impliedVolatilityRequest'
description: Volatility Request Object
responses:
'200':
description: Volatility Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/impliedVolatilityResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-options/v1/atm-implied-volatility:
post:
tags:
- Factset Options
summary: >-
Factset Returns the at-the-money (ATM) implied volatility details for the specified underlying security identifier
operationId: getOptionsATMImpliedVolatilityForList
description: >
Returns weighted average of the implied volatilities from the options
listed for a specified security identifier.
There are three different methods available for calculating at-the-money
implied volatility (ATM IV), which gives a weighted average of the
implied volatilities from the options listed on a given stock. They are
ATM IV (Filtered), ATM IV (Filtered with Smoothing), and ATM IV
(Market). Each of these ATM IV calculations is available for just the
calls on a given stock, just the puts, or the composite of both the
calls and puts.
This at-the-money implied volatility market can calculated for different
periods -
* One Month
* Two Months
* Three Months
* Four Months
* Five Months
* Six Months
*For more details regarding ATM Volatility calculations, visit [OA
16276](https://my.apps.factset.com/oa/pages/16276)*
*Currently only OPRA Exchange traded options are supported*
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/atmImpliedVolatilityRequest'
responses:
'200':
description: ATM Implied Volatility Response Object
content:
application/json:
schema:
$ref: '#/components/schemas/atmImpliedVolatilityResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
components:
schemas:
chainsRequest:
title: chainsRequest
type: object
properties:
ids:
$ref: '#/components/schemas/underlyingIds'
date:
$ref: '#/components/schemas/chainsDate'
idType:
$ref: '#/components/schemas/idType'
exchange:
$ref: '#/components/schemas/exchange'
required:
- ids
chainsResponse:
title: chainsResponse
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/chains'
chains:
title: chains
type: object
properties:
fsymId:
description: >-
FactSet's Security Permanent Identifier in XXXXXX-S format for the
underlying security requested.
type: string
example: WWDPYB-S
x-fds-fql-formula: FSYM_SECURITY_PERM_ID
nullable: true
optionId:
description: The option id, in the format requested via `idType` parameter.
type: string
example: TSLA.US#C00LP
x-fds-fql-formula: P_OPT_SYMBOL
nullable: true
idType:
description: >-
The type of id requested in the query. This is a straight
pass-through value.
type: string
example: FOS
x-fds-fql-formula: NOT APPLICABLE - PASSTHROUGH
nullable: true
date:
description: The date the data is as of in YYYY-MM-DD format.
type: string
format: date
example: '2021-05-07'
x-fds-fql-formula: P_DATE
nullable: true
requestId:
description: The inputed value for the id parameter.
type: string
example: TSLA
optionScreeningRequest:
title: optionScreeningRequest
type: object
description: >
Options Screening Request allowing for up to three Conditions using AND
Logic.
|conditions|description|
|||
|P_OPT_UNDERLYING_SECURITY_E|Underlying Security Equal To|
|P_OPT_STRIKE_PRICE_E|Strike Price Equal To|
|P_OPT_EXP_DATEN_E|Expiration Date (YYYYMMDD) Equal To|
|P_OPT_VOLUME_G|Volume Greater Than|
|P_OPT_VOLUME_GE|Volume Greater Than or Equal To|
|P_OPT_VOLUME_L|Volume Less Than|
|P_OPT_VOLUME_LE|Volume Less Than or Equal To|
|P_OPT_VOLUME_E|Volume Equal To|
|P_OPT_OPTION_TYPE_E|Option Type (1= Equity, 2=Index)|
|P_OPT_CALL_OR_PUT_E|Call or Put (0=Call, 1=Put)|
required:
- ids
- conditionOne
- conditionOneValue
properties:
ids:
$ref: '#/components/schemas/exchangeScreeningId'
conditionOne:
description: The primary condition.
type: string
example: P_OPT_UNDERLYING_SECURITY_E
enum:
- P_OPT_UNDERLYING_SECURITY_E
- P_OPT_STRIKE_PRICE_E
- P_OPT_EXP_DATEN_E
- P_OPT_VOLUME_G
- P_OPT_VOLUME_GE
- P_OPT_VOLUME_L
- P_OPT_VOLUME_LE
- P_OPT_VOLUME_E
- P_OPT_OPTION_TYPE_E
- P_OPT_CALL_OR_PUT_E
conditionOneValue:
type: string
example: AAPL
conditionTwo:
type: string
example: P_OPT_CALL_OR_PUT_E
enum:
- P_OPT_UNDERLYING_SECURITY_E
- P_OPT_STRIKE_PRICE_E
- P_OPT_EXP_DATEN_E
- P_OPT_VOLUME_G
- P_OPT_VOLUME_GE
- P_OPT_VOLUME_L
- P_OPT_VOLUME_LE
- P_OPT_VOLUME_E
- P_OPT_OPTION_TYPE_E
- P_OPT_CALL_OR_PUT_E
conditionTwoValue:
type: string
example: '1'
conditionThree:
type: string
enum:
- P_OPT_UNDERLYING_SECURITY_E
- P_OPT_STRIKE_PRICE_E
- P_OPT_EXP_DATEN_E
- P_OPT_VOLUME_G
- P_OPT_VOLUME_GE
- P_OPT_VOLUME_L
- P_OPT_VOLUME_LE
- P_OPT_VOLUME_E
- P_OPT_OPTION_TYPE_E
- P_OPT_CALL_OR_PUT_E
example: P_OPT_VOLUME_G
conditionThreeValue:
type: string
example: '0'
date:
type: string
example: '2021-03-31'
optionScreeningResponse:
title: optionScreeningResponse
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/optionScreening'
optionScreening:
title: optionScreening
type: object
properties:
optionId:
type: string
description: The option identifier
example: AAPL.US#C0185
x-fds-fql-formula: P_OPT_SCREENING
nullable: true
description: Option Screening response fields
snapshotRequest:
title: snapshotRequest
type: object
properties:
ids:
$ref: '#/components/schemas/optionIds'
date:
$ref: '#/components/schemas/chainsDate'
currency:
$ref: '#/components/schemas/currency'
calendar:
$ref: '#/components/schemas/calendar'
required:
- ids
snapshotResponse:
title: snapshotResponse
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/snapshot'
snapshot:
title: snapshot
type: object
description: Snapshot Response fields
properties:
fsymId:
description: >-
FactSet's Option Symbol. For more detail, visit [OA
12636](https://my.apps.factset.com/oa/pages/12636#options)
type: string
example: TSLA.US#CD33M-USA
x-fds-fql-formula: P_OPT_SYMBOL
nullable: true
date:
description: The date the data is as of in YYYY-MM-DD
type: string
format: date
example: '2021-04-13'
x-fds-fql-formula: P_DATE
nullable: true
delta:
description: >
The ratio comparing the change in the price of the underlying asset
to the corresponding change in the price of a derivative. Sometimes
referred to as the "hedge ratio". For example, with respect to call
options, a delta of 0.7 means that for every $1 the underlying stock
increases, the call option will increase by $0.70. Put option
deltas, on the other hand, will be negative, because as the
underlying security increases, the value of the option will
decrease. So a put option with a delta of -0.7 will decrease by
$0.70 for every $1 the underlying increases in price. As an
in-the-money call option nears expiration, it will approach a delta
of 1.00, and as an in-the-money put option nears expiration, it will
approach a delta of -1.00.
type: number
format: double
example: 0.77158491
x-fds-fql-formula: P_OPT_DELTA
nullable: true
expirationDate:
description: The expiration date of the option contract in YYYY-MM-DD format
type: string
format: date
example: '2021-12-17'
x-fds-fql-formula: P_OPT_EXP_DATEN
nullable: true
impliedVolatility:
description: >
The implied volatility for the option identifier. Visit [OA
14932](https://my.apps.factset.com/oa/pages/14932)
type: number
format: double
example: 66.226879
x-fds-fql-formula: P_OPT_IMPV
nullable: true
name:
description: The name of the option security.
type: string
example: Tesla Inc Call DEC21 590.00
x-fds-fql-formula: P_OPT_SECURITY_NAME
nullable: true
openInterest:
description: >-
The total number of options and/or futures contracts that are not
closed or delivered on a particular day.
type: integer
example: 92
x-fds-fql-formula: P_OPT_OPEN_INTEREST
nullable: true
price:
description: >
The calculated price quote, based on the calculated status. For US
Options - Returns "Ask Price" if calc status==20, otherwise returns
"Mid Bid/Ask Price". For International Options - Returns "Settlement
Price".
type: number
format: double
example: 247.425
x-fds-fql-formula: P_OPT_CALC_QUOTE
nullable: true
requestId:
description: The input value for the id parameter.
type: string
example: TSLA.US#CD33M-USA
style:
description: >
Returns the style of the option id requested, where -
|style|description|
|||
|0|American|
|1|European|
An American style option can be exercised anytime during its life.
The majority of exchange-traded options are American.
Since investors have the freedom to exercise their American options
at any point during the life of the contract, they are more valuable
than European options which can only be exercised at maturity.
Consider this example- If you bought a Ford March Call option
expiring in March of 2006, in March 2005 you would have the right to
exercise the call option at anytime up until its expiration date.
Had the Ford option been a European option, you could only exercise
the option at the expiry date in March 2006. During the year, the
share price could have been most optimal for exercise in December of
2005, but you would have to wait to exercise your option until March
2006, where it could be out of the money and virtually worthless.
The name of this option style has nothing to do with the geographic
location.
type: integer
example: 0
x-fds-fql-formula: P_OPT_STYLE
nullable: true
type:
description: |
The option type code, where
|code|description|
|||
|0|Equity Option|
|2|Index Option|
|99|Option on an ETF|
|60|Option on a Future|
|19|Option on a Spot FX Rate|
type: integer
example: 1
x-fds-fql-formula: P_OPT_OPTION_TYPE
nullable: true
underlyingFsymSecurityId:
description: >
The Symbol of the security that must be delivered when a derivative
contract, such as a put or call option, is exercised. This is
represented in FactSet's Permanent Security Identifier format
(XXXXXX-S).
type: string
example: WWDPYB-S
x-fds-fql-formula: P_OPT_UNDERLYING_SECURITY
nullable: true
underlyingPrice:
description: |
The price of the underyling security as of the date requested.
type: number
format: double
example: 762.32
x-fds-fql-formula: P_OPT_UNDERLYING_PRICE
nullable: true
optionsReferencesRequest:
type: object
properties:
ids:
$ref: '#/components/schemas/optionIds'
required:
-
# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/options-openapi-original.yml