{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "email": "analytics.api.support@factset.com",
      "name": "Analytics API Support",
      "url": "https://developer.factset.com/contact"
    },
    "description": "Allow clients to fetch Publisher Analytics through APIs.",
    "license": {
      "name": "Apache License 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.txt"
    },
    "title": "Publisher API",
    "version": "2"
  },
  "servers": [
    {
      "url": "https://api-sandbox.factset.com"
    }
  ],
  "security": [
    {
      "FactSetApiKey": []
    },
    {
      "FactSetOAuth2": []
    }
  ],
  "paths": {
    "/analytics/lookups/v2/accounts/{path}": {
      "get": {
        "description": "This endpoint looks up all ACCT and ACTM files and sub-directories in a given directory.",
        "operationId": "getAccounts",
        "parameters": [
          {
            "description": "The directory to get the accounts and sub-directories in",
            "explode": false,
            "in": "path",
            "name": "path",
            "required": true,
            "schema": {
              "default": "Client:Foo/Bar",
              "description": "The directory to get the accounts and sub-directories in",
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDirectories"
                }
              }
            },
            "description": "Expected response, returns a list of accounts and directories",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "400": {
            "description": "Invalid query parameter or value provided",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "404": {
            "description": "Path not found",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "406": {
            "description": "Unsupported Accept header.  Header needs to be set to application/json",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in some time",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Get accounts and sub-directories in a directory",
        "tags": [
          "Accounts"
        ],
        "x-accepts": "application/json"
      }
    },
    "/analytics/engines/v2/calculations": {
      "get": {
        "description": "This endpoints returns all active calculation requests.",
        "operationId": "getCalculationStatusSummaries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "$ref": "#/components/schemas/CalculationStatusSummary"
                  },
                  "type": "object"
                }
              }
            },
            "description": "List of active calculation requests.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "406": {
            "description": "Unsupported Accept header. Header needs to be set to application/json.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in sometime.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Get all calculation statuses",
        "tags": [
          "Calculations"
        ],
        "x-accepts": "application/json"
      },
      "post": {
        "description": "This endpoint creates a new calculation and runs the set of calculation units specified in the POST body.\r\nThis must be used first before get status or cancelling endpoints with a calculation id. \r\nA successful response will contain the URL to check the status of the calculation request.\r\n\r\nRemarks:\r\n*\tMaximum 500 units allowed across all simultaneous calculations. (Refer API documentation for more information)\r\n            \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the PA/SPAR/Vault template.",
        "operationId": "runCalculation",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "pub": {
                  "7": {
                    "document": "Client:publisher/Equity Snapshot.PUB_BRIDGE_PDF",
                    "account": {
                      "id": "BENCH:SP50",
                      "holdingsmode": "B&H"
                    },
                    "dates": {
                      "startdate": "-1M",
                      "enddate": "0M"
                    }
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/Calculation"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Expected response, contains the URL in the Location header to check the status of the calculation.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "400": {
            "description": "Invalid POST body.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "415": {
            "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish / expire.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in sometime.",
            "headers": {
              "Location": {
                "description": "URL to check status of the request.",
                "explode": false,
                "schema": {
                  "description": "URL to check status of the request.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Limit": {
                "description": "Maximum points limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum points limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Points-Remaining": {
                "description": "Number of points remaining till points limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of points remaining till points limit reached.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Limit": {
                "description": "Maximum units limit across all batches.",
                "explode": false,
                "schema": {
                  "description": "Maximum units limit across all batches.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Units-Remaining": {
                "description": "Number of units remaining till units limit reached.",
                "explode": false,
                "schema": {
                  "description": "Number of units remaining till units limit reached.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Run calculation",
        "tags": [
          "Calculations"
        ],
        "x-contentType": "application/json",
        "x-accepts": "application/json"
      }
    },
    "/analytics/engines/v2/calculations/{id}": {
      "delete": {
        "description": "This is the endpoint to cancel a previously submitted calculation request.\r\nInstead of doing a GET on the getCalculationById URL, cancel the calculation by doing a DELETE.\r\nAll individual calculation units within the calculation will be canceled if they have not already finished.",
        "operationId": "cancelCalculationById",
        "parameters": [
          {
            "description": "From url, provided from the location header in the Run Multiple Calculations endpoint.",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "From url, provided from the location header in the Run Multiple Calculations endpoint.",
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Expected response, request was cancelled successfully.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "400": {
            "description": "Invalid identifier provided.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "404": {
            "description": "There was no request for the identifier provided, or the request was already canceled for the provided identifier.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in sometime.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Cancel calculation by id",
        "tags": [
          "Calculations"
        ],
        "x-accepts": "application/json"
      },
      "get": {
        "description": "This is the endpoint to check on the progress of a previous calculation request.\r\nResponse body contains status information of the entire request and each individual calculation unit.",
        "operationId": "getCalculationStatusById",
        "parameters": [
          {
            "description": "From url, provided from the location header in the Run Multiple Calculations endpoint.",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "From url, provided from the location header in the Run Multiple Calculations endpoint.",
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalculationStatus"
                }
              }
            },
            "description": "Expected response, returns status information of the entire calculation and each individual calculation unit.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "400": {
            "description": "Invalid identifier provided.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "404": {
            "description": "Provided identifier was not a request, or the request was cancelled.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "406": {
            "description": "Unsupported Accept header. Header needs to be set to application/json.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in sometime.",
            "headers": {
              "Cache-Control": {
                "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                "explode": false,
                "schema": {
                  "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.",
                  "type": "integer"
                },
                "style": "simple"
              },
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Get calculation status by id",
        "tags": [
          "Calculations"
        ],
        "x-accepts": "application/json"
      }
    },
    "/analytics/lookups/v2/engines/pub/documents/{path}": {
      "get": {
        "description": "This endpoint looks up all Publisher documents and sub-directories in a given directory.",
        "operationId": "getPubDocuments",
        "parameters": [
          {
            "description": "The directory to get the documents in",
            "explode": false,
            "in": "path",
            "name": "path",
            "required": true,
            "schema": {
              "default": "Client:folder1/folder2",
              "description": "The directory to get the documents in",
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDirectories"
                }
              }
            },
            "description": "Expected response, returns a list of Publisher documents and directories",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "400": {
            "description": "Invalid query parameter or value provided",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "403": {
            "description": "User is forbidden with current credentials",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "404": {
            "description": "Path not found",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "406": {
            "description": "Unsupported Accept header.  Header needs to be set to application/json",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Limit": {
                "description": "Number of allowed requests for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Remaining": {
                "description": "Number of requests left for the time window.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              },
              "X-RateLimit-Reset": {
                "description": "Number of seconds remaining till rate limit resets.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "429": {
            "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              },
              "Retry-After": {
                "description": "Time to wait in seconds before making a new request as the rate limit has reached.",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "500": {
            "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          },
          "503": {
            "description": "Request timed out. Retry the request in some time",
            "headers": {
              "X-DataDirect-Request-Key": {
                "description": "FactSet's request key header.",
                "explode": false,
                "schema": {
                  "description": "FactSet's request key header.",
                  "type": "string"
                },
                "style": "simple"
              },
              "X-FactSet-Api-Request-Key": {
                "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                "explode": false,
                "schema": {
                  "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.",
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "summary": "Gets Publisher documents and sub-directories in a directory",
        "tags": [
          "Documents"
        ],
        "x-accepts": "application/json"
      }
    }
  },
  "components": {
    "schemas": {
      "AccountDirectories": {
        "example": {
          "directories": [
            "directories",
            "directories"
          ],
          "accounts": [
            "accounts",
            "accounts"
          ]
        },
        "properties": {
          "accounts": {
            "description": "List of account and composite files.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "directories": {
            "description": "List of directories.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PAIdentifier": {
        "example": {
          "id": "id",
          "holdingsmode": "holdingsmode"
        },
        "properties": {
          "id": {
            "description": "User's FactSet account path OR benchmark.",
            "type": "string"
          },
          "holdingsmode": {
            "description": "Holdings Mode can be B&H, TBR or OMS.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "PADateParameters": {
        "description": "The date parameters for PA calculation.",
        "example": {
          "enddate": "enddate",
          "startdate": "startdate",
          "frequency": "frequency"
        },
        "properties": {
          "startdate": {
            "description": "Calculation's start date.",
            "type": "string"
          },
          "enddate": {
            "description": "Calculation's end date.",
            "type": "string"
          },
          "frequency": {
            "description": "Calculation's frequency.",
            "type": "string"
          }
        },
        "required": [
          "enddate",
          "frequency"
        ],
        "type": "object"
      },
      "PACalculationGroup": {
        "example": {
          "id": "id"
        },
        "properties": {
          "id": {
            "description": "FactSet-defined or User-defined Group identifier.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PACalculationColumn": {
        "example": {
          "id": "id",
          "statistics": [
            "statistics",
            "statistics"
          ]
        },
        "properties": {
          "id": {
            "description": "FactSet-defined or User-defined Column identifier.",
            "type": "string"
          },
          "statistics": {
            "description": "Column Statistic identifier",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PACalculationParameters": {
        "example": {
          "currencyisocode": "currencyisocode",
          "componentdetail": "componentdetail",
          "componentid": "componentid",
          "columns": [
            {
              "id": "id",
              "statistics": [
                "statistics",
                "statistics"
              ]
            },
            {
              "id": "id",
              "statistics": [
                "statistics",
                "statistics"
              ]
            }
          ],
          "groups": [
            {
              "id": "id"
            },
            {
              "id": "id"
            }
          ],
          "dates": {
            "enddate": "enddate",
            "startdate": "startdate",
            "frequency": "frequency"
          },
          "accounts": [
            {
              "id": "id",
              "holdingsmode": "holdingsmode"
            },
            {
              "id": "id",
              "holdingsmode": "holdingsmode"
            }
          ],
          "benchmarks": [
            {
              "id": "id",
              "holdingsmode": "holdingsmode"
            },
            {
              "id": "id",
              "holdingsmode": "holdingsmode"
            }
          ]
        },
        "properties": {
          "componentid": {
            "description": "The PA Engine component identifier to analyze.",
            "type": "string"
          },
          "accounts": {
            "description": "List of accounts.",
            "items": {
              "$ref": "#/components/schemas/PAIdentifier"
            },
            "type": "array"
          },
          "benchmarks": {
            "description": "List of benchmarks.",
            "items": {
              "$ref": "#/components/schemas/PAIdentifier"
            },
            "type": "array"
          },
          "dates": {
            "$ref": "#/components/schemas/PADateParameters"
          },
          "groups": {
            "description": "List of groupings for the PA calculation. This will take precedence over the groupings saved in the PA document.",
            "items": {
              "$ref": "#/components/schemas/PACalculationGroup"
            },
            "type": "array"
          },
          "currencyisocode": {
            "description": "Currency ISO code for calculation.",
            "type": "string"
          },
          "columns": {
            "description": "List of columns for the PA calculation. This will take precedence over the columns saved in the PA document.",
            "items": {
              "$ref": "#/components/schemas/PACalculationColumn"
            },
            "type": "array"
          },
          "componentdetail": {
            "description": "Component detail type for the PA component. It can be GROUPS or TOTALS.",
            "type": "string"
          }
        },
        "required": [
          "componentid"
        ],
        "type": "object"
      },
      "SPARIdentifier": {
        "description": "The account/benchmark parameter for SPAR calculation.",
        "example": {
          "prefix": "prefix",
          "returntype": "returntype",
          "id": "id"
        },
        "properties": {
          "id": {
            "description": "User's FactSet account OR benchmark id.",
            "type": "string"
          },
          "returntype": {
            "description": "Benchmark return type.",
            "type": "string"
          },
          "prefix": {
            "description": "Benchmark prefix.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "SPARDateParameters": {
        "description": "The date parameters for SPAR calculation.",
        "example": {
          "enddate": "enddate",
          "startdate": "startdate",
          "frequency": "frequency"
        },
        "properties": {
          "startdate": {
            "description": "Calculation's start date.",
            "type": "string"
          },
          "enddate": {
            "description": "Calculation's end date.",
            "type": "string"
          },
          "frequency": {
            "description": "Calculation's frequency.",
            "type": "string"
          }
        },
        "required": [
          "enddate",
          "frequency",
          "startdate"
        ],
        "type": "object"
      },
      "SPARCalculationParameters": {
        "example": {
          "componentid": "componentid",
          "dates": {
            "enddate": "enddate",
            "startdate": "startdate",
            "frequency": "frequency"
          },
          "accounts": [
            {
              "prefix": "prefix",
              "returntype": "returntype",
              "id": "id"
            },
            {
              "prefix": "prefix",
              "returntype": "returntype",
              "id": "id"
            }
          ],
          "benchmark": {
            "prefix": "prefix",
            "returntype": "returntype",
            "id": "id"
          }
        },
        "properties": {
          "componentid": {
            "description": "The SPAR Engine component identifier to analyze.",
            "type": "string"
          },
          "accounts": {
            "description": "List of accounts for SPAR calculation.",
            "items": {
              "$ref": "#/components/schemas/SPARIdentifier"
            },
            "type": "array"
          },
          "benchmark": {
            "$ref": "#/components/schemas/SPARIdentifier"
          },
          "dates": {
            "$ref": "#/components/schemas/SPARDateParameters"
          }
        },
        "required": [
          "componentid"
        ],
        "type": "object"
      },
      "VaultIdentifier": {
        "description": "The account/benchmark parameter for Vault calculation.",
        "example": {
          "id": "id"
        },
        "properties": {
          "id": {
            "description": "User's FactSet account path OR benchmark.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "VaultDateParameters": {
        "description": "The date parameters for Vault calculation",
        "example": {
          "enddate": "enddate",
          "startdate": "startdate",
          "frequency": "frequency"
        },
        "properties": {
          "startdate": {
            "description": "Calculation's start date.",
            "type": "string"
          },
          "enddate": {
            "description": "Calculation's end date.",
            "type": "string"
          },
          "frequency": {
            "description": "Calculation's frequency.",
            "type": "string"
          }
        },
        "required": [
          "enddate",
          "frequency"
        ],
        "type": "object"
      },
      "VaultCalculationParameters": {
        "example": {
          "componentdetail": "componentdetail",
          "componentid": "componentid",
          "configid": "configid",
          "dates": {
            "enddate": "enddate",
            "startdate": "startdate",
            "frequency": "frequency"
          },
          "account": {
            "id": "id"
          }
        },
        "properties": {
          "componentid": {
            "description": "The Vault component identifier to analyze.",
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/VaultIdentifier"
          },
          "dates": {
            "$ref": "#/components/schemas/VaultDateParameters"
          },
          "configid": {
            "description": "Vault Configuration identifier.",
            "type": "string"
          },
          "componentdetail": {
            "description": "Component detail type for the Vault component. It can be GROUPS or TOTALS.",
            "type": "string"
          }
        },
        "required": [
          "account",
          "componentid",
          "configid"
        ],
        "type": "object"
      },
      "PubIdentifier": {
        "example": {
          "id": "id",
          "holdingsmode": "holdingsmode"
        },
        "properties": {
          "id": {
            "description": "User's FactSet account path OR benchmark.",
            "type": "string"
          },
          "holdingsmode": {
            "description": "Holdings Mode can be B&H, TBR or OMS.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "PubDateParameters": {
        "description": "The date parameters for Publisher calculation.",
        "example": {
          "enddate": "enddate",
          "startdate": "startdate"
        },
        "properties": {
          "startdate": {
            "description": "Calculation's start date.",
            "type": "string"
          },
          "enddate": {
            "description": "Calculation's end date or as of date.",
            "type": "string"
          }
        },
        "required": [
          "enddate"
        ],
        "type": "object"
      },
      "PubCalculationParameters": {
        "example": {
          "document": "document",
          "dates": {
            "enddate": "enddate",
            "startdate": "startdate"
          },
          "account": {
            "id": "id",
            "holdingsmode": "holdingsmode"
          }
        },
        "properties": {
          "document": {
            "description": "The Publisher Engine document to analyze.",
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/PubIdentifier"
          },
          "dates": {
            "$ref": "#/components/schemas/PubDateParameters"
          }
        },
        "required": [
          "account",
          "dates",
          "document"
        ],
        "type": "object"
      },
      "Calculation": {
        "example": {
          "pa": {
            "key": {
              "currencyisocode": "currencyisocode",
              "componentdetail": "componentdetail",
              "componentid": "componentid",
              "columns": [
                {
                  "id": "id",
                  "statistics": [
                    "statistics",
                    "statistics"
                  ]
                },
                {
                  "id": "id",
                  "statistics": [
                    "statistics",
                    "statistics"
                  ]
                }
              ],
              "groups": [
                {
                  "id": "id"
                },
                {
                  "id": "id"
                }
              ],
              "dates": {
                "enddate": "enddate",
                "startdate": "startdate",
                "frequency": "frequency"
              },
              "accounts": [
                {
                  "id": "id",
                  "holdingsmode": "holdingsmode"
                },
                {
                  "id": "id",
                  "holdingsmode": "holdingsmode"
                }
              ],
              "benchmarks": [
                {
                  "id": "id",
                  "holdingsmode": "holdingsmode"
                },
                {
                  "id": "id",
                  "holdingsmode": "holdingsmode"
                }
              ]
            }
          },
          "spar": {
            "key": {
              "componentid": "componentid",
              "dates": {
                "enddate": "enddate",
                "startdate": "startdate",
                "frequency": "frequency"
              },
              "accounts": [
                {
                  "prefix": "prefix",
                  "returntype": "returntype",
                  "id": "id"
                },
                {
                  "prefix": "prefix",
                  "returntype": "returntype",
                  "id": "id"
                }
              ],
              "benchmark": {
                "prefix": "prefix",
                "returntype": "returntype",
                "id": "id"
              }
            }
          },
          "pub": {
            "key": {
              "document": "document",
              "dates": {
                "enddate": "enddate",
                "startdate": "startdate"
              },
              "account": {
                "id": "id",
                "holdingsmode": "holdingsmode"
              }
            }
          },
          "vault": {
            "key": {
              "componentdetail": "componentdetail",
              "componentid": "componentid",
              "configid": "configid",
              "dates": {
                "enddate": "enddate",
                "startdate": "startdate",
                "frequency": "frequency"
              },
              "account": {
                "id": "id"
              }
            }
          }
        },
        "properties": {
          "pa": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PACalculationParameters"
            },
            "description": "List of PA calculation parameters.",
            "type": "object"
          },
          "spar": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SPARCalculationParameters"
            },
            "description": "List of SPAR calculation parameters.",
            "type": "object"
          },
          "vault": {
            "additionalProperties": {
              "$ref": "#/components/schemas/VaultCalculationParameters"
            },
            "description": "List of Vault calculation parameters.",
            "type": "object"
          },
          "pub": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PubCalculationParameters"
            },
            "description": "List of Publisher calculation parameters.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "CalculationStatusSummary": {
        "properties": {
          "status": {
            "description": "The status of the calculation.",
            "enum": [
              "Queued",
              "Executing",
              "Completed",
              "Cancelled"
            ],
            "type": "string"
          },
          "units": {
            "description": "Number of calculation units in batch.",
            "format": "int32",
            "type": "integer"
          },
          "requestTime": {
            "description": "Request time of calculation.",
            "format": "date-time",
            "type": "string"
          },
          "lastPollTime": {
            "description": "Last poll time of calculation.",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CalculationUnitStatus": {
        "example": {
          "result": "result",
          "error": "error",
          "status": "Queued"
        },
        "properties": {
          "status": {
            "description": "The status of calculation unit.",
            "enum": [
              "Queued",
              "Executing",
              "Success",
              "Failed",
              "Cancelled"
            ],
            "type": "string"
          },
          "error": {
            "description": "The error in a calculation unit.",
            "type": "string"
          },
          "result": {
            "description": "The result URL of the calculation.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CalculationStatus": {
        "example": {
          "pa": {
            "key": {
              "result": "result",
              "error": "error",
              "status": "Queued"
            }
          },
          "units": 0,
          "spar": {
            "key": {
              "result": "result",
              "error": "error",
              "status": "Queued"
            }
          },
          "pub": {
            "key": {
              "result": "result",
              "error": "error",
              "status": "Queued"
            }
          },
          "vault": {
            "key": {
              "result": "result",
              "error": "error",
              "status": "Queued"
            }
          },
          "status": "Queued"
        },
        "properties": {
          "status": {
            "enum": [
              "Queued",
              "Executing",
              "Completed",
              "Cancelled"
            ],
            "type": "string"
          },
          "units": {
            "description": "Number of calculation units in batch.",
            "format": "int32",
            "type": "integer"
          },
          "pa": {
            "additionalProperties": {
              "$ref": "#/components/schemas/CalculationUnitStatus"
            },
            "description": "List of statuses for PA calculation units.",
            "type": "object"
          },
          "spar": {
            "additionalProperties": {
              "$ref": "#/components/schemas/CalculationUnitStatus"
            },
            "description": "List of statuses for SPAR calculation units.",
            "type": "object"
          },
          "vault": {
            "additionalProperties": {
              "$ref": "#/components/schemas/CalculationUnitStatus"
            },
            "description": "List of statuses for Vault calculation units.",
            "type": "object"
          },
          "pub": {
            "additionalProperties": {
              "$ref": "#/components/schemas/CalculationUnitStatus"
            },
            "description": "List of statuses for Publisher calculation units.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "DocumentDirectories": {
        "example": {
          "documents": [
            "documents",
            "documents"
          ],
          "directories": [
            "directories",
            "directories"
          ]
        },
        "properties": {
          "documents": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "directories": {
            "description": "List of directories.",
            "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"
      }
    }
  }
}