{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "email": "api@factset.com",
      "name": "FactSet Research Systems"
    },
    "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.\n\n**Note**\n* Currently in Beta only **OPRA** exchanges are supported.\n",
    "title": "FactSet Options API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.factset.com/content"
    }
  ],
  "security": [
    {
      "FactSetApiKey": []
    },
    {
      "FactSetOAuth2": []
    }
  ],
  "tags": [
    {
      "description": "Generate a list or universe of options ids based on underlying securities or other conditions",
      "name": "Option Chains & Screening"
    },
    {
      "description": "A generic profile for a list of option securities as of a specific date",
      "name": "Snapshot"
    },
    {
      "description": "Option Reference Information and Dates",
      "name": "Reference"
    },
    {
      "description": "Option Prices & Volume information for a requested time-range for the option security or aggregated for all options associated to the underlying security",
      "name": "Prices & Volume"
    },
    {
      "description": "Option Risk measures such as Greeks, Implied Volatilities, and Calculators",
      "name": "Risk Measures"
    }
  ],
  "paths": {
    "/factset-options/v1/chains": {
      "post": {
        "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. \n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsChainsForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/chainsRequest"
              }
            }
          },
          "description": "Options Chains Request Object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/chainsResponse"
                }
              }
            },
            "description": "Options Chain Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns all the underlying option identifiers for the specified underlying Security identifier",
        "tags": [
          "Option Chains & Screening"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/option-screening": {
      "post": {
        "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 - \n|conditions|description|\n|---|---|\n|P_OPT_UNDERLYING_SECURITY_E|Underlying Security Equal To|\n|P_OPT_STRIKE_PRICE_E|Strike Price Equal To|\n|P_OPT_EXP_DATEN_E|Expiration Date (YYYYMMDD) Equal To|\n|P_OPT_VOLUME_G|Volume Greater Than|\n|P_OPT_VOLUME_GE|Volume Greater Than or Equal To|\n|P_OPT_VOLUME_L|Volume Less Than|\n|P_OPT_VOLUME_LE|Volume Less Than or Equal To|\n|P_OPT_VOLUME_E|Volume Equal To|\n|P_OPT_OPTION_TYPE_E|Option Type (1= Equity, 2=Index)|\n|P_OPT_CALL_OR_PUT_E|Call or Put (0=Call, 1=Put)|\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsScreeningForList",
        "requestBody": {
          "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. \n",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/optionScreeningResponse"
                }
              }
            },
            "description": "Option Screening Response"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns all the option identifiers based on the conditions provided as input in the request",
        "tags": [
          "Option Chains & Screening"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/snapshot": {
      "post": {
        "description": "Returns all the profile information for the list of identifiers for a specific date. The data includes - \n* Expiration Date\n* Greek - Delta\n* Implied Volatility\n* Price \n* Style\n* Type\n* Underlying Security\n* Underlying Security Price\n* Open Interest\n* Name\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsSnapshotForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/snapshotRequest"
              }
            }
          },
          "description": "Snapshot Request Object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/snapshotResponse"
                }
              }
            },
            "description": "Snapshot Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns all the profile information for the list of identifiers as of a specific date",
        "tags": [
          "Snapshot"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/references": {
      "post": {
        "description": "Returns basic reference details for the options. Data items include - \n* Name\n* Exchange\n* Call or Put Flag\n* Call or Put Pair Symbol\n* Other symbols such as OPRA17 and OCC21\n* Currency\n* Underlying Security Symbols\n* Expiration Month, Dates, and Frequency\n\n*For details or definitions of all available response fields visit the associated schema.*\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsReferencesForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/optionsReferencesRequest"
              }
            }
          },
          "description": "Options Reference Request Body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/optionsReferencesResponse"
                }
              }
            },
            "description": "Options Reference Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns basic reference details for the options such as currency, exchange, symbols, flags and more",
        "tags": [
          "Reference"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/dates": {
      "post": {
        "description": "Returns all relevant dates such as  for the specified Option identifier. Data Items include - \n* Expiration Date\n* First Dates for Ask, Bid, Settlement, and Trade\n* Last Dates for Ask, Bid, Settlement, and Trade\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsDatesForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/optionsDatesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/optionsDatesResponse"
                }
              }
            },
            "description": "Options Dates Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns option security dates such as expiration and trade.",
        "tags": [
          "Reference"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/prices": {
      "post": {
        "description": "Returns the pricing related information for the specified option identifier. Items include - \n* Ask\n* Bid\n* Mid\n* Mid Bid Ask\n* Settlement\n* Last Price Type (Settlement or MidBidAsk)\n* Last Price\n* Strike Price\n* Underlying Security Price\n* 52 Week High/Low\n* Open, High, Low for day. Note securities must be trading for day requested.\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsPricesForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/optionsPricesRequest"
              }
            }
          },
          "description": "Options Prices Request Body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/optionsPricesResponse"
                }
              }
            },
            "description": "Options Prices Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns the pricing related information for the specified option identifier",
        "tags": [
          "Prices & Volume"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/underlying-volume": {
      "post": {
        "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 - \n* Put Call Ratio \n* Total Put Volume & Open Interest\n* Total Call Volume & Open Interest\n* Total Put & Call Volume & Open Interest\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getUnderlyingVolumeForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/underlyingVolumeRequest"
              }
            }
          },
          "description": "Underlying Volume Request Body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/underlyingVolumeResponse"
                }
              }
            },
            "description": "Underlying Volume and Open Interest Response"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns the aggregate volume and open interest for the list of the options under the specified security identifier",
        "tags": [
          "Prices & Volume"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/volume": {
      "post": {
        "description": "Returns the volume details for the specified option identifier for a specified exchange. Data items include - \n* Open Interest\n* Volume\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsVolumeForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/optionsVolumeRequest"
              }
            }
          },
          "description": "Volume Request Object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/optionsVolumeResponse"
                }
              }
            },
            "description": "Volume Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns the volume details for the specified option identifier",
        "tags": [
          "Prices & Volume"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/greeks": {
      "post": {
        "description": "Returns all the greeks details for the specified option identifier. Greeks provide quantifiable factors for measuring the option's price sensativity. Greeks include -\n\n|Greek|Description|\n|---|---|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n\nNote\n  * 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).\n  \nFor more detials on calculation methodologies, visit [OA 14933](https://my.apps.factset.com/oa/pages/14933). \n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "operationId": "getOptionsGreeksForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/greeksRequest"
              }
            }
          },
          "description": "Greeks Request Object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/greeksResponse"
                }
              }
            },
            "description": "Options Greeks Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns all the Greeks details for the specified option identifier",
        "tags": [
          "Risk Measures"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/implied-volatility": {
      "post": {
        "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)\n\n*Currently the following exchanges are not supported for API use cases - CME, CMEE, CBT, CBTE, NYM, NYME*\n",
        "operationId": "getOptionsVolatilityForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/impliedVolatilityRequest"
              }
            }
          },
          "description": "Volatility Request Object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/impliedVolatilityResponse"
                }
              }
            },
            "description": "Volatility Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns the implied volatility information for the specified option identifier",
        "tags": [
          "Risk Measures"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/factset-options/v1/atm-implied-volatility": {
      "post": {
        "description": "Returns weighted average of the implied volatilities from the options listed for a specified security identifier. \n\nThere 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.\nThis at-the-money implied volatility market can calculated for different periods -\n* One Month\n* Two Months\n* Three Months\n* Four Months\n* Five Months\n* Six Months\n\n*For more details regarding ATM Volatility calculations, visit [OA 16276](https://my.apps.factset.com/oa/pages/16276)*\n\n  *Currently only OPRA Exchange traded options are supported*\n",
        "operationId": "getOptionsATMImpliedVolatilityForList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/atmImpliedVolatilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/atmImpliedVolatilityResponse"
                }
              }
            },
            "description": "ATM Implied Volatility Response Object"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/badRequestDateFormat"
                  },
                  "Bad Request - Missing Required Parameter": {
                    "$ref": "#/components/examples/badRequestRequiredParameter"
                  },
                  "Bad Request - Future Date": {
                    "$ref": "#/components/examples/badRequestFutureDate"
                  },
                  "Bad Request - Invalid Parameter": {
                    "$ref": "#/components/examples/badRequestInvalidParameters"
                  },
                  "Bad Request - Malformed JSON": {
                    "$ref": "#/components/examples/badRequestMalformedJSON"
                  },
                  "Bad Request - Read Timeout": {
                    "$ref": "#/components/examples/badRequestReadTimeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unauthenticated"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/forbidden"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
          },
          "415": {
            "content": {
              "application/json": {
                "examples": {
                  "Bad Request - Date Format": {
                    "$ref": "#/components/examples/unsupportedMediaType"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "Internal Server Error - Not Writable": {
                    "$ref": "#/components/examples/notWritable"
                  },
                  "Internal Server Error - General Exception": {
                    "$ref": "#/components/examples/generalException"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errorResponse"
                }
              }
            },
            "description": "Internal Server Error."
          }
        },
        "summary": "Returns the at-the-money (ATM) implied volatility details for the specified underlying security identifier",
        "tags": [
          "Risk Measures"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    }
  },
  "components": {
    "examples": {
      "badRequestDateFormat": {
        "description": "This bad request occurs when a request does not use the YYYY-MM-DD in the date parameters. To resolve, convert your date to YYYY-MM-DD.",
        "summary": "Bad Request - Date Format",
        "value": {
          "status": "Bad Request",
          "timestamp": "2019-10-31T16:08:07.945Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "The date parameter 'startDate' must be in the following date format: YYYY-MM-DD",
          "subErrors": null
        }
      },
      "badRequestRequiredParameter": {
        "description": "This error message occurs when the request does not include the required parameters. Required parameters are indicated with a red asterisks symbol in the specification file.",
        "summary": "Bad Request - Required Parameter Missing",
        "value": {
          "status": "Bad Request",
          "timestamp": "2020-06-12T15:48:42.016Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "The parameter 'ids' is required and may not be empty.",
          "subErrors": null
        }
      },
      "badRequestFutureDate": {
        "description": "This error message occurs when a future date is requested in the startDate and endDate parameters. Please revise your request to include dates as of today's current date or any prior historical date.",
        "summary": "Bad Request - Future Date",
        "value": {
          "status": "Bad Request",
          "timestamp": "2020-06-12T15:52:48.091Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "The use of future dates is not applicable in this endpoint. Please revise your request to include dates up to today's current date.",
          "subErrors": null
        }
      },
      "badRequestInvalidParameters": {
        "description": "This error message occurs when a request parameter is used in which is not recognized by the service. Please revise your request to include only the parameters listed in the specification. Typical causes are spelling mistakes and use of improper casing.",
        "summary": "Bad Request - Invalid Parameters",
        "value": {
          "status": "Bad Request",
          "timestamp": "2020-06-12T15:58:54.068Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "Invalid Parameter (s): fakeParameterName1 fakeParameterName2. Please modify your request to use parameters outlined in the specification for this endpoint.",
          "subErrors": null
        }
      },
      "badRequestMalformedJSON": {
        "description": "This error may be returned when the request body is specified as JSON, but is not in proper JSON format.",
        "summary": "Bad Request - Malformed JSON Request",
        "value": {
          "status": "Bad Request",
          "timestamp": "2019-11-05T09:48:29.180Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "Malformed JSON Request",
          "subErrors": null
        }
      },
      "badRequestReadTimeout": {
        "description": "This error may be returned if it takes more than 29 seconds to hear back from the data fetch service.",
        "summary": "Bad Request - Read Timeout",
        "value": {
          "status": "Bad Request",
          "timestamp": "2019-11-04T16:18:38.949Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "The request took too long. Try again with a smaller request.",
          "subErrors": null
        }
      },
      "unauthenticated": {
        "description": "This occurs when a user is not properly authenticated or recognized by the service. Please double check the USERNAME-SERIAL and API-Key used to request and ensure you are within the IP range specified for the Key. Report Issue under 401 error for help with troubleshooting.",
        "summary": "User Authentication Failed",
        "value": {
          "status": "User Authentication Failed",
          "timestamp": "2019-10-31T16:08:07.945Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "User Authentication Failed.",
          "subErrors": null
        }
      },
      "forbidden": {
        "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization.",
        "summary": "Forbidden",
        "value": {
          "status": "Forbidden",
          "timestamp": "2020-06-12T16:08:51.731Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "USERNAME-SERIAL does not have permission to use /factset-funds /v1/{endpoint}",
          "subErrors": null
        }
      },
      "unsupportedMediaType": {
        "description": "This bad request occurs when the media type passed in the request is not supported. Currently the APIs only support 'application/json'.",
        "summary": "Unsupported Media Type",
        "value": {
          "status": "Unsupported Media Type",
          "timestamp": "2019-11-05T09:42:27.237Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "text/html media type is not supported. Supported media types are application/json",
          "subErrors": null
        }
      },
      "notWritable": {
        "description": "This error may be returned when the server encounters an error writing the JSON response.",
        "summary": "Internal Server Error - Not Writable",
        "value": {
          "status": "Internal Server Error",
          "timestamp": "2019-11-05T09:48:29.180Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "Error writing JSON output",
          "subErrors": null
        }
      },
      "generalException": {
        "description": "This is the most general error that can be returned to by the service. Please `Report Issue` to FactSet.",
        "summary": "Internal Server Error - General Exception",
        "value": {
          "status": "Internal Server Error",
          "timestamp": "2019-11-01T10:36:01.944Z",
          "path": "/factset-options/v1/{endpoint}",
          "message": "Unexpected error",
          "subErrors": null
        }
      }
    },
    "responses": {
      "400": {
        "content": {
          "application/json": {
            "examples": {
              "Bad Request - Date Format": {
                "$ref": "#/components/examples/badRequestDateFormat"
              },
              "Bad Request - Missing Required Parameter": {
                "$ref": "#/components/examples/badRequestRequiredParameter"
              },
              "Bad Request - Future Date": {
                "$ref": "#/components/examples/badRequestFutureDate"
              },
              "Bad Request - Invalid Parameter": {
                "$ref": "#/components/examples/badRequestInvalidParameters"
              },
              "Bad Request - Malformed JSON": {
                "$ref": "#/components/examples/badRequestMalformedJSON"
              },
              "Bad Request - Read Timeout": {
                "$ref": "#/components/examples/badRequestReadTimeout"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/errorResponse"
            }
          }
        },
        "description": "Bad Request. This can occur for several reasons. Please review the \"message\" for more details."
      },
      "401": {
        "content": {
          "application/json": {
            "examples": {
              "Bad Request - Date Format": {
                "$ref": "#/components/examples/unauthenticated"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/errorResponse"
            }
          }
        },
        "description": "Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses."
      },
      "403": {
        "content": {
          "application/json": {
            "examples": {
              "Bad Request - Date Format": {
                "$ref": "#/components/examples/forbidden"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/errorResponse"
            }
          }
        },
        "description": "The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization."
      },
      "415": {
        "content": {
          "application/json": {
            "examples": {
              "Bad Request - Date Format": {
                "$ref": "#/components/examples/unsupportedMediaType"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/errorResponse"
            }
          }
        },
        "description": "Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, \"application/json\" would be the appropriate value."
      },
      "500": {
        "content": {
          "application/json": {
            "examples": {
              "Internal Server Error - Not Writable": {
                "$ref": "#/components/examples/notWritable"
              },
              "Internal Server Error - General Exception": {
                "$ref": "#/components/examples/generalException"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/errorResponse"
            }
          }
        },
        "description": "Internal Server Error."
      }
    },
    "schemas": {
      "chainsRequest": {
        "properties": {
          "ids": {
            "description": "Underlying Security Identifier of which can be used to return respective options chain. Only **one** security id is permitted per request. \n",
            "example": [
              "TSLA-US"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "title": "underlyingIds",
            "type": "array"
          },
          "date": {
            "description": "The as of date for the option chain in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "chainsDate",
            "type": "string"
          },
          "idType": {
            "$ref": "#/components/schemas/idType"
          },
          "exchange": {
            "$ref": "#/components/schemas/exchange"
          }
        },
        "required": [
          "ids"
        ],
        "title": "chainsRequest",
        "type": "object"
      },
      "chainsResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "idType": "FOS",
              "requestId": "TSLA",
              "fsymId": "WWDPYB-S",
              "optionId": "TSLA.US#C00LP"
            },
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "idType": "FOS",
              "requestId": "TSLA",
              "fsymId": "WWDPYB-S",
              "optionId": "TSLA.US#C00LP"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/chains"
            },
            "type": "array"
          }
        },
        "title": "chainsResponse",
        "type": "object"
      },
      "chains": {
        "example": {
          "date": "2021-05-07T00:00:00.000+0000",
          "idType": "FOS",
          "requestId": "TSLA",
          "fsymId": "WWDPYB-S",
          "optionId": "TSLA.US#C00LP"
        },
        "properties": {
          "fsymId": {
            "description": "FactSet's Security Permanent Identifier in XXXXXX-S format for the underlying security requested.",
            "example": "WWDPYB-S",
            "nullable": true,
            "type": "string"
          },
          "optionId": {
            "description": "The option id, in the format requested via `idType` parameter.",
            "example": "TSLA.US#C00LP",
            "nullable": true,
            "type": "string"
          },
          "idType": {
            "description": "The type of id requested in the query. This is a straight pass-through value.",
            "example": "FOS",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD format.",
            "example": "2021-05-07T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "description": "The inputed value for the id parameter.",
            "example": "TSLA",
            "type": "string"
          }
        },
        "title": "chains",
        "type": "object"
      },
      "optionScreeningRequest": {
        "description": "Options Screening Request allowing for up to three Conditions using AND Logic.\n|conditions|description|\n|---|---|\n|P_OPT_UNDERLYING_SECURITY_E|Underlying Security Equal To|\n|P_OPT_STRIKE_PRICE_E|Strike Price Equal To|\n|P_OPT_EXP_DATEN_E|Expiration Date (YYYYMMDD) Equal To|\n|P_OPT_VOLUME_G|Volume Greater Than|\n|P_OPT_VOLUME_GE|Volume Greater Than or Equal To|\n|P_OPT_VOLUME_L|Volume Less Than|\n|P_OPT_VOLUME_LE|Volume Less Than or Equal To|\n|P_OPT_VOLUME_E|Volume Equal To|\n|P_OPT_OPTION_TYPE_E|Option Type (1= Equity, 2=Index)|\n|P_OPT_CALL_OR_PUT_E|Call or Put (0=Call, 1=Put)|\n",
        "properties": {
          "ids": {
            "$ref": "#/components/schemas/exchangeScreeningId"
          },
          "conditionOne": {
            "description": "The primary condition.",
            "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_UNDERLYING_SECURITY_E",
            "type": "string"
          },
          "conditionOneValue": {
            "example": "AAPL",
            "type": "string"
          },
          "conditionTwo": {
            "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_CALL_OR_PUT_E",
            "type": "string"
          },
          "conditionTwoValue": {
            "example": "1",
            "type": "string"
          },
          "conditionThree": {
            "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",
            "type": "string"
          },
          "conditionThreeValue": {
            "example": "0",
            "type": "string"
          },
          "date": {
            "example": "2021-03-31T00:00:00.000Z",
            "type": "string"
          }
        },
        "required": [
          "conditionOne",
          "conditionOneValue",
          "ids"
        ],
        "title": "optionScreeningRequest",
        "type": "object"
      },
      "optionScreeningResponse": {
        "example": {
          "data": [
            {
              "optionId": "AAPL.US#C0185"
            },
            {
              "optionId": "AAPL.US#C0185"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/optionScreening"
            },
            "type": "array"
          }
        },
        "title": "optionScreeningResponse",
        "type": "object"
      },
      "optionScreening": {
        "description": "Option Screening response fields",
        "example": {
          "optionId": "AAPL.US#C0185"
        },
        "properties": {
          "optionId": {
            "description": "The option identifier",
            "example": "AAPL.US#C0185",
            "nullable": true,
            "type": "string"
          }
        },
        "title": "optionScreening",
        "type": "object"
      },
      "snapshotRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          },
          "date": {
            "description": "The as of date for the option chain in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "chainsDate",
            "type": "string"
          },
          "currency": {
            "description": "The ISO3 currency control for the requested option identifier. For a list of Currency ISOs, visit - [OA 1470](https://my.apps.factset.com/oa/pages/1470)\n",
            "example": "USD",
            "title": "currency",
            "type": "string"
          },
          "calendar": {
            "$ref": "#/components/schemas/calendar"
          }
        },
        "required": [
          "ids"
        ],
        "title": "snapshotRequest",
        "type": "object"
      },
      "snapshotResponse": {
        "example": {
          "data": [
            {
              "date": "2021-04-13T00:00:00.000+0000",
              "underlyingPrice": 762.32,
              "openInterest": 92,
              "underlyingFsymSecurityId": "WWDPYB-S",
              "fsymId": "TSLA.US#CD33M-USA",
              "delta": 0.77158491,
              "type": 1,
              "impliedVolatility": 66.226879,
              "price": 247.425,
              "requestId": "TSLA.US#CD33M-USA",
              "name": "Tesla Inc Call DEC21 590.00",
              "style": 0,
              "expirationDate": "2021-12-17T00:00:00.000+0000"
            },
            {
              "date": "2021-04-13T00:00:00.000+0000",
              "underlyingPrice": 762.32,
              "openInterest": 92,
              "underlyingFsymSecurityId": "WWDPYB-S",
              "fsymId": "TSLA.US#CD33M-USA",
              "delta": 0.77158491,
              "type": 1,
              "impliedVolatility": 66.226879,
              "price": 247.425,
              "requestId": "TSLA.US#CD33M-USA",
              "name": "Tesla Inc Call DEC21 590.00",
              "style": 0,
              "expirationDate": "2021-12-17T00:00:00.000+0000"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/snapshot"
            },
            "type": "array"
          }
        },
        "title": "snapshotResponse",
        "type": "object"
      },
      "snapshot": {
        "description": "Snapshot Response fields",
        "example": {
          "date": "2021-04-13T00:00:00.000+0000",
          "underlyingPrice": 762.32,
          "openInterest": 92,
          "underlyingFsymSecurityId": "WWDPYB-S",
          "fsymId": "TSLA.US#CD33M-USA",
          "delta": 0.77158491,
          "type": 1,
          "impliedVolatility": 66.226879,
          "price": 247.425,
          "requestId": "TSLA.US#CD33M-USA",
          "name": "Tesla Inc Call DEC21 590.00",
          "style": 0,
          "expirationDate": "2021-12-17T00:00:00.000+0000"
        },
        "properties": {
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#CD33M-USA",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD",
            "example": "2021-04-13T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "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.\n",
            "example": 0.77158491,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expirationDate": {
            "description": "The expiration date of the option contract in YYYY-MM-DD format",
            "example": "2021-12-17T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "impliedVolatility": {
            "description": "The implied volatility for the option identifier. Visit [OA 14932](https://my.apps.factset.com/oa/pages/14932)\n",
            "example": 66.226879,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "name": {
            "description": "The name of the option security.",
            "example": "Tesla Inc Call DEC21 590.00",
            "nullable": true,
            "type": "string"
          },
          "openInterest": {
            "description": "The total number of options and/or futures contracts that are not closed or delivered on a particular day.",
            "example": 92,
            "nullable": true,
            "type": "integer"
          },
          "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\".\n",
            "example": 247.425,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "requestId": {
            "description": "The input value for the id parameter.",
            "example": "TSLA.US#CD33M-USA",
            "type": "string"
          },
          "style": {
            "description": "Returns the style of the option id requested, where - \n\n|style|description|\n|---|---|\n|0|American|\n|1|European|\n\nAn American style option can be exercised anytime during its life. The majority of exchange-traded options are American. \n\nSince 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. \n\nConsider 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.\n",
            "example": 0,
            "nullable": true,
            "type": "integer"
          },
          "type": {
            "description": "The option type code, where \n|code|description|\n|---|---|\n|0|Equity Option|\n|2|Index Option|\n|99|Option on an ETF|\n|60|Option on a Future|\n|19|Option on a Spot FX Rate|\n",
            "example": 1,
            "nullable": true,
            "type": "integer"
          },
          "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).\n",
            "example": "WWDPYB-S",
            "nullable": true,
            "type": "string"
          },
          "underlyingPrice": {
            "description": "The price of the underyling security as of the date requested.\n",
            "example": 762.32,
            "format": "double",
            "nullable": true,
            "type": "number"
          }
        },
        "title": "snapshot",
        "type": "object"
      },
      "optionsReferencesRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          }
        },
        "required": [
          "ids"
        ],
        "type": "object"
      },
      "optionsReferencesResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "underlyingFsymSecurityId": "WWDPYB-S",
              "fsymId": "TSLA.US#C00LP",
              "opra17Symbol": "TSLA#I1721C190000",
              "expirationMonth": "SEP",
              "type": 1,
              "settlementMethod": "settlementMethod",
              "rootTicker": "TSLA",
              "adjustedFlag": "N",
              "lepoFlag": 0,
              "requestId": "TSLA.US#C00LP",
              "occ21Symbol": "TSLA#210917C00190000",
              "name": "Tesla Inc Call SEP21 190.00 (LEAPs)",
              "contractSize": 100,
              "currency": "USD",
              "exchange": "USA",
              "expirationFrequency": "LEAPS",
              "style": 0,
              "callPutFlag": 0,
              "callPutPairSymbol": "TSLA.US#PGGVL",
              "expirationDate": "2021-09-17T00:00:00.000+0000"
            },
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "underlyingFsymSecurityId": "WWDPYB-S",
              "fsymId": "TSLA.US#C00LP",
              "opra17Symbol": "TSLA#I1721C190000",
              "expirationMonth": "SEP",
              "type": 1,
              "settlementMethod": "settlementMethod",
              "rootTicker": "TSLA",
              "adjustedFlag": "N",
              "lepoFlag": 0,
              "requestId": "TSLA.US#C00LP",
              "occ21Symbol": "TSLA#210917C00190000",
              "name": "Tesla Inc Call SEP21 190.00 (LEAPs)",
              "contractSize": 100,
              "currency": "USD",
              "exchange": "USA",
              "expirationFrequency": "LEAPS",
              "style": 0,
              "callPutFlag": 0,
              "callPutPairSymbol": "TSLA.US#PGGVL",
              "expirationDate": "2021-09-17T00:00:00.000+0000"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/optionsReferences"
            },
            "type": "array"
          }
        },
        "title": "optionsReferencesResponse",
        "type": "object"
      },
      "optionsReferences": {
        "description": "Options Reference Response Fields",
        "example": {
          "date": "2021-05-07T00:00:00.000+0000",
          "underlyingFsymSecurityId": "WWDPYB-S",
          "fsymId": "TSLA.US#C00LP",
          "opra17Symbol": "TSLA#I1721C190000",
          "expirationMonth": "SEP",
          "type": 1,
          "settlementMethod": "settlementMethod",
          "rootTicker": "TSLA",
          "adjustedFlag": "N",
          "lepoFlag": 0,
          "requestId": "TSLA.US#C00LP",
          "occ21Symbol": "TSLA#210917C00190000",
          "name": "Tesla Inc Call SEP21 190.00 (LEAPs)",
          "contractSize": 100,
          "currency": "USD",
          "exchange": "USA",
          "expirationFrequency": "LEAPS",
          "style": 0,
          "callPutFlag": 0,
          "callPutPairSymbol": "TSLA.US#PGGVL",
          "expirationDate": "2021-09-17T00:00:00.000+0000"
        },
        "properties": {
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#C00LP",
            "nullable": true,
            "type": "string"
          },
          "adjustedFlag": {
            "description": "Indicates whether or not a given option contract is adjusted for corporate actions in Y/N format.",
            "example": "N",
            "nullable": true,
            "type": "string"
          },
          "callPutFlag": {
            "description": "Returns a 0 if the option is a call, returns a 1 if the option is a put.",
            "example": 0,
            "nullable": true,
            "type": "integer"
          },
          "callPutPairSymbol": {
            "description": "Returns the corresponding put symbol given a call symbol; and vice-versa.",
            "example": "TSLA.US#PGGVL",
            "nullable": true,
            "type": "string"
          },
          "contractSize": {
            "description": "The Option Contract Size",
            "example": 100,
            "nullable": true,
            "type": "integer"
          },
          "currency": {
            "description": "Option Currency in ISO3 format.",
            "example": "USD",
            "nullable": true,
            "type": "string"
          },
          "exchange": {
            "description": "Option Exchange ISO. Visit [OA 14925](https://my.apps.factset.com/oa/pages/14925) for a list of Exchange ISOs.",
            "example": "USA",
            "nullable": true,
            "type": "string"
          },
          "expirationDate": {
            "description": "The date on which an options contract is no longer valid and, therefore, ceases to exist, in YYYY-MM-DD format",
            "example": "2021-09-17T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "expirationFrequency": {
            "description": "Returns the corresponding expiration frequency for a given option symbol. If an option has more than four expiration months, then a Long-term Equity Anticipation Security (LEAPS) indicator will be returned.",
            "example": "LEAPS",
            "nullable": true,
            "type": "string"
          },
          "expirationMonth": {
            "description": "Option Expiration month in MMM format.",
            "example": "SEP",
            "nullable": true,
            "type": "string"
          },
          "lepoFlag": {
            "description": "Indicates whether or not a given options contract is a Low Exercise Price Option \"LEPO\" (0/1). This is unique to European Options (e.g. ASX exchange).",
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "Option Descriptive Security Name",
            "example": "Tesla Inc Call SEP21 190.00 (LEAPs)",
            "nullable": true,
            "type": "string"
          },
          "occ21Symbol": {
            "description": "Options Clearing Corporation OSI Series Key This option symbol has up to 21 alphanumeric characters (excluding -ISO and # sign) and uses the following syntax- (Underlying Symbol + # + Expiration Year + Expiration Month + Expiration Day + Call/Put Indicator + Five-Digit Strike Dollar + Three-Digit Strike Decimal + - + ISO)\n",
            "example": "TSLA#210917C00190000",
            "nullable": true,
            "type": "string"
          },
          "opra17Symbol": {
            "description": "Options Price Reporting Authority's OSI Series Key. This option symbol has up to 17 alphanumeric characters (excluding the -ISO and #) and uses the following syntax - (Underlying Symbol + # + Call/Put Expiration Month Code + Expiration Day + Expiration Year + Decimal Indicator + Strike Price + - + ISO)\n",
            "example": "TSLA#I1721C190000",
            "nullable": true,
            "type": "string"
          },
          "rootTicker": {
            "description": "The Root Ticker for the underlying security.",
            "example": "TSLA",
            "nullable": true,
            "type": "string"
          },
          "style": {
            "description": "Returns the style of the option id requested, where - \n\n|style|description|\n|---|---|\n|0|American|\n|1|European|\n\nAn American style option can be exercised anytime during its life. The majority of exchange-traded options are American.\n\nSince 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.\n\nConsider 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 '06. 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.\n\nNote that the name of this option style has nothing to do with the geographic location.\n",
            "example": 0,
            "nullable": true,
            "type": "integer"
          },
          "type": {
            "description": "The option type code, where \n|code|description|\n|---|---|\n|0|Equity Option|\n|2|Index Option|\n|99|Option on an ETF|\n|60|Option on a Future|\n|19|Option on a Spot FX Rate|\n",
            "example": 1,
            "nullable": true,
            "type": "integer"
          },
          "underlyingFsymSecurityId": {
            "description": "Underlying FactSet Security Permanent Identifier in XXXXXX-S format.",
            "example": "WWDPYB-S",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD format.",
            "example": "2021-05-07T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "settlementMethod": {
            "description": "The contract settlement method. Possible values are -\n|method|description|\n|---|---|\n|C|Cash|\n|P|Physical|\n|NA|Not Covered|\n",
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#C00LP",
            "type": "string"
          }
        },
        "title": "optionsReferences",
        "type": "object"
      },
      "optionsDatesRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          }
        },
        "required": [
          "ids"
        ],
        "title": "optionsDatesRequest",
        "type": "object"
      },
      "optionsDatesResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "firstAskDate": "2020-08-31T00:00:00.000+0000",
              "firstBidDate": "2020-08-31T00:00:00.000+0000",
              "lastSettlementDate": "2000-01-23T00:00:00.000Z",
              "firstSettlementDate": "2000-01-23T00:00:00.000Z",
              "firstTradeDate": "2020-09-01T00:00:00.000+0000",
              "requestId": "TSLA.US#C00LP",
              "fsymId": "TSLA.US#C00LP",
              "lastTradeDate": "2021-02-16T00:00:00.000+0000",
              "lastBidDate": "2021-05-05T00:00:00.000+0000",
              "lastAskDate": "2021-05-05T00:00:00.000+0000",
              "expirationDate": "2021-09-17T00:00:00.000+0000"
            },
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "firstAskDate": "2020-08-31T00:00:00.000+0000",
              "firstBidDate": "2020-08-31T00:00:00.000+0000",
              "lastSettlementDate": "2000-01-23T00:00:00.000Z",
              "firstSettlementDate": "2000-01-23T00:00:00.000Z",
              "firstTradeDate": "2020-09-01T00:00:00.000+0000",
              "requestId": "TSLA.US#C00LP",
              "fsymId": "TSLA.US#C00LP",
              "lastTradeDate": "2021-02-16T00:00:00.000+0000",
              "lastBidDate": "2021-05-05T00:00:00.000+0000",
              "lastAskDate": "2021-05-05T00:00:00.000+0000",
              "expirationDate": "2021-09-17T00:00:00.000+0000"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/optionsDates"
            },
            "type": "array"
          }
        },
        "title": "optionsDatesResponse",
        "type": "object"
      },
      "optionsDates": {
        "description": "Options Dates Response Fields",
        "example": {
          "date": "2021-05-07T00:00:00.000+0000",
          "firstAskDate": "2020-08-31T00:00:00.000+0000",
          "firstBidDate": "2020-08-31T00:00:00.000+0000",
          "lastSettlementDate": "2000-01-23T00:00:00.000Z",
          "firstSettlementDate": "2000-01-23T00:00:00.000Z",
          "firstTradeDate": "2020-09-01T00:00:00.000+0000",
          "requestId": "TSLA.US#C00LP",
          "fsymId": "TSLA.US#C00LP",
          "lastTradeDate": "2021-02-16T00:00:00.000+0000",
          "lastBidDate": "2021-05-05T00:00:00.000+0000",
          "lastAskDate": "2021-05-05T00:00:00.000+0000",
          "expirationDate": "2021-09-17T00:00:00.000+0000"
        },
        "properties": {
          "expirationDate": {
            "description": "The date on which an options contract is no longer valid and, therefore, ceases to exist in YYYY-MM-DD format.",
            "example": "2021-09-17T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "firstAskDate": {
            "description": "The date of first ask price for the option in YYYY-MM-DD format.",
            "example": "2020-08-31T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "firstBidDate": {
            "description": "The date of first bid price for the option in YYYY-MM-DD format.",
            "example": "2020-08-31T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "firstSettlementDate": {
            "description": "The date of first settlement price for the option in YYYY-MM-DD format.",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "firstTradeDate": {
            "description": "First Trading Date of the Option in YYYY-MM-DD format.",
            "example": "2020-09-01T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "lastAskDate": {
            "description": "The date of last ask price for the option in YYYY-MM-DD format.",
            "example": "2021-05-05T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "lastBidDate": {
            "description": "The date of last bid price for the option in YYYY-MM-DD format.",
            "example": "2021-05-05T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "lastSettlementDate": {
            "description": "The date of last settlement price for the option in YYYY-MM-DD format.",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "lastTradeDate": {
            "description": "Last Trading Date of the Option in YYYY-MM-DD format.",
            "example": "2021-02-16T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD format.",
            "example": "2021-05-07T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#C00LP",
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#C00LP",
            "type": "string"
          }
        },
        "title": "optionDates",
        "type": "object"
      },
      "optionsPricesRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "currency": {
            "description": "The ISO3 currency control for the requested option identifier. For a list of Currency ISOs, visit - [OA 1470](https://my.apps.factset.com/oa/pages/1470)\n",
            "example": "USD",
            "title": "currency",
            "type": "string"
          },
          "calendar": {
            "$ref": "#/components/schemas/calendar"
          }
        },
        "required": [
          "ids"
        ],
        "title": "optionsPricesRequest",
        "type": "object"
      },
      "optionsPricesResponse": {
        "description": "Options Prices Response",
        "example": {
          "data": [
            {
              "date": "2021-05-05T00:00:00.000+0000",
              "askTime": 155959,
              "priceStrike": 190,
              "priceMidBidAsk": 482.125,
              "price52WeekHigh": 663.6,
              "fsymId": "TSLA.US#C00LP",
              "priceAsk": 492,
              "priceBid": 472.25,
              "priceHigh": 6.027456183070403,
              "quoteType": "Mid Bid/Ask Price",
              "bidTime": 155959,
              "priceLow": 1.4658129805029452,
              "priceUnderlying": 670.94,
              "price": 428.375,
              "requestId": "TSLA.US#C00LP",
              "priceSettlement": 5.962133916683182,
              "priceOpen": 0.8008281904610115,
              "price52WeekLow": 189.3
            },
            {
              "date": "2021-05-05T00:00:00.000+0000",
              "askTime": 155959,
              "priceStrike": 190,
              "priceMidBidAsk": 482.125,
              "price52WeekHigh": 663.6,
              "fsymId": "TSLA.US#C00LP",
              "priceAsk": 492,
              "priceBid": 472.25,
              "priceHigh": 6.027456183070403,
              "quoteType": "Mid Bid/Ask Price",
              "bidTime": 155959,
              "priceLow": 1.4658129805029452,
              "priceUnderlying": 670.94,
              "price": 428.375,
              "requestId": "TSLA.US#C00LP",
              "priceSettlement": 5.962133916683182,
              "priceOpen": 0.8008281904610115,
              "price52WeekLow": 189.3
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/optionsPrices"
            },
            "type": "array"
          }
        },
        "title": "optionsPricesResponse",
        "type": "object"
      },
      "optionsPrices": {
        "description": "The Options prices response object",
        "example": {
          "date": "2021-05-05T00:00:00.000+0000",
          "askTime": 155959,
          "priceStrike": 190,
          "priceMidBidAsk": 482.125,
          "price52WeekHigh": 663.6,
          "fsymId": "TSLA.US#C00LP",
          "priceAsk": 492,
          "priceBid": 472.25,
          "priceHigh": 6.027456183070403,
          "quoteType": "Mid Bid/Ask Price",
          "bidTime": 155959,
          "priceLow": 1.4658129805029452,
          "priceUnderlying": 670.94,
          "price": 428.375,
          "requestId": "TSLA.US#C00LP",
          "priceSettlement": 5.962133916683182,
          "priceOpen": 0.8008281904610115,
          "price52WeekLow": 189.3
        },
        "properties": {
          "askTime": {
            "description": "Returns the Bid time",
            "example": 155959,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "bidTime": {
            "description": "Returns the Last Trade time",
            "example": 155959,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "date": {
            "description": "The date of data in YYYY-MM-DD format",
            "example": "2021-05-05T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#C00LP",
            "nullable": true,
            "type": "string"
          },
          "price52WeekHigh": {
            "description": "52-Week High Price",
            "example": 663.6,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "price52WeekLow": {
            "description": "52-Week Low Price",
            "example": 189.3,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceAsk": {
            "description": "Ask price of the option",
            "example": 492,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceBid": {
            "description": "Bid price of the option",
            "example": 472.25,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceMidBidAsk": {
            "description": "Mid/Bid/Ask price of the option",
            "example": 482.125,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceOpen": {
            "description": "Open price of the option",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceHigh": {
            "description": "High price of the option",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceLow": {
            "description": "Low price of the option",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceSettlement": {
            "description": "Settlement price of the option",
            "nullable": true,
            "type": "number"
          },
          "priceStrike": {
            "description": "The stated price per share for which underlying stock may be purchased (for a call) or sold (for a put) by the option holder upon exercise of the option contract.",
            "example": 190,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "priceUnderlying": {
            "description": "The price of the security that must be delivered when a derivative contract, such as a put or call option, is exercised.",
            "example": 670.94,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "price": {
            "description": "The price of the option based on the `quoteType` calculation. For US Options - Returns \"Ask Price\" if calc status==20, otherwise returns \"Mid Bid/Ask Price\". For International Options - Returns \"Settlement Price\".\n",
            "example": 428.375,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "quoteType": {
            "description": "The calculated quote type, based on the calculated status. This represents the type for `price` field. For US Options - Returns \"Ask Price\" if calc status==20, otherwise returns \"Mid Bid/Ask Price\". For International Options - Returns \"Settlement Price\".\n",
            "example": "Mid Bid/Ask Price",
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#C00LP",
            "type": "string"
          }
        },
        "title": "optionsPrices",
        "type": "object"
      },
      "underlyingVolumeRequest": {
        "description": "Underlying Volume Request Object",
        "properties": {
          "ids": {
            "description": "Underlying Security Identifier of which can be used to return respective options chain. Only **one** security id is permitted per request. \n",
            "example": [
              "TSLA-US"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "title": "underlyingIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "exchange": {
            "$ref": "#/components/schemas/exchange"
          }
        },
        "required": [
          "ids"
        ],
        "title": "underlyingVolumeRequest",
        "type": "object"
      },
      "underlyingVolumeResponse": {
        "description": "Underlying Volume Response Object",
        "example": {
          "data": [
            {
              "date": "2021-05-14T00:00:00.000+0000",
              "putCallRatio": 1.0257621,
              "totalPutOpenInterest": 2824399,
              "totalCallOpenInterest": 2753464,
              "totalPutVolume": 699680,
              "requestId": "TSLA",
              "fsymId": "WWDPYB-S",
              "exchange": "USA",
              "totalCallVolume": 946936,
              "totalPutCallVolume": 1646616,
              "totalPutCallOpenInterest": 5577863
            },
            {
              "date": "2021-05-14T00:00:00.000+0000",
              "putCallRatio": 1.0257621,
              "totalPutOpenInterest": 2824399,
              "totalCallOpenInterest": 2753464,
              "totalPutVolume": 699680,
              "requestId": "TSLA",
              "fsymId": "WWDPYB-S",
              "exchange": "USA",
              "totalCallVolume": 946936,
              "totalPutCallVolume": 1646616,
              "totalPutCallOpenInterest": 5577863
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/underlyingVolume"
            },
            "type": "array"
          }
        },
        "title": "underlyingVolumeResponse",
        "type": "object"
      },
      "underlyingVolume": {
        "description": "Underlying Volume response fields",
        "example": {
          "date": "2021-05-14T00:00:00.000+0000",
          "putCallRatio": 1.0257621,
          "totalPutOpenInterest": 2824399,
          "totalCallOpenInterest": 2753464,
          "totalPutVolume": 699680,
          "requestId": "TSLA",
          "fsymId": "WWDPYB-S",
          "exchange": "USA",
          "totalCallVolume": 946936,
          "totalPutCallVolume": 1646616,
          "totalPutCallOpenInterest": 5577863
        },
        "properties": {
          "date": {
            "description": "The date of data as of the YYYY-MM-DD format.",
            "example": "2021-05-14T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "exchange": {
            "description": "Option Exchange ISO. Visit [OA 14925](https://my.apps.factset.com/oa/pages/14925) for a list of Exchange ISOs.",
            "example": "USA",
            "nullable": true,
            "type": "string"
          },
          "fsymId": {
            "description": "FactSet's Security Permanent Identifier for input security in XXXXXX-S format.",
            "example": "WWDPYB-S",
            "nullable": true,
            "type": "string"
          },
          "putCallRatio": {
            "description": "Put/Call Ratio (Open Interest)",
            "example": 1.0257621,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA",
            "type": "string"
          },
          "totalCallOpenInterest": {
            "description": "Total Call Open Interest",
            "example": 2753464,
            "format": "integer",
            "nullable": true,
            "type": "number"
          },
          "totalCallVolume": {
            "description": "Total Call Volume",
            "example": 946936,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "totalPutCallOpenInterest": {
            "description": "Total Call/Put Open Interest",
            "example": 5577863,
            "format": "integer",
            "nullable": true,
            "type": "number"
          },
          "totalPutCallVolume": {
            "description": "Total Call/Put Volume",
            "example": 1646616,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "totalPutOpenInterest": {
            "description": "Total Put Open Interest",
            "example": 2824399,
            "format": "integer",
            "nullable": true,
            "type": "number"
          },
          "totalPutVolume": {
            "description": "Total Put Volume",
            "example": 699680,
            "format": "double",
            "nullable": true,
            "type": "number"
          }
        },
        "title": "underlyingVolume",
        "type": "object"
      },
      "optionsVolumeRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "exchange": {
            "$ref": "#/components/schemas/exchange"
          },
          "calendar": {
            "$ref": "#/components/schemas/calendar"
          }
        },
        "required": [
          "ids"
        ],
        "title": "optionsVolumeRequest",
        "type": "object"
      },
      "optionsVolumeResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-06T00:00:00.000+0000",
              "volume": 3017,
              "openInterest": 92,
              "requestId": "TSLA.US#PYG8L-USA",
              "fsymId": "TSLA.US#PYG8L",
              "exchange": "USA"
            },
            {
              "date": "2021-05-06T00:00:00.000+0000",
              "volume": 3017,
              "openInterest": 92,
              "requestId": "TSLA.US#PYG8L-USA",
              "fsymId": "TSLA.US#PYG8L",
              "exchange": "USA"
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/optionsVolume"
            },
            "type": "array"
          }
        },
        "title": "optionsVolumeResponse",
        "type": "object"
      },
      "optionsVolume": {
        "description": "Options Volume Response Object",
        "example": {
          "date": "2021-05-06T00:00:00.000+0000",
          "volume": 3017,
          "openInterest": 92,
          "requestId": "TSLA.US#PYG8L-USA",
          "fsymId": "TSLA.US#PYG8L",
          "exchange": "USA"
        },
        "properties": {
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#PYG8L",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "description": "The date of the data in YYYY-MM-DD format",
            "example": "2021-05-06T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "exchange": {
            "description": "Option Exchange ISO. Visit [OA 14925](https://my.apps.factset.com/oa/pages/14925) for a list of Exchange ISOs.",
            "example": "USA",
            "nullable": true,
            "type": "string"
          },
          "openInterest": {
            "description": "The total number of options and/or futures contracts that are not closed or delivered on a particular day.",
            "example": 92,
            "format": "integer",
            "nullable": true,
            "type": "number"
          },
          "volume": {
            "description": "Volume of the option",
            "example": 3017,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#PYG8L-USA",
            "type": "string"
          }
        },
        "title": "optionsVolume",
        "type": "object"
      },
      "impliedVolatilityRequest": {
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "priceType": {
            "$ref": "#/components/schemas/priceType"
          }
        },
        "required": [
          "ids"
        ],
        "type": "object"
      },
      "impliedVolatilityResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "requestId": "TSLA.US#CD33M-USA",
              "fsymId": "TSLA.US#CD33M",
              "impliedVolatility": 61.744664
            },
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "requestId": "TSLA.US#CD33M-USA",
              "fsymId": "TSLA.US#CD33M",
              "impliedVolatility": 61.744664
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/impliedVolatility"
            },
            "type": "array"
          }
        },
        "title": "volatilityResponse",
        "type": "object"
      },
      "impliedVolatility": {
        "description": "Volatility Response fields",
        "example": {
          "date": "2021-05-07T00:00:00.000+0000",
          "requestId": "TSLA.US#CD33M-USA",
          "fsymId": "TSLA.US#CD33M",
          "impliedVolatility": 61.744664
        },
        "properties": {
          "impliedVolatility": {
            "description": "The estimated volatility of a security's price\n* In general, implied volatility increases when the market is bearish and decreases when the market is bullish. This is due to the common belief that bearish markets are more risky than bullish markets.\n\n* In addition to known factors such as market price, interest rate, expiration date, and strike price, implied volatility is used in calculating an option's premium.\n\n* Barone-Adesi model used for American Style options and Black-Scholes model for European Style options.\n",
            "example": 61.744664,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD format.",
            "example": "2021-05-07T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#CD33M",
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#CD33M-USA",
            "type": "string"
          }
        },
        "title": "volatility",
        "type": "object"
      },
      "greeksRequest": {
        "description": "Options greeks request",
        "properties": {
          "ids": {
            "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
            "example": [
              "TSLA.US#CD33M-USA"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "optionIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "priceType": {
            "$ref": "#/components/schemas/priceType"
          },
          "calendar": {
            "$ref": "#/components/schemas/calendar"
          }
        },
        "required": [
          "ids"
        ],
        "title": "greeksRequest",
        "type": "object"
      },
      "greeksResponse": {
        "description": "Greeks Response Object",
        "example": {
          "data": [
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "requestId": "TSLA.US#C00LP",
              "fsymId": "TSLA.US#C00LP",
              "delta": 0.973638814832741,
              "rho": 0.094465131548418,
              "theta": 0.473699140972176,
              "gamma": 0.0000276813921231278,
              "vega": 0.246816993561083
            },
            {
              "date": "2021-05-07T00:00:00.000+0000",
              "requestId": "TSLA.US#C00LP",
              "fsymId": "TSLA.US#C00LP",
              "delta": 0.973638814832741,
              "rho": 0.094465131548418,
              "theta": 0.473699140972176,
              "gamma": 0.0000276813921231278,
              "vega": 0.246816993561083
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/greeks"
            },
            "type": "array"
          }
        },
        "title": "greeksResponse",
        "type": "object"
      },
      "greeks": {
        "description": "Greeks Response fields",
        "example": {
          "date": "2021-05-07T00:00:00.000+0000",
          "requestId": "TSLA.US#C00LP",
          "fsymId": "TSLA.US#C00LP",
          "delta": 0.973638814832741,
          "rho": 0.094465131548418,
          "theta": 0.473699140972176,
          "gamma": 0.0000276813921231278,
          "vega": 0.246816993561083
        },
        "properties": {
          "delta": {
            "description": "The delta value of the option. Refer to the `greeks` endpoint description for more details",
            "example": 0.973638814832741,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "fsymId": {
            "description": "FactSet's Option Symbol. For more detail, visit [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)",
            "example": "TSLA.US#C00LP",
            "nullable": true,
            "type": "string"
          },
          "gamma": {
            "description": "The gamma value of the option. Refer to the `greeks` endpoint description for more details",
            "example": 0.0000276813921231278,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA.US#C00LP",
            "type": "string"
          },
          "rho": {
            "description": "The rho value of the option. Refer to the `greeks` endpoint description for more details",
            "example": 0.094465131548418,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "theta": {
            "description": "The theta value of the option. Refer to the `greeks` endpoint description for more details",
            "example": 0.473699140972176,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "vega": {
            "description": "The vega value of the option. Refer to the `greeks` endpoint description for more details",
            "example": 0.246816993561083,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "date": {
            "description": "The date the data is as of in YYYY-MM-DD format.",
            "example": "2021-05-07T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          }
        },
        "title": "Greeks",
        "type": "object"
      },
      "atmImpliedVolatilityRequest": {
        "description": "At-the-Money Implied Volatility Request Object",
        "properties": {
          "ids": {
            "description": "Underlying Security Identifier of which can be used to return respective options chain. Only **one** security id is permitted per request. \n",
            "example": [
              "TSLA-US"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "title": "underlyingIds",
            "type": "array"
          },
          "startDate": {
            "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-09T00:00:00.000Z",
            "title": "startDate",
            "type": "string"
          },
          "endDate": {
            "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
            "example": "2021-05-03T00:00:00.000Z",
            "title": "endDate",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/frequency"
          },
          "exchange": {
            "$ref": "#/components/schemas/exchange"
          },
          "period": {
            "default": 0,
            "description": "The period for the options to calculate at the money volatility. Below are the available periods - \n* No Limit - (0)\n* One Month - (1)\n* Two Months - (2)\n* Three Months - (3)\n* Four Months - (4)\n* Five Months - (5)\n* Six Months - (6)",
            "maximum": 6,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "ids"
        ],
        "title": "atmImpliedVolatilityRequest",
        "type": "object"
      },
      "atmImpliedVolatilityResponse": {
        "example": {
          "data": [
            {
              "date": "2021-05-14T00:00:00.000+0000",
              "period": "1",
              "aTMImplVolMarket": 58.579093,
              "putATMImplVol": 58.015339,
              "requestId": "TSLA",
              "callATMImplVol": 58.015339,
              "callATMImplVolMarket": 58.791874,
              "fsymId": "WWDPYB-S",
              "exchange": "USA",
              "putATMImplVolMarket": 58.810684,
              "aTMImplVol": 58.015339
            },
            {
              "date": "2021-05-14T00:00:00.000+0000",
              "period": "1",
              "aTMImplVolMarket": 58.579093,
              "putATMImplVol": 58.015339,
              "requestId": "TSLA",
              "callATMImplVol": 58.015339,
              "callATMImplVolMarket": 58.791874,
              "fsymId": "WWDPYB-S",
              "exchange": "USA",
              "putATMImplVolMarket": 58.810684,
              "aTMImplVol": 58.015339
            }
          ]
        },
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/atmImpliedVolatility"
            },
            "type": "array"
          }
        },
        "title": "atmImpliedVolatilityResponse",
        "type": "object"
      },
      "atmImpliedVolatility": {
        "description": "At-the-money implied volatility response fields",
        "example": {
          "date": "2021-05-14T00:00:00.000+0000",
          "period": "1",
          "aTMImplVolMarket": 58.579093,
          "putATMImplVol": 58.015339,
          "requestId": "TSLA",
          "callATMImplVol": 58.015339,
          "callATMImplVolMarket": 58.791874,
          "fsymId": "WWDPYB-S",
          "exchange": "USA",
          "putATMImplVolMarket": 58.810684,
          "aTMImplVol": 58.015339
        },
        "properties": {
          "aTMImplVol": {
            "description": "Option at the money implied volatility.",
            "example": 58.015339,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "aTMImplVolMarket": {
            "description": "Option at the money implied volatility market.",
            "example": 58.579093,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "callATMImplVol": {
            "description": "Call option at the money implied volatility.",
            "example": 58.015339,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "callATMImplVolMarket": {
            "description": "Call option at the money implied volatility market.",
            "example": 58.791874,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "date": {
            "description": "The date of the data represented in YYYY-MM-DD format",
            "example": "2021-05-14T00:00:00.000Z",
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "exchange": {
            "description": "Option Exchange ISO. Visit [OA 14925](https://my.apps.factset.com/oa/pages/14925) for a list of Exchange ISOs.",
            "example": "USA",
            "nullable": true,
            "type": "string"
          },
          "fsymId": {
            "description": "FactSet's Security Permanent Identifier in XXXXXX-S format.",
            "example": "WWDPYB-S",
            "nullable": true,
            "type": "string"
          },
          "period": {
            "description": "The period of the At-the-money volatility at current, 1, 2, 3, 4, and 6 month periods.",
            "example": "1",
            "nullable": true,
            "type": "string"
          },
          "putATMImplVol": {
            "description": "Put Option at the money implied volatility.",
            "example": 58.015339,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "putATMImplVolMarket": {
            "description": "Put Option at the money implied volatility market.",
            "example": 58.810684,
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "requestId": {
            "description": "The requested identifier submitted in the query.",
            "example": "TSLA",
            "type": "string"
          }
        },
        "title": "atmImpliedVolatility",
        "type": "object"
      },
      "underlyingIds": {
        "description": "Underlying Security Identifier of which can be used to return respective options chain. Only **one** security id is permitted per request. \n",
        "example": [
          "TSLA-US"
        ],
        "items": {
          "type": "string"
        },
        "maxItems": 1,
        "minItems": 1,
        "title": "underlyingIds",
        "type": "array"
      },
      "optionIds": {
        "description": "Option Security Identifier. For more details visit [OA 12636 - Options Identifiers](https://my.apps.factset.com/oa/pages/12636#options)\n",
        "example": [
          "TSLA.US#CD33M-USA"
        ],
        "items": {
          "type": "string"
        },
        "maxItems": 1000,
        "minItems": 1,
        "title": "optionIds",
        "type": "array"
      },
      "exchangeScreeningId": {
        "default": "USA_OPTS",
        "description": "Controls the Option Universe Screen By Exchange. Screening across all Exchanges is not currently supported.\n|Exchange ISO|Exchange Name|Option Types Covered|Price Type Used in Greeks|\n|---|---|---|---|\n|ALLUSA_OPTS|U.S. Exchange (Composite) - All Historical Options|Equity, Index|Mid Bid/Ask|\n|USA_OPTS|U.S. Exchange (Composite) - Latest 1 Year|Equity, Index|Mid Bid/Ask|\n",
        "enum": [
          "ALLUSA_OPTS",
          "USA_OPTS"
        ],
        "example": "USA_OPTS",
        "maxItems": 1,
        "minItems": 1,
        "title": "exchangeScreeningId",
        "type": "string"
      },
      "startDate": {
        "description": "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
        "example": "2021-05-09T00:00:00.000Z",
        "title": "startDate",
        "type": "string"
      },
      "endDate": {
        "description": "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
        "example": "2021-05-03T00:00:00.000Z",
        "title": "endDate",
        "type": "string"
      },
      "chainsDate": {
        "description": "The as of date for the option chain in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.",
        "example": "2021-05-03T00:00:00.000Z",
        "title": "chainsDate",
        "type": "string"
      },
      "frequency": {
        "default": "D",
        "description": "Controls the display frequency of the data returned.\n  * **D** = Daily\n  * **W** = Weekly, based on the last day of the week of the start date.\n  * **M** = Monthly, based on the last trading day of the month.\n  * **AM** = Monthly, based on the start date (e.g., if the start date is June 16, data is displayed for June 16, May 16, April 16 etc.).\n  * **CQ** = Quarterly based on the last trading day of the calendar quarter (March, June, September, or December).\n  * **FQ** = Fiscal Quarter of the company.\n  * **AY** = Actual Annual, based on the start date.\n  * **CY** = Calendar Annual, based on the last trading day of the calendar year.\n  * **FY** = Fiscal Annual, based on the last trading day of the company's fiscal year.",
        "enum": [
          "D",
          "W",
          "M",
          "AM",
          "CQ",
          "FQ",
          "AY",
          "CY",
          "FY"
        ],
        "example": "D",
        "title": "frequency",
        "type": "string"
      },
      "idType": {
        "default": "FOS",
        "description": "Controls the type of option id or symbol returned in response of the Option Chain. For more details visit - [OA 12636](https://my.apps.factset.com/oa/pages/12636#options)\n  |idType|Type Name|Description|\n  |---|---|---|\n  |FOS|FactSet Option Symbology|This option symbol is a unique FactSet-generated symbol with the following syntax - (Underlying Symbol + . + Region + # + Call/Put Indicator + Four Alphanumeric Characters + - + ISO)|\n  |OCC21|Options Clearing Corporation OSI Series Key|This option symbol has up to 21 alphanumeric characters (excluding -ISO and # sign) and uses the following syntax- (Underlying Symbol + # + Expiration Year + Expiration Month + Expiration Day + Call/Put Indicator + Five-Digit Strike Dollar + Three-Digit Strike Decimal + - + ISO)|\n  |OPRA17|Options Price Reporting Authority's OSI Series Key|This option symbol has up to 17 alphanumeric characters (excluding the -ISO and #) and uses the following syntax - (Underlying Symbol + # + Call/Put Expiration Month Code + Expiration Day + Expiration Year + Decimal Indicator + Strike Price + - + ISO)|",
        "enum": [
          "FOS",
          "OPRA17",
          "OCC21"
        ],
        "example": "FOS",
        "title": "idType",
        "type": "string"
      },
      "currency": {
        "description": "The ISO3 currency control for the requested option identifier. For a list of Currency ISOs, visit - [OA 1470](https://my.apps.factset.com/oa/pages/1470)\n",
        "example": "USD",
        "title": "currency",
        "type": "string"
      },
      "calendar": {
        "default": "FIVEDAY",
        "description": "Calendar of data returned. SEVENDAY includes weekends. LOCAL calendar will default to the securities' trading calendar which excludes date records for respective holiday periods.",
        "enum": [
          "FIVEDAY",
          "SEVENDAY",
          "LOCAL"
        ],
        "example": "FIVEDAY",
        "type": "string"
      },
      "exchange": {
        "default": "USA",
        "description": "Controls the display of data returned based on the exchange for the specified Options Identifier.\n|Exchange ISO|Exchange Name|Option Types Covered|Price Type Used in Greeks|\n|---|---|---|---|\n|USA|U.S. Exchange (Composite)|Equity, Index|Mid Bid/Ask|\n\n  *Currently only OPRA Exchange is supported with exchange ISO \"USA\"*\n",
        "enum": [
          "USA"
        ],
        "example": "USA",
        "title": "exchange",
        "type": "string"
      },
      "priceType": {
        "default": "",
        "description": "Controls the price type of the specified option identifier.\n* ASK\n* BID\n* MID\n* CLOSE\n* SETTLE\n",
        "enum": [
          "ASK",
          "BID",
          "MID",
          "CLOSE",
          "SETTLE",
          ""
        ],
        "example": "CLOSE",
        "title": "priceType",
        "type": "string"
      },
      "period": {
        "default": 0,
        "description": "The period for the options to calculate at the money volatility. Below are the available periods - \n* No Limit - (0)\n* One Month - (1)\n* Two Months - (2)\n* Three Months - (3)\n* Four Months - (4)\n* Five Months - (5)\n* Six Months - (6)",
        "maximum": 6,
        "minimum": 0,
        "type": "integer"
      },
      "errorResponse": {
        "properties": {
          "status": {
            "description": "status",
            "example": "Bad Request",
            "type": "string"
          },
          "timestamp": {
            "description": "timestamp in YYYY-MM-DD HH:MM:SS.SSS",
            "format": "date-time",
            "type": "string"
          },
          "path": {
            "description": "The Endpoint path {package}/version/{endpoint}",
            "example": "/factset-funds/v1/superRegion",
            "type": "string"
          },
          "message": {
            "description": "The plain text error message",
            "example": "Validation Error",
            "type": "string"
          },
          "subErrors": {
            "$ref": "#/components/schemas/errorResponse_subErrors"
          }
        },
        "title": "Error Response",
        "type": "object"
      },
      "errorResponse_subErrors": {
        "description": "subErrors related to the error message. Null if not applicable.",
        "properties": {
          "object": {
            "description": "the operation ID",
            "type": "string"
          },
          "field": {
            "description": "Parameter Field Name",
            "type": "string"
          },
          "message": {
            "description": "Error message",
            "type": "string"
          },
          "rejectedValue": {
            "description": "Rejected Values in an Array",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "FactSetOAuth2": {
        "flows": {
          "clientCredentials": {
            "scopes": {},
            "tokenUrl": "https://auth.factset.com/as/token.oauth2"
          }
        },
        "type": "oauth2"
      },
      "FactSetApiKey": {
        "scheme": "basic",
        "type": "http"
      }
    }
  }
}